WLAN-Access-Point mit hostapd und USB-Stick: Unterschied zwischen den Versionen

Aus Alexander's Wiki
Zeile 31: Zeile 31:
</source>
</source>
Der erste Eintrag legt wlan0 als DHCP-Interface fest, der zweite schliesst das Kabelnetzwerk eth0 vom DHCP aus. Der dritte Eintrag legt die für DHCP verfügbaren IP-Adressen fest.
Der erste Eintrag legt wlan0 als DHCP-Interface fest, der zweite schliesst das Kabelnetzwerk eth0 vom DHCP aus. Der dritte Eintrag legt die für DHCP verfügbaren IP-Adressen fest.
== hostapd ==
Editieren der Datei ''/etc/init.d/hostapd''. Dort muss ein Verweis auf die Konfigurationsdatei hinterlegt/angepasst werden:
<source lang="bash">
  DAEMON_CONF=/etc/hostapd.conf
</source>
=== /etc/hostapd.conf ===
<source lang="bash">
## Log-Einstellungen
# "-1" = alle Module loggen, "3" z.B. loggt nur WPA
logger_syslog=-1
# "2" = informative Meldungen, "1" = Debuggen, "0" = echt alles loggen
logger_syslog_level=2
# wie oben, nur Ausgabe auf Konsole, wenn Programm nicht im Hintergrund läuft
logger_stdout=-1
# wie oben
logger_stdout_level=2
## Statusinformationen
# temporäre Datei für Statusinformationen
dump_file=/tmp/hostapd
# Verzeichnis für Socket für hostapd_cli und andere externe Kontrollprogramme
ctrl_interface=/var/run/hostapd
## SSID und Kanal
# Name des Accesspoints
ssid=hostapd1
# Kanal
channel=1
## Wireless Modus
# g = IEEE 802.11g, Default: IEEE 802.11b
hw_mode=g
## Intervall für Rundspruch
# Rundspruch (Beacon) "Ich bin ein AP!" in Millisekunden (1 - 65535)
beacon_int=100
## DTIM-Ankündigung
# Ein DTIM ist eine Art Weckruf an die Stationen: "Gleich wird es interessant!".
# Es reicht jedes zweite Beacon mit dem DTIM zu bestücken.
dtim_period=2
## Maximale Anzahl an Clients
# Limit: 2007, man sollte aber realistisch bleiben...
max_num_sta=20
## RTS/FRAGM abschalten
# Das übernimmt das WLAN-Modul, ja, 2347=off
rts_threshold=2347
# und 2346=off
fragm_threshold=2346
## MAC-basierte Authentifizierung
# 0 = akzeptieren, wenn nicht explicit abgelehnt (deny_mac_file)
# 1 = ablehnen, wenn nicht explicit erlaubt (accept_mac_file)
# 2 = RADIUS-Server verwenden, nach Durchsicht der obigen Listen
# Zum Sperren/Erlauben diese Dateien anlegen und bestücken:
# accept_mac_file=/etc/hostapd.accept
# deny_mac_file=/etc/hostapd.deny
macaddr_acl=0
## Authentifizierung
# 1 = Open System, 2= Shared Key --> WEP
# 3 = beides
auth_algs=1
## WPA/WPA2
# 1 = WPA, 2 = WPA2, 3 = beides
wpa=3
# WLAN-Key (Pre-shared Key)
wpa_passphrase=secret_word
# Pre-shared-Key Management
wpa_key_mgmt=WPA-PSK
# WPA2 Verschlüsselung anbieten
rsn_pairwise=CCMP
# WPA Verschlüsselung anbieten
wpa_pairwise=TKIP CCMP
## Schlüsselerneuerung
# Schlüsselteile nach 10 Min. erneuern
wpa_group_rekey=600
# s.o.
wpa_ptk_rekey=600
# erneuern nach 24 Std.
wpa_gmk_rekey=86400
## Gerät und Treiber
# USB-Stick einbinden
interface=wlan0
# An Netlink-Interface übergeben
driver=nl80211
# SSID nicht "verheimlichen"
# 1 = Sende leere SSID und ignoriere Anfragen die die SSID nicht enthalten
# 2 = Sende leere SSID, aber setze die Länge nicht auf 0, sondern genau auf die Länge der SSID,
# einige Clients brauchen das.
ignore_broadcast_ssid=0
## Ländercode
# Ländercode setzen
country_code=DE
# Ländercode aktivieren, "0" = aus (default)
ieee80211d=1
</source>

Version vom 21. Oktober 2014, 09:24 Uhr

  apt-get install iw hostapd dnsmasq wireless-tools

Vorhanden sein muss eine Kabelnetzwerkkarte (eth0), sowie ein WLAN-Adapter (wlan0) der den AP-Modus unterstützt. Ob der AP-Modus unterstützt wird, kann mit folgendem Befehl abgefragt werden:

  iw list | grep AP$

Wenn die Ausgabe folgendermaßen aussieht, ist alle ok:

  * AP

Der WLAN-Adapter wird vom Modul rt2800usb angesteuert und benötigt die Firmware rt2870.bin aus dem Paket firmware-ralink. Ist die Firmware installiert, funktioniert der USB-Stick out-of-the-box und beherrscht auch den AP-Modus. Hier die genauen Informationen vom USB-System über den Stick:

 > lsusb
 Bus 004 Device 002: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

Der Accesspoint wird mit der Software hostapd betrieben; für die Verteilung der IP-Adressen an die WLAN-Clients ist dnsmasq zuständig.

DHCP-Server

Erstellen einer neuen Konfigurationsdatei. Ein Backup der Alten kann nicht schaden (mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig).

/etc/dnsmasq.conf

  interface=wlan0
  no-dhcp-interface=eth0
  dhcp-range=interface:wlan0,192.168.99.33,192.168.99.99,infinite

Der erste Eintrag legt wlan0 als DHCP-Interface fest, der zweite schliesst das Kabelnetzwerk eth0 vom DHCP aus. Der dritte Eintrag legt die für DHCP verfügbaren IP-Adressen fest.

hostapd

Editieren der Datei /etc/init.d/hostapd. Dort muss ein Verweis auf die Konfigurationsdatei hinterlegt/angepasst werden:

  DAEMON_CONF=/etc/hostapd.conf

/etc/hostapd.conf

## Log-Einstellungen
# "-1" = alle Module loggen, "3" z.B. loggt nur WPA
logger_syslog=-1
# "2" = informative Meldungen, "1" = Debuggen, "0" = echt alles loggen
logger_syslog_level=2
# wie oben, nur Ausgabe auf Konsole, wenn Programm nicht im Hintergrund läuft
logger_stdout=-1
# wie oben
logger_stdout_level=2

## Statusinformationen
# temporäre Datei für Statusinformationen
dump_file=/tmp/hostapd
# Verzeichnis für Socket für hostapd_cli und andere externe Kontrollprogramme
ctrl_interface=/var/run/hostapd

## SSID und Kanal
# Name des Accesspoints
ssid=hostapd1
# Kanal
channel=1

## Wireless Modus
# g = IEEE 802.11g, Default: IEEE 802.11b
hw_mode=g

## Intervall für Rundspruch
# Rundspruch (Beacon) "Ich bin ein AP!" in Millisekunden (1 - 65535)
beacon_int=100

## DTIM-Ankündigung
# Ein DTIM ist eine Art Weckruf an die Stationen: "Gleich wird es interessant!".
# Es reicht jedes zweite Beacon mit dem DTIM zu bestücken.
dtim_period=2				

## Maximale Anzahl an Clients
# Limit: 2007, man sollte aber realistisch bleiben...
max_num_sta=20

## RTS/FRAGM abschalten
# Das übernimmt das WLAN-Modul, ja, 2347=off
rts_threshold=2347
# und 2346=off
fragm_threshold=2346

## MAC-basierte Authentifizierung
# 0 = akzeptieren, wenn nicht explicit abgelehnt (deny_mac_file)
# 1 = ablehnen, wenn nicht explicit erlaubt (accept_mac_file)
# 2 = RADIUS-Server verwenden, nach Durchsicht der obigen Listen
# Zum Sperren/Erlauben diese Dateien anlegen und bestücken:
# accept_mac_file=/etc/hostapd.accept
# deny_mac_file=/etc/hostapd.deny
macaddr_acl=0
				

## Authentifizierung
# 1 = Open System, 2= Shared Key --> WEP
# 3 = beides
auth_algs=1


## WPA/WPA2
# 1 = WPA, 2 = WPA2, 3 = beides
wpa=3
# WLAN-Key (Pre-shared Key)
wpa_passphrase=secret_word
# Pre-shared-Key Management
wpa_key_mgmt=WPA-PSK
# WPA2 Verschlüsselung anbieten
rsn_pairwise=CCMP
# WPA Verschlüsselung anbieten
wpa_pairwise=TKIP CCMP

## Schlüsselerneuerung
# Schlüsselteile nach 10 Min. erneuern
wpa_group_rekey=600
# s.o.
wpa_ptk_rekey=600
# erneuern nach 24 Std.
wpa_gmk_rekey=86400

## Gerät und Treiber
# USB-Stick einbinden
interface=wlan0
# An Netlink-Interface übergeben
driver=nl80211
# SSID nicht "verheimlichen"
# 1 = Sende leere SSID und ignoriere Anfragen die die SSID nicht enthalten
# 2 = Sende leere SSID, aber setze die Länge nicht auf 0, sondern genau auf die Länge der SSID,
# einige Clients brauchen das.
ignore_broadcast_ssid=0	

## Ländercode
# Ländercode setzen
country_code=DE
# Ländercode aktivieren, "0" = aus (default)
ieee80211d=1