Debian Squeeze / Wheezy HowTo : In 5 Minuten Access-Point mit hostapd

Wer kennt das nicht, APs welche man kaufen kann werden leider nicht lange genug mit Updates versorgt wie man es sich gerne wünscht.
Auch die Sicherheit ist gerade nicht jene, welche ich gerne hätte und den AP mal schnell als Repeater zu nutzen ist auch bei den meisten nicht möglich.
Da bei mir ein Laptop als Server nun läuft, weil ich meinen Dell-Server nicht den Hitzetod sterben lassen wollte, dachte ich mir, warum nicht gleich die Maschine auch zu einem AP machen. Lösung der Wahl ist der hostapd

Ermitteln der Netzwerkkarte

Bei meiner PCMCIA-Karte handelt es sich um eine Dlink DWL-G630 AirPluG, ein lspci gibt mir den Chipsatz aus:
02:00.0 Network controller: RaLink RT2561/RT61 rev B 802.11g

Installiert werden muss:

aptitude install firmware-ralink hostapd bridge-utils wireless-tools

Da sich die WLAN-Karte mit wlan0 meldet, kann man auch schon die Netzwerkkonfiguration bearbeiten /etc/network/interfaces:

 auto lo
 iface lo inet loopback
 auto eth0 wlan0 br0
 iface eth0 inet manual
 up /sbin/ifconfig eth0 up
 down /sbin/ifconfig eth0 down
 iface wlan0 inet manual
 up /sbin/ifconfig wlan0 up
 down /sbin/ifconfig wlan0 down
 iface br0 inet dhcp
 bridge_ports eth0 wlan0

Wer kein DHCP für seine Bridge nutzen möchte sollte dort adress network und broadcast eintragen.

Als kurzer Einwurf:
Eine Bridge ist, wenn man es aus dem Englischen übersetzt, eine Brücke.
Diese Brücke verbindet einfach zwei Netzwerksegmente miteinander und somit muss man nicht mit iptables ein forwarding einrichten, sprich bei einer Bridge sollte man Wissen, dass sie eine gemeinsame IP-Adresse für alle zusammengeschlossenen Schnittstellen, und die IPs der angeschlossenen Rechner liegen alle im selben logischen Netzwerk.

Dies heisst aber nicht, dass man eth0 nicht eine Eigene Adresse geben kann:

 br0 Link encap:Ethernet Hardware Adresse 00:22:b0:ea:d9:ed
 inet Adresse:192.168.1.18 Bcast:192.168.0.255 Maske:255.255.255.0
 inet6-Adresse: fe80::222:b0ff:feea:d9ed/64 Gültigkeitsbereich:Verbindung
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
 RX packets:24625 errors:0 dropped:0 overruns:0 frame:0
 TX packets:29006 errors:0 dropped:0 overruns:0 carrier:0
 Kollisionen:0 Sendewarteschlangenlänge:0
 RX bytes:1547453 (1.4 MiB) TX bytes:29295869 (27.9 MiB)

eth0 Link encap:Ethernet Hardware Adresse 00:40:ca:ba:fd:b5
 inet Adresse:192.168.1.2 Bcast:192.168.0.255 Maske:255.255.255.0
 inet6-Adresse: fe80::240:caff:feba:fdb5/64 Gültigkeitsbereich:Verbindung
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
 RX packets:9983896 errors:27 dropped:26 overruns:14 frame:0
 TX packets:6748615 errors:0 dropped:0 overruns:0 carrier:0
 Kollisionen:0 Sendewarteschlangenlänge:1000
 RX bytes:3832561398 (3.5 GiB) TX bytes:2603951252 (2.4 GiB)
 Interrupt:10 Basisadresse:0x1800

mon.wlan0 Link encap:UNSPEC Hardware Adresse 00-22-B0-EA-D9-ED-65-74-00-00-00-00-00-00-00-00
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
 RX packets:1809 errors:0 dropped:0 overruns:0 frame:0
 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 Kollisionen:0 Sendewarteschlangenlänge:1000
 RX bytes:142478 (139.1 KiB) TX bytes:0 (0.0 B)

wlan0 Link encap:Ethernet Hardware Adresse 00:22:b0:ea:d9:ed
 inet6-Adresse: fe80::222:b0ff:feea:d9ed/64 Gültigkeitsbereich:Verbindung
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
 RX packets:25103 errors:0 dropped:0 overruns:0 frame:0
 TX packets:34251 errors:0 dropped:0 overruns:0 carrier:0
 Kollisionen:0 Sendewarteschlangenlänge:1000
 RX bytes:2105300 (2.0 MiB) TX bytes:31556838 (30.0 MiB)

Einrichten des hostapd

Und weiter mit der /etc/hostpad/hostapd.conf:

interface=wlan0
 driver=nl80211
 bridge=br0
 ssid=$DEINESSID
 wme_enabled=0
 channel=6
 hw_mode=g

auth_algs=1
 wpa=3
 wpa_passphrase=$DEINPASS
 wpa_key_mgmt=WPA-PSK
 wpa_pairwise=TKIP CCMP
 rsn_pairwise=CCMP

Nach einem Restart kann man nun die /etc/hostapd/hostapd.conf testen:

hostapd -dd /etc/hostapd/hostapd.conf

Und mit einem Client verbinden und schauen, ob nun alles funktioniert.
Macht der hostapd jenes was er tun soll, ändert man in der Datei /etc/defaul/hostapd wie folgt:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Danach ein

/etc/init.d/hostapd restart

Fertig

Man sollte sich natürlich noch Sicherheitskonzept einfallen lassen, sprich man kann mit iptables einiges vornehmen, so daß nur bekannten Clients der Einlass gewährt wird.
Siehe dazu auch iptables und -mac-source.

1 Gedanke zu „Debian Squeeze / Wheezy HowTo : In 5 Minuten Access-Point mit hostapd“

  1. Pingback: Access point con Debian 6 |

Kommentare sind geschlossen.