To całkiem niezły (jeśli nieco przestarzały [jeśli 2006 jest nieaktualny]) artykuł, który opisuje, jak to zrobić z wiersza poleceń.
http://www.linux.com/archive/feed/55617
Zakładając, że urządzenie bezprzewodowe działa OK, prawdopodobnie możesz zanurkować w części mostkowej mniej więcej w połowie.
Wi-Fi Protected Access wersja 2 ( WPA2 ) staje się de facto standardem do zabezpieczania sieci bezprzewodowych i jest obowiązkową funkcją wszystkich nowych produktów Wi-Fi certyfikowanych przez Wi-Fi Alliance . Wszyscy znamy słabości bezpieczeństwa swojego poprzednika, WEP; tym razem mają rację. Oto jak zaimplementować protokół WPA2 na hoście Linux i utworzyć bezpieczny bezprzewodowy punkt dostępowy (WAP) dla sieci.
Większość komercyjnych WAP klasy konsumenckiej działa w ten sam prosty sposób: tworzy pomost między interfejsem sieci przewodowej (Ethernet) a interfejsem bezprzewodowym. Właśnie to zrobimy. Część WAP będzie obsługiwana przez hostapddemona, więc musisz wybrać obsługiwany interfejs bezprzewodowy. Wśród obsługiwanych kart sieciowych są te z chipsetami Prism 2 / 2,5 / 3, Atheros ar521x i Prism GT / Duette / Indigo; lista jest dostępna na stronie głównej hostapd, wraz z linkami do sterowników Linux dla każdego mikroukładu. Mam kartę PCI opartą na Atheros AR5212 zainstalowaną na moim WAP, która jest obsługiwana przez hostapd. Chociaż każdy system Pentium (lub nowszy) będzie działał, niektóre karty bezprzewodowe PCI wymagają PCI 2.2 do działania, dlatego przed zakupem sprawdź specyfikacje płyty głównej systemu. Będziesz także potrzebował interfejsu Ethernet obsługiwanego przez system Linux, aby podłączyć WAP do sieci LAN; większość wbudowanych interfejsów będzie działać dobrze.
Moja konfiguracja oparta jest na testowaniu Debiana (Etch), ale każda dystrybucja GNU / Linux z najnowszym jądrem 2.6 będzie działać. Jądro musi obsługiwać mostkowanie Ethernet 802.1d (CONFIG_BRIDGE) i bezprzewodową sieć LAN (CONFIG_NET_RADIO). Większość domyślnych podstawowych jąder ma włączone te funkcje, ale jeśli wolisz zbudować własne jądro, pamiętaj o uwzględnieniu tych opcji. Jedynymi innymi pakietami, które musisz zainstalować, oprócz hostapd, są narzędzia mostkowe i narzędzia bezprzewodowe . Główne dystrybucje GNU / Linux oferują pakiety binarne dla wszystkich tych programów, ale jeśli wolisz budować je ze źródła, możesz znaleźć więcej informacji na ich stronach głównych.
Przed połączeniem dwóch interfejsów musimy ustawić interfejs bezprzewodowy (w moim przypadku ath0; dostosuj go do konfiguracji) w trybie Hostap lub Master. Zwykle jest to tak proste, jak uruchomienie iwconfig trybu ath0 Master, ale ponieważ obsługa wlan w Linuksie nie jest jeszcze ustandaryzowana, niektóre sterowniki mogą wymagać dodatkowej konfiguracji. Jeśli masz interfejs oparty na Atheros, musisz także uruchomić następujące polecenie : wlanconfig ath0 destroy; wlanconfig ath0 create wlandev wifi0 wlanmode ap
przed iwconfig
poleceniem. Po tym bieganie iwconfig ath0
wróci mode:Master
między innymi.
Teraz stwórzmy most. Zakładamy, że interfejs Ethernet to eth0:
ifconfig eth0 0.0.0.0 up
ifconfig ath0 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 ath0
Aby zatrzymać most, powinieneś biec:
ifconfig br0 down
ifconfig eth0 0.0.0.0 down
ifconfig ath0 0.0.0.0 down
brctl delif br0 eth0
brctl delif br0 ath0
brctl delbr br0
Opcjonalnie możesz podać adres IP interfejsowi br0, jeśli chcesz uzyskać dostęp do hosta WAP z sieci, używając na przykład SSH. Każda dystrybucja oferuje własny sposób konfiguracji sieci; jeśli używasz Debiana (lub dowolnej dystrybucji opartej na Debianie, takiej jak Ubuntu), możesz zakończyć wszystkie poprzednie komendy, po prostu dodając do /etc/network/interfaces
pliku następujące elementy:
auto ath0 br0
iface ath0 inet manual
pre-up wlanconfig ath0 destroy
pre-up wlanconfig ath0 create wlandev wifi0 wlanmode ap
post-down wlanconfig ath0 destroy
wireless-mode master
iface br0 inet manual
bridge_ports eth0 ath0
Zauważ, że ifupdown
obsługuje eth0 automatycznie, więc nie potrzebujesz do tego osobnej zwrotki /etc/network/interfaces
. Aby sprawdzić, czy most jest poprawnie skonfigurowany, uruchom brctl show
. W zamian powinieneś dostać coś takiego:
bridge name bridge id STP enabled interfaces
br0 8000.00032f2481f0 no ath0
eth0
Zanim zaczniemy zadzierać z hostapd, potrzebujemy hasła do WPA2. Podobnie jak w przypadku wszystkich haseł, powinno być losowe, a zatem trudne do odgadnięcia. Dobrym sposobem na uzyskanie losowego hasła jest odwiedzenie generatora haseł Ultra High Security Security firmy Gibson Research Corp. i użycie trzeciego hasła, które tworzy - zatytułowanego 63 losowych znaków alfanumerycznych (az, AZ, 0-9). Posługiwanie się hasłem zawierającym znaki alfanumeryczne ASCII (np.!, @ Itd.) Może być kuszące, ale niektórym klientom - a mianowicie Windows XP - wydaje się, że ich nie lubią.
Teraz utwórz nowy plik tekstowy o nazwie /etc/hostapd/wpa_psk
i wklej swoje hasło jako:
00:00:00:00:00:00 PASSPHRASE
Pierwsza część z zerami oznacza „dopasuj wszystkie adresy MAC” i robi dokładnie to. Możesz także użyć różnych haseł dla każdego klienta, dodając nowy wiersz do pliku z adresem MAC każdego klienta i jego hasłem. Upewnij się, że tylko root ma dostęp do tego pliku, uruchamiając chmod 600 /etc/hostapd/wpa_psk
.
Teraz utwórz kopię zapasową głównego pliku konfiguracyjnego hostapd /etc/hostapd/hostapd.conf
i zachowaj go jako odniesienie, uruchamiając mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig
. Utwórz nowy plik hostapd.conf i wklej do niego następujące linie:
interface=ath0
bridge=br0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=My_Secure_WLAN
#macaddr_acl=1
#accept_mac_file=/etc/hostapd/accept
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=3
wpa_psk_file=/etc/hostapd/wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
stakey=0
Wymień części kursywą na informacje pasujące do konfiguracji. Jeśli chcesz zezwolić na łączenie się tylko określonym klientom, usuń znak # z dwóch wierszy powyżej i skopiuj adresy MAC tych klientów /etc/hostapd/accept
i udostępnij ten plik tylko rootowi (chmod 600). Aby uzyskać więcej informacji o używanych opcjach, przeczytaj komentarze w utworzonym wcześniej pliku kopii zapasowej (hostapd.conf.orig).
Uruchom demona hostapd ( /etc/init.d/hostapd start
) i sprawdź, /var/log/daemon.log
czy działa. Jeśli demon nie pojawi się, zwiększ poziom debugowania ( option debug=
w pliku hostapd.conf) do 4 i spróbuj ponownie.
Teraz, jeśli skanujesz w poszukiwaniu dostępnych sieci bezprzewodowych od klienta, powinieneś zobaczyć swój ESSID. Aby połączyć się z WAP z klienta Linux, musisz zainstalować wpa_supplicant i utworzyć plik konfiguracyjny, wpa_supplicant.conf (w Debianie, zainstalowany /etc/wpa_supplicant/
) w następujący sposób:
update_config=1
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="My_Secure_WLAN"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk="PASSPHRASE"
priority=5
}
Ponownie zamień części kursywą, aby pasowały do konfiguracji i uruchom wpa_supplicant -i eth1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf
( eth1
zamień na nazwę interfejsu wlan i wext na odpowiedni sterownik dla swojej karty; uruchom wpa_supplicant bez żadnych opcji, aby uzyskać więcej informacji). Ta komenda uruchamia wpa_supplicant na pierwszym planie i próbuje połączyć się z WAP. Jeśli dane wyjściowe wyglądają następująco, wszystko ustawione:
Trying to associate with 00:11:22:33:44:55 (SSID='My_Secure_WLAN' freq=0 MHz)
Associated with 00:11:22:33:44:55
WPA: Key negotiation completed with 00:11:22:33:44:55 [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:11:22:33:44:55 completed (auth) [id=0 id_str=]
Podaj statyczny adres IP do interfejsu bezprzewodowego (lub uruchom klienta DHCP) i spróbuj wysłać polecenie ping do hosta w sieci LAN, aby sprawdzić, czy połączenie działa.
Gratulacje, właśnie zbudowałeś wysoce konfigurowalny bezprzewodowy punkt dostępowy. Chociaż ta konfiguracja jest idealna do użytku domowego lub małego biura, potrzebujesz czegoś bardziej niezawodnego w przedsiębiorstwie, z uwierzytelnianiem za pomocą serwera RADIUS, a nawet VPN.