Dzisiaj zrobimy sobie Access Pointa na systemie Debian (lub dowolnym, jaki masz), przy pomocy karty sieciowej z chipsetem ath9k. Wiele osób rezygnuje z tworzenia swojego AP ze względu na głosy w Internecie, głoszące, że na ath9k albo nie da się tego zrobić, albo jest to problematyczne, gdyż narzędzie nie wspiera Master Mode, czyli trybu karty sieciowej, który ustawia ją jako AccessPoint. A jednak się da (o tym na koniec) :>
Access Point będzie bardzo prosty, z użyciem dnsmasq (opisanego tutaj) oraz hostapd. Oszczędzi to nam konfiguracji, jednak jakby ktoś chciał się pobawić, zapraszam do artykułu o dhcp-server.
Problem polega na tym, że jeśli ręcznie przestawimy kartę sieciową w tryb Master, otrzymamy błąd:
ifconfig wlan0 down iwconfig wlan0 mode master Error for wireless request "Set Mode" (8B06) : SET failed on device wlan0 ; Invalid argument.
przez który stracimy godziny na szukaniu rozwiązania w Google czy czytaniu manuali, które i tak nie dadzą nam rozwiązania.
Zaczynamy od instalacji madwifi-ng:
svn checkout http://madwifi-project.org/svn/madwifi/trunk madwifi cd madwifi make make install apt-get update apt-get install hostapd dnsmasq -y
Teraz system prosi o reboot (ok – nie prosi, ale go zrób).
Konfiguracja hostapd
Zaczyna się ją od utworzenia pliku hostapd.conf w katalogu /etc/hostapd/ .
Pożyczę Wam mój config i podam adres do pełnej dokumentacji.
#interface - wybierz swoj interface=wlan0 #sterownik - zostaw driver=nl80211 #ssid sieci, zmien jak chcesz ssid=i_can_hear_youre_having_sex #kanal nadawania channel=6 # Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g, # Default: IEEE 802.11b hw_mode=g hw_mode=g # bit 0 = Open System Authentication # bit 1 = Shared Key Authentication auth_algs=1 #rodzaj WPA wpa=3 #haslo wpa_passphrase=without-security #pre-shared key wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP #szyfrowanie oparte na AES rsn_pairwise=CCMP # Bezuzyteczne zabezpieczenie: # 0 = accept unless in deny list # 1 = deny unless in accept list # 2 = use external RADIUS server (accept/deny lists are searched first) macaddr_acl=0 # Accept/deny lists are read from separate files (containing list of # MAC addresses, one per line). Use absolute path name to make sure that the #adresy MAC kochane i niekochane #te adresy kochamy accept_mac_file=/etc/hostapd/hostapd.accept #a tych nie kochamy deny_mac_file=/etc/hostapd/hostapd.deny
Konfiguracja adresów:
Access Point miał być prosty, więc nie komplikujemy niczego. Plik konfiguracyjny /etc/dnsmasq.conf wygląda tak:
interface=wlan0 #interface dhcp-range=192.168.1.2,192.168.1.11 #zasieg adresow przydzielanych przez od,do DHCP
Teraz brakuje nam tylko interface, który miałby adres podany w config dnsmaqs, czyli:
ifconfig wlan0 192.168.1.1 netmask 255.255.255.0
Następnie należy ustawić przekierowanie ruchu sieciowego z interface AP do Sieci:
iptables -t filter -P FORWARD DROP iptables -t filter -A FORWARD -s 192.168.1.0/255.255.255.0 -d 0/0 -j ACCEPT iptables -t filter -A FORWARD -s 0/0 -d 192.168.1.0/255.255.255.0 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward iptables-save
Później restartujemy dnsmasq:
/etc/init.d/dnsmasq restart
I uruchamiamy hostapd:
hostapd -d /etc/hostapd/hostapd.conf
Wynik uruchomienia:
root@Agilob-PC:~# hostapd -d /etc/hostapd/hostapd.conf Configuration file: /etc/hostapd/hostapd.conf Opening raw packet socket for ifindex 4199392 BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits) SIOCGIWRANGE: WE(compiled)=22 WE(source)=21 enc_capa=0xf nl80211: Added 802.11b mode based on 802.11g information RATE[0] rate=10 flags=0x2 RATE[1] rate=20 flags=0x6 RATE[2] rate=55 flags=0x6 RATE[3] rate=110 flags=0x6 RATE[4] rate=60 flags=0x0 RATE[5] rate=90 flags=0x0 RATE[6] rate=120 flags=0x0 RATE[7] rate=180 flags=0x0 RATE[8] rate=240 flags=0x0 RATE[9] rate=360 flags=0x0 RATE[10] rate=480 flags=0x0 RATE[11] rate=540 flags=0x0 Passive scanning not supported Mode: IEEE 802.11g Channel: 6 Frequency: 2437 MHz Flushing old station entries Deauthenticate all stations Using interface wlan0 with hwaddr 48:5d:60:34:a8:59 and ssid 'i_can_hear_youre_having_sex' SSID - hexdump_ascii(len=27): 69 5f 63 61 6e 5f 68 65 61 72 5f 79 6f 75 72 65 i_can_hear_youre 5f 68 61 76 69 6e 67 5f 73 65 78 _having_sex PSK (ASCII passphrase) - hexdump_ascii(len=16): 77 69 74 68 6f 75 74 2d 73 65 63 75 72 69 74 79 without-security PSK (from passphrase) - hexdump(len=32): 2b 23 3f b8 63 9d 85 33 f7 5c 45 8f 18 68 9f f8 92 79 95 8c 57 68 77 53 3f b2 55 eb c7 2a 84 8d WPA: group state machine entering state GTK_INIT (VLAN-ID 0) GMK - hexdump(len=32): [REMOVED] GTK - hexdump(len=32): [REMOVED] WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) wlan0: Setup of interface done. MGMT (TX callback) ACK
Jak widać poniżej, da się ustawić kartę sieciową w tryb Master, wymagany jest do tego jednak hostapd – ręcznie, nie wiedzieć czemu, nie idzie tego zrobić nawet po patchowaniu kernela oO (przynajmniej mnie się nie udało).
root@Agilob-PC:~# iwconfig wlan0 wlan0 IEEE 802.11bgn Mode:Master Frequency:2.437 GHz Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on
Co dalej?
Nie wiem, to Ty jesteś tu adminem. Proponuję szpiegowanie swoich użytkowników przy użyciu Squida ;).

JakiLinux
a próbowałeś odpalić hostapd dla ipv6?
Man hostapd dla NetBSD mówi, że można to zrobić, ale trzeba używać z serwerem RADIUS: http://www.daemon-systems.org/man/hostapd.conf.5….
Świetny artykuł. Prosty, zrozumiały i z odnośnikami do dokumentacji. Dowiedziałem się także o kilku ciekawych narzędziach ;). DZIĘKI!
A jak ktoś już korzyszta z wi-fi przez wlan i chciałby odpalić na laptopie punkt dostępowy. To musi mieć odpowiednią kartę sieciową czy przeważnie na każdej da radę?
Z realtekami s problemy, poniewa| producent od kilku lat nie pisze ju| sterowników dla tych chipsetów, je[li chcesz na rtl odpali AP to musisz wróci do jdra 2.4, na jdrze 2.6 mczyBem si kilka dni i udaBo mi si ustawi master mode, ale niestety karta nie rozgBaszaBa nawet istnienia AP, a ifconfig wykazywaB, |e master mode jest wBczone…
Kompilacja i instalacja madwifi była zupełnie niepotrzebna. Z tą konfiguracją którą użyłeś na ath9k też by zadziałało, a wtedy mógłbyś użyć trybu draft n.
ja dorzucę swoje 3 grosze dla zrozumienia wątku
madwifi to nierozwijany już sterownik do kart a układami atherosa
ath9k to wolny sterownik zaczęto go pisać jak ogłoszono nierozwijanie już madwifi
skoro w konfiguracji hostapd zostawia się domyślny sterownik to i tak hostapd nie wykorzystuje madwifi
to takie pytanie od autora po co instalował madwifi skoro nie wyłączył ath9k w blacklist
po drugie jak system korzysta z sterownika madwifi to karta wifi w systenie nie na zywa się wlan0 tylko ath0