WLan NFS unter Debian Squeeze mit hostapd

Es folgt eine kurze und nicht vollständige Zusammenfassung, wie ich unter Debian Squeeze einen WLan-Fileserver mit NFS und hostapd eingerichtet habe. Das spannende an der ganzen Sache ist, dass sich Clients mit meinem Fileserver direkt und ohne eine Zwischenstation in Form eines WLan-Routers verbinden können. Dies wird dadurch erreicht, dass der Rechner, der als NFS-Server dient, mit hostapd und einem geeigneten WLan USB Stick in einen Wireless Access Point verwandelt wurde.

1. WLan USB Stick und hostapd

Da in meinen Mini-ITX Desktop keine WLan PCI-Karte mehr passt, verwende ich diesen WLan USB Stick: NetGear, Inc. WNA1100 Wireless-N 150 [Atheros AR9271]. Dieser benötigt den Treiber ath9k_htc.
Da ath9k_htc noch nicht in den Paketquellen (firmware-atheros) für Debian 6 enthalten ist, steht man vor der Wahl, entweder einen neueren Kernel sowie das Paket firmware-atheros aus den Squeeze-Backports zu installieren oder auf Compat-Wireless und die passende Firmware ath9k_htc.fw zurückzugreifen. Ich wählte letztere Option.

Ist ath9k_htc.fw heruntergeladen, kann es sogleich in das folgende Verzeichnis kopiert werden:

/lib/firmware

Vor dem Kompilieren von Compat-Wireless ist wichtig, dass ein Symlink zu den Kernel-Headers erstellt wurde.
Also die entsprechenden Linux-Headers herunterladen, sofern nicht schon vorhanden.

apt-get install linux-headers-$(uname -r)

Und dann den Symlink erstellen; in meinem Fall sieht er so aus:

ln -s /usr/src/linux-headers-2.6.32-5-686 /lib/modules/2.6.32-5-686/build

Nach dem Kompilieren und Installieren von Compat-Wireless ist es wichtig, dass die alten Module entladen werden:

make unload

Danach kann man neu Booten oder den Treiber laden:

modprobe ath9k_htc

Nun iw installieren und mit

iw list

sich davon überzeugen, dass der Wlan Stick in den Master Mode beziehungsweise AP Mode gesetzt werden kann:

Supported interface modes:
		 * IBSS
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor
		 * Unknown mode (8)
		 * Unknown mode (9)

Es geht weiter: Nun können wir Hostapd und hostap-utils (keine Ahnung ob benötigt) installieren, um mit dem WLan Stick den Access Point erstellen zu können.

Nun sollte die Datei /etc/hostapd/hostapd.conf so editiert werden:

interface=wlan2
driver=nl80211
ssid="SSID ausdenken und einsetzen"
channel=4
hw_mode=g
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase="Passwort einsetzen"
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Der Acces Point nutzt einen WPA2-Schlüssel; die richtige Bezeichung für das Interface findet man mit

iwconfig

Ob nun der WLan Stick in den AP Mode gesetzt werden kann, wird mit folgendem Befehl getestet:

hostapd -dd /etc/hostapd/hostapd.conf

Damit sollte der Acces Point online sein, sodass man ihn im Networkmanager eines anderen Rechners sehen kann.
Man sollte sich über den gewählten WPA2-Key auch schon mit ihm verbinden können, wobei noch kein Netzwerk aufgebaut werden kann – dazu kommen wir später.

Funktioniert alles kann die Datei /etc/default/hostapd erstellt werden und dort dies eingetragen werden:

RUN_DAEMON="yes"

Dadurch kann hostapd später mit

/etc/init.d/hostapd start

gestartet werden.

2. Fileserver mit NFS

Kommen wir zum Fileserver, der mit NFS umgesetzt wird.
Ich bin etwas stiefmütterlich dieser Anleitung zum NFS gefolgt; hinsichtlich des NFS besteht bei mir noch Nachbesserungsbedarf, besonders im Hinblick auf Sicherheitsaspekte sowie die unterschiedlichen Möglichkeiten der Gestaltung der Freigaben.

Wer ersteinmal schnelle Ergebnisse will, kann meiner kurzen Zusammenfassung folgen.

Der Rechner, der als Server dient, benötigt das Paket nfs-kernel-server; der Client braucht nfs-common.

Der Dienst Portmap muss gestartet sein:

/etc/init.d/portmap start

Nun werden in der Datei /etc/exports die Freigaben definiert; hier verwende ich aus Faulheit im Moment nur IP-basierte Freigaben.

/media/nfs 192.168.3.3(ro)

Danach müssen nur noch die Änderungen dem NFS bekanntgegeben werden:

exportfs -ra

Es kann sich also nur der Rechner mit der IP 192.168.3.3 mit dem Server verbinden.

Ich persönlich habe eine externe Festplatte, zu allem Überfluss mit dem NFTS-Format, in meinen NFS-Ordner gemountet, man kann aber auch einfach seine Daten direkt in dem Ordner ablegen.

Mit

mount  -l

ersteinmal herausfinden, wie die Festplatte heisst und dann entsprechend einhängen:

mount -t ntfs  -o ro,auto,users,nls=utf8,umask=007,gid=46 /dev/sdc1 /media/nfs

3. IP-Vergabe und Verbinden mit dem NFS

Jetzt kann man sich schon fast mit dem NFS verbinden, es fehlen nur noch ein paar Kleinigkeiten:
Da ich im Moment ohne DHCP-Server und mit statischen IP-Adressen arbeite, muss dem Wlan USB Stick die entsprechende IP zugewiesen werden; analog zur IP-Freigabe sollte dies im Beispiel dann so aussehen:

ifconfig wlan2 192.168.3.1 netmask 255.255.255.0

Der Access Point erhält somit die IP 192.168.3.1 .

Ist hostapd gestartet kann man sich mit dem Access Point verbinden, indem man seinem
Clienten die IP vergibt, für die im NFS die Freigabe erteilt wurde: 192.168.3.3 – Gateway ist natürlich 192.168.3.1 .

Ist man nun mit dem AP verbunden und hat einen neuen Ordner ( /media/nfs) erstellt, kann man dort die Daten vom NFS mounten:

mount -t nfs 192.168.3.1:/media/nfs /media/nfs

PS: Nun fehlt nur noch ein DHCP-Server, damit nicht mit statischen IP-Adressen gearbeitet werden muss und etwas mehr Wissen um die Konfiguration des NFS. Vielleicht spiele ich aber auch lieber weiter und erforsche, wie man mithilfe von hostapd Clients drahtlos mit dem lokal installierten Apache verbinden kann…

03-03-2012
Kommentar ablassen:

Abschicken!


Mehr
EEE PC 1015PEM WLan unter Debian
Debian Live System selbst erstellen
FreeBSD auf EEE PC 1015PEM
EEE PC 1016P FN-Keys unter Debian / Ubuntu
GPS und Linux (Debian)

Sitemap & Archiv
Impressum & Datenschutz
Tag the Web

« - »