Wie erstelle ich in Windows 7 einen WLAN-Hotspot mit Weiterleitung zu einer lokalen Webseite?

Wie erstelle ich in Windows 7 einen WLAN-Hotspot mit Weiterleitung zu einer lokalen Webseite?

Bevor ich mich in die Frage vertiefe, einige kurze Hintergrundinformationen:
Ich habe ein kleines Experiment erstellt, das mit einem Computer unter Windows 7 funktioniert. Auf diesem Computer gibt es einen kleinen Webserver, der eine Webseite bereitstellt, die ständig mit Statusinformationen aus dem Experiment aktualisiert wird. Dieses Experiment wird nun bei einigen Veranstaltungen gezeigt (denken Sie an MakerFaire, ...) und ich fände es toll, wenn die Leute ihre Smartphones (oder Laptops) verwenden könnten, um diese Webseite direkt anzuzeigen, mit so wenig Konfigurationsaufwand wie möglich.

Im Wesentlichen möchte ich Folgendes erreichen:

  1. Erstellen Sie einen WLAN-Zugangspunktüber den integrierten WLAN-Adapter des Computersmit denen sich Personen verbinden können (offen oder passwortgeschützt)

  2. Abfangen und Umleiten von DNS- und/oder HTTP-Anfragen, sodass die Experimentier-Webseite angezeigt wird, wenn ein Browser geöffnet wird (wie ein Captive Portal)

Bisher konnte ich Punkt 1 mithilfe der Funktion „Gehostetes Netzwerk“ von Windows 7 erreichen, die für den WLAN-AP-Teil hervorragend funktioniert. Ich komme jedoch nicht weiter, wenn es darum geht, die DHCP-Antworten zu ändern, um einen benutzerdefinierten DNS-Server bereitzustellen, der wiederum den gesamten Datenverkehr an meinen Webserver weiterleitet: Gibt es eine Möglichkeit, dies zu tun?

Ein paar Einschränkungen, die ich habe (sonst wäre es zu einfach ;-) ):

  • Ich hänge bei Windows 7 fest (ich weiß, mit Linux wäre das Problem schon längst gelöst!)
  • Der Computer ist ein Standalone-Computer, d. h. er hat keinen Zugriff auf andere Netzwerke oder das Internet.Das heißt auch: kein Router oder anderes externes Gerät!

Wir sind für jede Hilfe und jeden Vorschlag sehr dankbar!

Antwort1

  1. Holen Sie sich MaraDNS

MaraDNS ist ein kostenloser, leichter und relativ einfach zu konfigurierender DNS-Server für Windows und Linux. Laden Sie ihn hier herunter und entpacken Sie ihn in einen Ordner.

  1. Konfigurieren Sie MaraDNS

Öffnen Sie „secret.txt“ und ändern Sie den Wert in etwas anderes (zufällige Zeichen).

Die MaraDNS-Konfiguration befindet sich in der Datei „mararc“ im selben Verzeichnis. DNS-Server haben zwei Funktionssätze. Sie können als „autoritativer Nameserver“ oder als „rekursiver/caching Nameserver“ fungieren.

Autoritative Nameserver geben IP-Adressen für Domänennamen an. Rekursive Nameserver speichern Informationen von autoritativen Nameservern und leiten Anfragen rekursiv weiter.

Wir werden sowohl die autoritative als auch die rekursive Funktionalität in MaraDNS konfigurieren.

2.1 Autoritative Konfiguration

Wir konfigurieren den Server so, dass er autoritative Namen der LAN-Domänennamen bereitstellt. Wählen Sie eine beliebige Domäne aus, ich habe „local.com“ gewählt (beachten Sie jedoch, dass Sie nicht auf die eigentliche Website „local.com“ zugreifen können, wenn Sie einen vorhandenen Domänennamen auswählen).

Fügen Sie „mararc“ Konfigurationszeilen wie diese hinzu:

csv2 = {}
csv2["local.com."] = "db.lan.txt"

Dabei ist local.com der von Ihnen gewählte Domänenname und db.lan.txt der Name der zweiten Konfigurationsdatei, die wir als Nächstes erstellen werden (ändern Sie ihn, wenn Sie die zweite Konfigurationsdatei benennen möchten).

Erstellen Sie eine neue Datei mit dem Namen „db.lan.txt“ im selben Verzeichnis wie MaraDNS.

Fügen Sie für jeden Computer, dessen Namen Sie auflösen möchten, eine Zeile zu „db.lan.txt“ hinzu. Fügen Sie beispielsweise für zwei Computer, einen „dev.local.com“ und den anderen „blog.local.com“, die folgenden Zeilen hinzu:

dev.%       192.168.1.4 ~
blog.%        192.168.1.6 ~

Erledigt!

2.2 Rekursive Konfiguration

Wir richten MaraDNS so ein, dass Ihre Standard-Nameserver nach allen anderen Domänen gefragt werden, damit Sie alle anderen Domänennamen in ihre korrekten IP-Adressen auflösen können.

Finden Sie die DNS-Serveradressen Ihres Internetdienstanbieters heraus. Diese sind wahrscheinlich entweder auf der Statusseite des Routers aufgeführt oder können in den Details Ihres Netzwerkadapters nachgelesen werden.

Fügen Sie nun die DNS-Server Ihres ISPs als Upstream-Server in „mararc“ hinzu:

upstream_servers = {}
upstream_servers["."] = "xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyy"

Dabei sind xxx.xxx.xxx.xxx und yyy.yyy.yyy.yyy die DNS-Server Ihres ISPs.

Erledigt!

  1. Führen Sie MaraDNS aus und testen Sie es mit askmara.exe

Doppelklicken Sie auf „runmara.bat“ und lassen Sie den Server laufen.

Öffnen Sie eine Eingabeaufforderung, navigieren Sie zum MaraDNS-Verzeichnis und versuchen Sie, Folgendes auszuführen:

askmara.exe Agoogle.com.

Und

askmara.exe Ablog.local.com.

Sie sollten Antworten wie diese erhalten:

# Querying the server with the IP 127.0.0.1
# Question: Agoogle.com.
google.com. +300 a 74.125.67.100
google.com. +300 a 74.125.53.100
google.com. +300 a 74.125.45.100
# NS replies:
# AR replies:

Und:

# Querying the server with the IP 127.0.0.1
# Question: Ablog.local.com.
blog.local.com. +86400 a 192.168.1.6
# NS replies:
#local.com. +86400 ns synth-ip-7f000001.local.com.
# AR replies:
#synth-ip-7f000001.local.com. +86400 a 127.0.0.1

Wenn bei der ersten Abfrage Probleme auftreten, haben Sie die rekursiven DNS-Einstellungen vermasselt (sind die DNS-Serveradressen Ihres Internetdienstanbieters korrekt?), und wenn bei der zweiten Abfrage ein Fehler auftritt, haben Sie die autoritativen Einstellungen vermasselt.

  1. Ändern Sie MaraDNS, um auf Anfragen aus Ihrem LAN zu antworten

Schließen Sie das MaraDNS-Fenster und ändern Sie die ersten beiden Zeilen von „mararc“ etwa wie folgt:

ipv4_bind_addresses = "192.168.1.2
recursive_acl = "192.168.1.0/24"

Dabei ist 192.168.1.2 die IP-Adresse des Computers, auf dem der Server ausgeführt wird, und der Teil „192.168.1“ von recursive_acl ist derselbe wie in Ihrem Netzwerk (möglicherweise 192.168.0.0/24).

Starten Sie MaraDNS erneut und lassen Sie es laufen.

  1. Richten Sie Ihren Router so ein, dass er Ihren neuen DNS-Server bereitstellt

Öffnen Sie die Weboberfläche Ihres Routers und suchen Sie die DHCP-Servereinstellungen. Dort sollte eine Option zum Einrichten eines DNS-Servers vorhanden sein. Schreiben Sie die IP-Adresse des Computers, auf dem der DNS-Server ausgeführt wird.

Trennen Sie für jeden Ihrer Computer das Netzwerk (z. B. durch Deaktivieren und Aktivieren in Windows oder durch Verwendung von „ifconfig eth0 down“/„ifconfig eth0 up“ unter Linux).

Das war’s. Jetzt sollten Sie Ihre LAN-Computer über ihre Domänennamen aufrufen können.

Quelle

verwandte Informationen