Wifi (atheros) z WPA na FreeBSD

Posted on Sat 02 September 2006 in Tips4Unices

Konfiguracja Wifi z zabezpieczeniem WPA+PSK na FreeBSD wygląda następująco: do połączenia i uzyskania ustawień sieci używam czterech plików - /etc/rc.conf, /etc/start_if.ath0, /etc/wpa-supplicant-dom.conf oraz /etc/dhclient.conf.

W pliku /etc/rc.conf mam następujący wpis:
ifconfig_ath0="DHCP"
czyli tylko i wyłącznie informacja o tym, że adres sieciowy i cała reszta jest pobierana za pomocą klienta DHCP.

Większość pracy z konfiguracją sieci "odwala" plik /etc/start_if.ath0, jego zawartość wygląda tak:

/usr/sbin/wpa_supplicant -B -iath0 -c/etc/wpa_supplicant-dom.conf
i polega na wywołaniu programu wpa_supplicant w backgroundzie (-B) dla interfejsu ath0 (-iath0) z plikiem konfiguracyjnym /etc/wpa-supplicant-dom.conf (parametr -c).
Mógłbym zrezygnować z używania pliku /etc/start_if.ath0 i zmienić linijkę w /etc/rc.conf na taką: ifconfig_ath0="DHCP WPA" ale wtedy wpa_supplicant używałby domyślnego pliku /etc/wpa_supplicant.conf. Ponieważ noszę laptopa tu i tam, wolę mieć oddzielny plik. Właściwie powinienem po prostu używać symlinków ale na razie tak wolę.

Zawartość pliku /etc/wpa_supplicant-dom.conf:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=2
ap_scan=1
fast_reauth=1
network={
ssid="######"
proto=WPA
auth_alg=OPEN
key_mgmt=WPA-PSK
group=TKIP
psk="*****"
priority=5
}

Oczywiście w miejsce haszów należy wpisać nazwę sieci (ssid) do której chcemy się podłączyć, a w miejsce gwiazdek - hasło. W moim przypadku kluczowym ustawieniem, przez które mało nie osiwiałem bardziej, była linia auth_alg=OPEN, która jest wymagana w przypadku szyfrowania WPA.

Na koniec fragment pliku /etc/dhclient.conf:

interface "ath0" {
supersede domain-name "xxxxx";
supersede domain-name-servers 192.168.0.1;
request subnet-mask, broadcast-address, time-offset, routers, host-name;
}

Używam go tylko dlatego, że chcę narzucić klientowi DHCP by używał lokalnego serwera DNS.