wi-fi

Konfguracja prostego access pointa w Debianie

Instalacja prostego access pointa – karta wi-fi pci atheros (Debian)

Przygotowanie do konfiguracji.

W pierwszej kolejności należy włożyć kartę wi-fi do komputera i zobaczyć czy nasza karta została poprawnie zidentyfikowana przez system Linux. Po uruchomieniu komputera dla pewności, że mamy aktualną bazę urządzeń PCI możemy najpierw wykonać polecenie update-pciids. Po uruchomieniu systemu wydajemy polecenie:

lspci

Jeśli karta jest wykryta to powinniśmy widzieć linię opisującą nasze urządzenie wi-fi:

04:0a.0 Ethernet controller: Atheros Communications Inc. AR2413 802.11bg NIC (rev 01)

Następnie powinniśmy zainstalować kilka pakietów, które będą niezbędne do skonfigurowania dostępu. Są to pakiety dhcp3-server, hostapd, wpasupplicant. Do zainstalowania będzie jeszcze pakiet madwifi do ściągnięcia ze strony projektu na sourceforge. Bezpośredni link do najnowszej wersji pakietu: MadWifi v0.9.4

Pakiety binarne w Debianie instalujemy poleceniem:

aptitude install dhcp3-server hostapd

Przy instalacji dhcp3-server zostaniemy poproszeni o podanie nazwy interfejsu na którym ma nasłuchiwać serwer DHCP. Na razie możemy nic nie wpisywać.

Madwifi ze źródeł instalujemy trochę inaczej. Najpierw będziemy potrzebować nagłówków jądra Linux aby skompilować moduły madwifi. Przy zainstalowanym jądrze ze źródeł będziemy wiedzieli co robić, natomiast jeśli używamy firmowego jądra (zainstalowanego z systemem) to należy zainstalować pakiet z nagłówkami. Sprawdzamy wersję jądra i wynik podstawiamy do następnego polecenia:

uname -r

Wynik:

2.6.18-4-amd64

Wykonujemy polecenie instalacji nagłówków:

aptitude install linux-headers-2.6.18-4-amd64

lub wszystko za jednym razem:

aptitude install linux-headers-`uname -r`

Ściągamy i instalujemy madwifi:
wget http://heanet.dl.sourceforge.net/sourceforge/madwifi/madwifi-0.9.4.tar.gz
tar xf madwifi-0.9.4.tar.gz
cd madwifi-0.9.4
make
make install

Konfiguracja access pointa.

Zaczynamy konfigurację od skonfigurowania interfejsu. Otwieramy plik /etc/network/interfaces:

editor /etc/network/interfaces

i wstawiamy do niego następującą zawartość:

auto ath0
iface ath0 inet static
        pre-up /usr/local/bin/wlanconfig ath0 destroy
        pre-up /usr/local/bin/wlanconfig ath0 create wlandev wifi0 wlanmode ap
        pre-down /usr/local/bin/wlanconfig ath0 destroy
        address 192.168.38.1
        netmask 255.255.255.0
        broadcast 192.168.38.255
        post-up /etc/init.d/dhcp3-server restart
        post-down /etc/init.d/dhcp3-server restart

Konfiguracja serwera dhcp. Otwieramy plik /etc/dhcp3/dhcpd.conf i wstawiamy do niego zawartość:

subnet 192.168.38.0 netmask 255.255.255.0 {
  range 192.168.38.2 192.168.38.127;
  option domain-name-servers 62.179.1.62, 62.179.1.63;
  option routers 192.168.38.1;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.38.255;
  default-lease-time 600;
  max-lease-time 7200;
}

Pod option domain-name-servers wpisujemy te adresy DNS, które mamy w pliku /etc/resolv.conf

cat /etc/resolv.conf

W pliku /etc/default/dhcp edytujemy linię zawirającą INTERFACES tak aby jej treść była następująca:

INTERFACES=”ath0″

Konfigurujemy hostapd. Interesuje nas plik /etc/hostapd/hostapd.conf. Oryginalny plik z pakietu możemy sobie zachować kopiując go:

mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig

Wybieramy sobie wartość ssid, będzie to nazwa pod jaką chcemy aby nasza sieć była rozgłaszana, i generujemy klucz psk:

wpa_passphrase my_essid naszehaslo

Dostaniemy coś takiego:

network={
        ssid="my_essid"
        #psk="romekromek"
        psk=b9fa13c443eb82dec550cc535ca1fad38e8ab47c3fec4a298b8bcd5db5e4d171
}

i to co jest w zmiennej psk wpisujemy pod wpa_psk w pliku /etc/hostapd/hostapd.conf

wpa_psk=b9fa13c443eb82dec550cc535ca1fad38e8ab47c3fec4a298b8bcd5db5e4d171

Otwieramy nasz plik:

editor /etc/hostapd/hostapd.conf

i wpisujemy do niego zawartość. Poniżej jest pokazana terść wynikowa pliku:

interface=ath0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=--1
logger_stdout_level=2
debug=0
ctrl_interface_group=0
macaddr_acl=0
deny_mac_file=/etc/hostapd/hostapd.deny
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
dump_file=/tmp/hostapd.dump
ssid=my_essid
wpa=3
wpa_psk=b9fa13c443eb82dec550cc535ca1fad38e8ab47c3fec4a298b8bcd5db5e4d171
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP

W pliku /etc/default/hostapd odkomentowujemy jedną linię:

RUN_DAEMON="yes"

Pozostaje skonfigurowanie „maskarady”. Wystarczy na to jedna prosta reguła firewalla:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.38.0/24 -j MASQUERADE

i włączenie ip forward w jądrze

echo 1 > /proc/sys/net/ipv4/ip_forward

Zamiast eth0 wstawiamy nazwę interfejsu sieciowego, który jest „wyjściem „na świat.

Konfiguracji firewalla nie będę tu omawiał, gdyż to jest temat na osobny artykuł.

Restartujemy komputer i sprawdzamy czy po restarcie wszystko działa. Należy pamiętać, że jest to bardzo prosta konfiguracja i można ją udoskonalić w zależności od potrzeb.`

By grzeszy on Grudzień 3, 2008 | Debian, Linux | A comment?
Tagi: , , ,