Dies ist ein ziemlich guter (wenn auch etwas veralteter [wenn 2006 veraltet ist]) Artikel, in dem die Vorgehensweise über die Befehlszeile beschrieben wird.
http://www.linux.com/archive/feed/55617
Vorausgesetzt, Ihr drahtloses Gerät funktioniert in Ordnung, können Sie wahrscheinlich ungefähr auf halber Höhe in den Überbrückungsbereich eintauchen.
Wi-Fi Protected Access Version 2 ( WPA2 ) wird zum De-facto-Standard für die Sicherung drahtloser Netzwerke und ist für alle neuen Wi-Fi-Produkte, die von der Wi-Fi Alliance zertifiziert wurden, obligatorisch . Wir alle kennen die Sicherheitsschwächen seines Vorgängers WEP. diesmal haben sie es richtig gemacht. Hier erfahren Sie, wie Sie das WPA2-Protokoll auf einem Linux-Host implementieren und einen sicheren drahtlosen Zugriffspunkt (WAP) für Ihr Netzwerk erstellen.
Die meisten kommerziellen WAPs für Endverbraucher funktionieren auf dieselbe einfache Weise: Sie bilden eine Brücke zwischen einer verkabelten (Ethernet) Netzwerkschnittstelle und einer drahtlosen. Genau das werden wir auch tun. Der WAP-Teil wird von hostapd verwaltetDaemon, so müssen Sie eine drahtlose Schnittstelle auswählen, die es unterstützt. Unter den unterstützten NICs befinden sich diejenigen mit Prism 2 / 2.5 / 3, Atheros ar521x und Prism GT / Duette / Indigo-Chipsätzen. Auf der hostapd-Homepage finden Sie eine Liste mit Links zu Linux-Treibern für jeden Chipsatz. Ich habe eine Atheros AR5212-basierte PCI-Karte in meinem WAP installiert, die von hostapd unterstützt wird. Obwohl alle Pentium-Systeme (oder neuere) funktionieren, benötigen einige PCI-Funkkarten PCI 2.2. Überprüfen Sie daher vor dem Kauf die Motherboard-Spezifikationen Ihres Systems. Sie benötigen außerdem eine von Linux unterstützte Ethernet-Schnittstelle, um Ihren WAP mit dem LAN zu verbinden. Die meisten On-Board-Schnittstellen funktionieren einwandfrei.
Mein Setup basiert auf Debian Testing (Etch), aber jede GNU / Linux-Distribution mit einem aktuellen 2.6-Kernel wird funktionieren. Der Kernel muss 802.1d Ethernet Bridging (CONFIG_BRIDGE) und Wireless LAN (CONFIG_NET_RADIO) unterstützen. Bei den meisten Standard-Kerneln sind diese Funktionen aktiviert. Wenn Sie jedoch lieber einen eigenen Kernel erstellen möchten, müssen Sie diese Optionen einbeziehen. Die einzigen anderen Pakete, die Sie neben hostapd installieren müssen, sind Bridge-Utils und Wireless-Tools . Große GNU / Linux-Distributionen bieten für all diese Programme Binärpakete an. Wenn Sie diese jedoch lieber aus dem Quellcode erstellen möchten, finden Sie weitere Informationen auf deren Homepages.
Bevor wir die beiden Schnittstellen verbinden, müssen wir die drahtlose Schnittstelle (in meinem Fall ath0; passen Sie sie an Ihr Setup an) in den Hostap- oder Master-Modus versetzen. Normalerweise ist dies so einfach wie das Ausführen von iwconfig ath0 mode Master. Da die WLAN-Unterstützung unter Linux jedoch noch nicht standardisiert ist, müssen einige Treiber möglicherweise zusätzlich konfiguriert werden. Wenn Sie eine Atheros-basierte Schnittstelle haben, müssen Sie außerdem Folgendes ausführen: wlanconfig ath0 destroy; wlanconfig ath0 create wlandev wifi0 wlanmode ap
vor dem iwconfig
Befehl. Danach iwconfig ath0
kehrt das Laufen mode:Master
unter anderem zurück.
Jetzt erstellen wir die Brücke. Wir gehen davon aus, dass die Ethernet-Schnittstelle eth0 ist:
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
Und um die Brücke anzuhalten, solltest du laufen:
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
Optional können Sie der br0-Schnittstelle eine IP-Adresse zuweisen, wenn Sie vom Netzwerk aus auf den WAP-Host zugreifen möchten, z. B. mit SSH. Jede Distribution bietet eine eigene Möglichkeit, das Netzwerk zu konfigurieren. Wenn Sie Debian (oder eine andere auf Debian basierende Distribution wie Ubuntu) verwenden, können Sie alle vorherigen Befehle zusammenfassen, indem Sie Ihrer /etc/network/interfaces
Datei einfach Folgendes hinzufügen :
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
Beachten Sie, dass ifupdown
eth0 automatisch verarbeitet wird, sodass Sie keine separate Zeilengruppe dafür benötigen /etc/network/interfaces
. Führen Sie Folgendes aus, um zu überprüfen, ob die Bridge richtig konfiguriert ist brctl show
. Sie sollten im Gegenzug so etwas bekommen:
bridge name bridge id STP enabled interfaces
br0 8000.00032f2481f0 no ath0
eth0
Bevor wir uns mit hostapd anlegen können, benötigen wir eine Passphrase für WPA2. Wie bei allen Passwörtern sollte es zufällig sein und daher schwer zu erraten sein. Eine gute Möglichkeit, eine zufällige Passphrase zu erhalten, besteht darin, den Ultra High Security Password Generator von Gibson Research Corp. zu besuchen und das dritte Kennwort zu verwenden, das erstellt wird - das mit 63 zufälligen alphanumerischen Zeichen (az, AZ, 0-9). Eine Passphrase mit nicht-alphanumerischen ASCII-Zeichen (z. B.!, @ Usw.) ist möglicherweise verlockend, aber einige Clients - insbesondere Windows XP - scheinen sie nicht zu mögen.
Erstellen Sie nun eine neue Textdatei mit dem Namen /etc/hostapd/wpa_psk
und fügen Sie Ihre Passphrase ein als:
00:00:00:00:00:00 PASSPHRASE
Der erste Teil mit den Nullen bedeutet "mit allen MAC-Adressen übereinstimmen" und tut genau das. Sie können auch unterschiedliche Passphrasen für jeden Client verwenden, indem Sie der Datei eine neue Zeile mit der MAC-Adresse und der Passphrase jedes Clients hinzufügen. Stellen Sie sicher, dass nur root Zugriff auf diese Datei hat, indem Sie ausführen chmod 600 /etc/hostapd/wpa_psk
.
Erstellen Sie nun eine Sicherungskopie der Hauptkonfigurationsdatei von hostapd /etc/hostapd/hostapd.conf
und behalten Sie diese als Referenz bei, indem Sie sie ausführen mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig
. Erstellen Sie eine neue hostapd.conf-Datei und fügen Sie die folgenden Zeilen ein:
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
Ersetzen Sie die kursiv gedruckten Teile durch Informationen, die Ihrem Setup entsprechen. Wenn Sie zulassen möchten, dass nur bestimmte Clients eine Verbindung herstellen, entfernen Sie das Zeichen # aus den beiden obigen Zeilen, kopieren Sie die MAC-Adressen dieser Clients nach /etc/hostapd/accept
und machen Sie diese Datei nur für root zugänglich (chmod 600). Weitere Informationen zu den verwendeten Optionen finden Sie in den Kommentaren in der zuvor erstellten Sicherungsdatei (hostapd.conf.orig).
Starten Sie den Daemon hostapd ( /etc/init.d/hostapd start
) und prüfen Sie /var/log/daemon.log
, ob er funktioniert. Wenn der Dämon nicht option debug=
gestartet wird , erhöhen Sie die Debugstufe ( in hostapd.conf) auf 4 und versuchen Sie es erneut.
Wenn Sie nun von einem Client aus nach verfügbaren drahtlosen Netzwerken suchen, sollte Ihre ESSID angezeigt werden. Um von einem Linux-Client aus eine Verbindung zum WAP herzustellen , müssen Sie wpa_supplicant installieren und eine Konfigurationsdatei wpa_supplicant.conf (in Debian, installiert in /etc/wpa_supplicant/
) wie folgt erstellen :
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
}
Ersetzen Sie die kursiv gedruckten Teile entsprechend Ihrer Einrichtung und Ausführung wpa_supplicant -i eth1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf
(ersetzen eth1
Sie sie durch den Namen Ihrer WLAN-Schnittstelle und tauschen Sie sie mit dem entsprechenden Treiber für Ihre Karte aus; führen Sie wpa_supplicant ohne weitere Optionen aus, um weitere Informationen zu erhalten). Dieser Befehl startet wpa_supplicant im Vordergrund und versucht, eine Verbindung zum WAP herzustellen. Wenn die Ausgabe wie folgt aussieht, sind Sie fertig:
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=]
Geben Sie Ihrer drahtlosen Schnittstelle eine statische IP-Adresse (oder führen Sie einen DHCP-Client aus) und versuchen Sie, einen Ping-Befehl an einen Host in Ihrem LAN zu senden, um sicherzustellen, dass die Verbindung funktioniert.
Herzlichen Glückwunsch, Sie haben sich gerade einen hochgradig anpassbaren drahtlosen Zugangspunkt gebaut. Obwohl dieses Setup ideal für den Einsatz zu Hause oder in kleinen Büros geeignet ist, benötigen Sie im Unternehmen etwas Robusteres mit Authentifizierung über einen RADIUS-Server oder, noch besser, ein VPN.