Benutzer-Werkzeuge

Webseiten-Werkzeuge


wlan_ap

WLAN Access Point

Der Rechner kann mit einem entsprechenden Stick ein WLAN zur Verfügung stellen. Ziel ist der Einsatz im Museum, wo so die Netzwerkinfrastruktur gleich mitgeliefert werden kann. Ich folge hier im Kern den Empfehlungen von https://wiki.debianforum.de/WLAN-Access-Point_mit_hostapd_und_USB-Stick

Nicht alle Chipsätze sind im für Odroid gebauten Kernel von vornherein unterstützt. Hier zum Einsatz kommt ein RALINK Chip RT5370, der mit dem Modul rt2800usb unterstützt wird. Üblicherweise ist dieser Modul blacklisted, muss also zunächst per modprobe nachgeladen werden bzw. für den Regelbetrieb aus der entsprechenden blacklist Datei in /etc/modprobe.d entnommen werden. Der Chip unterstützt auch den AP mode.

Es gibt immermal Probleme, dass der Rechner einfriert. Dies hängt wohl mit Mängeln in der RT5370 Unterstützung zusammen. Weiterführende Links gibt es hier und da.
Deshalb habe ich kurzfristig einen anderen Stick verbaut. Der EDIMAX EW-7811UN basiert auf einem RTL8188CUS Chip. Dieser funktioniert nicht mit dem Standard hostapd im Debian Wheezy, wohl aber mit einem von Realtek bereitgestellten. Diesen extrahiert man entsprechend dieser Anleitung. Im Grunde läuft es darauf hinaus, bei Realtek das Treiber/Softwarepaket herunterzuladen und dort den hostapd mit make && make install ins System zu bringen. Die Quellen funktionieren unabhängig von der Kernelversion. Natürlich muss man entsprechend den hauseigenen hostapd des Debian deinstallieren. Für die korrekte Benutzung als Deamon habe ich noch mit ln -s /usr/local/bin/hostapd /usr/sbin/hostapd einen Link eingerichtet.

Notwendige Pakete für die Unterstützung des Sticks, des AP Modus, sowie DHCP Server für die Schnittstelle:

apt-get install firmware-ralink hostapd wireless-tools dnsmasq iw

Mit ifconfig -a lässt sich überprüfen, ob der Modul korrekt geladen, die Wlan Schnittstelle also verfügbar ist. iw list|grep AP$ zeigt * AP, wenn der Accesspoint Modus unterstützt wird.

DHCP Server

Die Konfigurationsdatei von dnsmasq wird gesichert und neu erstellt: mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
/etc/dnsmasq.conf

interface=wlan0
no-dhcp-interface=eth0
dhcp-range=interface:wlan0,10.0.0.20,10.0.0.30,infinite

legt fest, dass dhcp die Adressen 10.0.0.20-10.0.0.30 auf der Schnittstelle wlan0, nicht aber auf eth0 bereitstellt.

hostapd

Stellt den Accesspoint Modus bereit. Der hostapd erfordert je nach Anwendung erheblich Konfigurationsaufwand. Die Konfigurationsdatei ist „/etc/hostapd.conf“. Falls die Konfiguration nicht funktioniert, sollte man die Startdatei „/etc/init.d/hostapd“ überprüfen und gegebenenfalls den Wert DAEMON_CONF anpassen:
DAEMON_CONF=/etc/hostapd.conf Im vorliegenden Fall wird eine sehr einfache Konfiguration gewählt. Sie erlaubt nur WPA2 und Pre-Shared-Key zur Authentifizierung. Das Passwort ist entsprechend anzupassen. Die Einträge sind entsprechend kommentiert.
/etc/hostapd.conf

# USB-Stick oder WLAN-Gerät
interface=wlan0
# Netlink-Treiber laden Nicht für RTL8188CUS. Da einfach auskommentieren, damit der Standardtreiber hostapd benutzt wird.
driver=nl80211
# AP-Name
ssid=ec1057
# Kanal
channel=1
# bis 54Mbit, unterstützt auch 802.11 und 802.11b
hw_mode=g
# Authentifizierungsmodus "Open System Authentication"
auth_algs=1
# akzeptiert nur WPA2-Verbindungen
wpa=2
# Pre-Shared-Key (PSK) im Klartext
wpa_passphrase=secret_word

Netzwerk-Konfiguration

Die notwendigen Anpassungen werden in der Datei /etc/network/interfaces vorgenommen. Hier werden die beiden Interfaces eth0 und wlan0 definiert, hostapd gestartet, sowie ein paar Firewallregeln für das Routing des Verkehrs von wlan0 nach eth0 eingerichtet.

# The loopback network interface
auto lo
	iface lo inet loopback
# The primary network interface
auto eth0
	iface eth0 inet dhcp
# WLAN mit fester Adresse für hostapd
auto wlan0
	iface wlan0 inet static
	address 10.0.0.1
	netmask 255.255.255.0
	broadcast 10.0.0.255
# Firewall zurücksetzen, Tabellen leeren
	up /sbin/iptables -F
	up /sbin/iptables -X
	up /sbin/iptables -t nat -F
# Kabelnetzwerk maskieren, Port-Forwarding sowie Nat aktivieren
	up iptables -A FORWARD -o eth0 -i wlan0 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
	up iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
	up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
	up sysctl -w net.ipv4.ip_forward=1
# hostapd und dnsmasq (neu) starten
	up service hostapd restart
	up service dnsmasq restart

Wenn mehrere Netzwerkschnittstellen (z.B. WLAN Accesspoint) bedient werden, so wird es schwieriger HTML Links darzustellen. Hier ist dies prekär mit dem Zugriff auf die Java Terminalemulation über den Port 3278. Einen Link auf den selben Server/Hostnamen mit Wechsel der Portnummer der in einem neuen Tab geöffnet wird kann man wie folgt erzeugen:

<html>
<script language="JavaScript">
document.write('<a href="' + window.location.protocol + '//' + window.location.hostname + ':3278" Target="_blank" >Terminal</a> ' );
</script>
</html>

SSH Einrichtung für standalone Maschine

Wenn man sich per ssh auf eine Maschine verbindet, die keine aktive Internetverbindung verfügt, kann es zu Problemen durch DNS reverse lookup kommen. Um dies zu vermeiden in /etc/ssh/sshd_config:

UseDNS no

einfügen.

wlan_ap.txt · Zuletzt geändert: 2015/06/08 09:53 von roman