SoftAP oder: „Wie verwende ich meine WLAN-Karte als Router?“

Windows 7 verfügt über eine Fähigkeit, über die nur wenige Bescheid wissen: Mit zwei einfachen Befehlen verwandelt man jede aktuelle WLAN-Karte in einen (sehr einfachen) Router, über den Clients per ICS (Internet Connection Sharing) auch die Internetverbindung mitbenutzen kann. Der sogenannte SoftAP enthält dabei auch einen DHCP-Server, sodass man sich um die manuelle Vergabe von passenden IP-Adressen keine Sorge machen muss.

Hier nun die Vorgehensweise:

  1. Das Startmenü öffnen
  2. cmd tippen – Rechsklick -> als Administrator ausführen
  3. netsh wlan set hostednetwork mode=allow ssid="mynet" key="mynetpassword" keyUsage=persistent
  4. netsh wlan start hostednetwork
  5. Netzwerk & Freigabecenter -> Adaptereinstellungen -> Rechtsklick auf den Adapter, der die Verbindung zum Internet herstellt -> Eigenschaften
  6. Registerkarte „Freigabe“
  7. Häkchen bei „Anderen Benutzern im Netzwerk gestatten…“ setzen und den neu geschaffenen virtuellen Adapter als Heimnetzverbindung auswählen

Ggf. nach einem Neustart der Internetverbindung steht diese dann über WLAN zur Verfügung. Dazu wählen sich die Clients einfach in das neu geschaffene Netz ein (dieses erscheint nicht als Ad-Hoc-Netz sondern als reguläres WLAN).

Aussschalten kann man den SoftAP natürlich auch:

netsh wlan stop hostednetwork

Für Windows vor Windows 7 steht mit Connectify für rund 35 Euro eine Lösung zur Verfügung und unter Linux gibt es wie hier im Ubuntu-Wiki beschrieben die Möglichkeit, solch ein Netz via hostapd aufzubauen.

Passwörter aus dem Windows Credential Manager auslesen

Eine ganz nützliches Programm, über das ich vor kurzem beim Umzug auf einen neuen Laptop gestoßen bin, möchte ich dem geneigten Leser nicht vorenthalten: Network Password Recovery. Damit kann man Passwörter, die im Windows Credential Manager gespeichert sind (z.B. Remote-Anmeldeinformationen im LAN oder das Passwort für die Windows Live ID), auslesen.

Mithilfe dieses Tools konnte ich 2 Passwörter für LAN-PCs wiederherstellen und mir so eine Passwortänderung auf diesen Maschinen ersparen. Die Software wird kostenlos von Nirsoft (u.a. bekannt für das Kommandozeilenutility NirCmd) zum Download angeboten und ist nur rund 500kB groß. Probleme bereiten dem Tool nur das Heimnetzgruppen-Passwort und Passwörter aus virtualapp/digital (hier ist zudem nicht ganz klar, wozu diese dienen). Für meine Zwecke war es also perfekt 🙂

Netlimiter 3: Remote-Control richtig einrichten

Viele Anwender berichten von Problemen bei der Einrichtung des Remote-Control-Service von NetLimiter (speziell unter Windows 7). Ich selbst bin auch auf diverse Probleme gestoßen. Hier die Lösung:

  • Der wichtigste Schritt besteht darin, Windows 7 zu sagen, dass es Remote-Anmeldungen mit eingetragener Domäne nicht filtert sondern direkt weitergibt. Dafür erstellt man unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\ den DWORD(32 Bit)-Eintrag LocalAccountTokenFilterPolicy mit dem Wert 1.
  • Als nächstes kontrolliert man, ob die Dienste „Server“ und der RPC-Dienst unter Verwaltung->Dienste auch läuft.
  • Last but not least muss man in der Windows-Firewall (so aktiv) den Netlimiter-Service (nicht dem Client!) als Serverdienst erlauben.

Mit diesen Einstellungen bekommt man sofort Verbindung zum Remote-Netlimiter und kann wie vom lokalen Benutzer gewohnt die Limits setzen und aufheben.

VPN-Tunnel mit pptpd

Wenn man in öffentlichen, nicht verschlüsselten Netzwerken unterwegs ist ist es immer eine gute Idee, den gesamten Internetverkehr zu verschlüsseln. Und wenn man schonmal einen Rootserver hat…

Also habe ich mich entschieden pptpd aufzusetzen, weil es nicht nur von Windows nativ unterstützt wird sondern auch von fast allen modernen Mobilgeräten und auch von Linux. Die Konfiguration ist eigentlich sehr simpel, der „Trick-Teil“ kommt am Ende. Für den muss ich mich bei „Lord Gurke“ aus dem Serversupportforum bedanken.

Also, los gehts:

apt-get install pptpd

Das war schon alles, was man installieren muss. Nun folgt die Config. Zunächst kommt /etc/pptpd.conf dran. Hier werden u.a. die IP-Adressen für das neue Netzwerk bestimmt.

1
2
3
4
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.1.1
remoteip 192.168.1.200-253

Das heißt im Klartext, dass mein Rootserver die IP 192.168.1.1 erhält und alle Clients automatisch Adressen von 200 bis 253 zugewiesen bekommen. Sehr komfortabel 🙂

Als nächstes wird /etc/ppp/pptpd-options editiert:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.1.1
proxyarp
nodefaultroute
mtu 1490
mru 1490
noipx
lock
nobsdcomp

Neben einigen für das System wichtigen Einstellungen wird hier eingestellt, dass der Rootserver seine Adresse als DNS-Server an die Clients pusht und dass nur das (noch) als sicher geltende MS-CHAPv2 als Authentifizierungsverfahren zum Einsatz kommt.

Die Benutzerdaten liegen bei pptpd leider unverschlüsselt im Keyfile, insofern sollte man vorsichtshalber einen zufälligen Schlüssel nehmen, den man sonst nirgends verwendet. Das Keyfile ist /etc/ppp/chap-secrets und wie folgt aufgebaut:

Username<TAB>*<TAB>Passwort<TAB>*
Das letzte Sternchen kann man dabei auch durch eine IP-Adresse oder einen IP-Adressbereich ersetzen, dann kann man nur aus diesem Netz bzw. von dieser IP auf den Server zugreifen.

Soa, jetzt zum „Trick-Teil“ 😉
PPTPD leitet in der bis jetzt geschaffenen Umgebung keine Internetanfragen weiter. Dazu muss über iproute erst noch eine Route eingerichtet werden:

1
2
3
iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -P OUTPUT ACCEPT

Das packt man am besten direkt in ein rc-Script damit es beim Serverneustart geladen wird.
Als letztes dann noch die /etc/sysctl.conf bearbeitet werden und die Zeile

net.ipv4.ip_forward = 1

von ihrer Kommentar-Raute befreit werden. Und fertig.