hostap i WPA

Jakub Piotr Cłapa loc w toya.net.pl
Czw, 21 Wrz 2006, 15:12:14 CEST


Paweł Sikora wrote:
> witam,

Witam, pozwoliłem sobie popchnąć jednak na pld-users-pl, może ktoś 
skorzysta.

> zauważyłem, że jesteś ciut obeznany w tematyce wifi, więc mam małą
> do ciebie sprawę :) potrzebuje sobie w domu zrobić punkt dostępowy
> z jakimś "dobrym" szyfrowaniem, autoryzacją i może nawet jakąś
> autokofiguracją klienta. wszystko po to, żeby żona mogła wejść
> z laptopem (firmowy win2000 na pokładzie) do domu, włączyć go
> i mieć sieć beż żadnego ustawiania magicznych dla niej opcji :)
> maszynka mająca robić za AP to PLD/th-x86_64.
> finalnie potrzeba mi polecić jakąś przzywoitą kartę do mojego
> desktopa (AP) i przywoity opis jak to uruchomić.

Więkoszość sprzętu kupowałem w cyberbajcie [1]. Nie są chyba najtańsze, 
ale nie miałem z nimi problemów, więc nie eksperymentowałem.

Karta do AP: TP-LINK PCI TL-WN551G [2]
Tania, obsługuje 802.11g (czyli 54Mbps) i ma dobry chipset, a co za tym 
idzie, dobre OpenSource'owe sterowniki pod Linuksem (madwifi).

Autokonfiguracja po stronie klienta jest w zasadzie od ręki, o ile mamy 
serwer DHCP (ręcznej konfiguracji się w przypadku WiFi nie stosuje).

Na AP potrzeba madwifi-ng.spec, hostapd.spec.
Miły jest też bridge, jeśli masz również sieć przewodową.

Konfiguracja hostapd zależeć będzie od tego, co obsługuje karta w 
laptopie żony (jak zresztą można wyczytać w moim wątku o hostapd i WPA [5]).

Dodatkowo potrzeba jeszcze kilku takich:

Hasło do WPA: (w Windowsach też wpisuje się hex, ale zapamiętuje, więc
                nie trzeba w kółko wpisywać)

#v+ /etc/hostap/wpa_psk
00:00:00:00:00:00 <<hasło - losowe 64 cyfry haksadecymalne [3]>>
#v-

Jeśli komuś bridge potrzebny, to jego konfigurecja poniżej. 
Wykomentowane linijki robią DHCP dla AP (jeśli jest jeszcze jeden 
router, poza naszym AP, który przydziela wszystkim adresy i np. 
rozdziela internet). FDELAY nie działa, ale powinien ustawiać Forward 
Delay [4] dla bridge. Zrobiłem łatkę na rc-scripts, ale mi się zgubiła ;/
Ten skrypt wyłącza wszystko i przestawia MACi, bo bridge wybiera sobie 
jeden MAC (najmniejszy AFAIK) spośród MACów wszystkich przydzielonych 
interfejsów, a potem odmawia jego zmiany. Przydatne, jeśli mamy 
statyczne DHCP lub potrzebujemy mieć serwer akurat pod tym MACiem.

#v+ /etc/sysconfig/interfaces/ifcfg-br0
DEVICE=br0
ONBOOT=yes
#BOOTPROTO=dhcp
BRIDGE_DEVS="ath0 ath1 eth0"

IPADDR=192.168.1.2/24

#FDELAY=0
#DHCP_OPTIONS="-d"

#run_up()
#{
#  for IF in "ath0" "ath1"; do
#    ip link set $IF down
#    ip link set $IF address 00:40:63:de:c7:63
#    ip link set $IF up
#  done
#  if [ -f /var/run/dhcpcd-br0.pid ]; then
#    dhcpcd -k br0
#    while [ -f /var/run/dhcpcd-br0.pid ]; do
#      sleep .1
#    done
#  fi
#  dhcpcd -d br0
#}
#v-

Ustawienia dla madwifi (domyślnie tworzy interfejs ethernetowy athX 
ustawiony w trybie klienta, a nam potrzebny Master). Nie dziwić się, że 
do pary pojawi się jeszcze wifiX.

#v+ /etc/modprobe.conf
options ath_pci autocreate=ap
#v-

Oczywiście moduły:

#v+ /etc/modules
tun
ath_pci
#v-

To chyba wszystko, co mi się kojarzy. Jeśli będą jakieś problemy, to 
oczywiście chętnie pomogę. :-)

[1] http://cyberbajt.com.pl/
[2] http://cyberbajt.com.pl/cyber.php?i=produkt&id=1228
[3] https://www.grc.com/passwords.htm (link za Wikipedią, zaufanie, lub
                                        jego brak, do nich, nie do mnie)
[4]
http://linux-net.osdl.org/index.php/Bridge#Does_DHCP_work_over.2Fthrough_a_bridge.3F
[5] http://thread.gmane.org/gmane.linux.pld.user.polish/16051/focus=16051


Więcej informacji o liście dyskusyjnej pld-users-pl