Jak utworzyć hotspot Wi-Fi w systemie Windows 7 + przekierowanie na lokalną stronę internetową?

7

Zanim przejdę do pytania, kilka szybkich informacji ogólnych:
Zbudowałem mały eksperyment, który współpracuje z komputerem z systemem Windows 7. Na tym komputerze znajduje się niewielki serwer internetowy, który stale aktualizuje stronę internetową z informacjami o stanie pochodzącymi z eksperymentu. Teraz ten eksperyment będzie wyświetlany podczas niektórych wydarzeń (wyobraź sobie MakerFaire, ...) i chciałbym, aby ludzie mogli używać swoich smartfonów (lub laptopów) do bezpośredniego wyświetlania tej strony przy możliwie jak najmniejszej konfiguracji.

Zasadniczo staram się osiągnąć:

  1. Utwórz punkt dostępu Wi-Fi za pomocą wbudowanego adaptera Wi-Fi w komputerze, z którym ludzie mogą się łączyć (otwarte lub chronione hasłem)

  2. Przechwytuj i przekierowuj żądania DNS i / lub HTTP, aby strona eksperymentu była wyświetlana po otwarciu przeglądarki (np. Portal przechwytujący)

Do tej pory udało mi się osiągnąć punkt 1 za pomocą funkcji Hosted Network systemu Windows 7, która działa doskonale w przypadku części AP Wi-Fi. Jednak utknąłem, jeśli chodzi o modyfikowanie odpowiedzi DHCP w celu zapewnienia niestandardowego serwera DNS, który z kolei przekaże cały ruch do mojego serwera: czy jest jakiś sposób, aby to zrobić?

Kilka ograniczeń, które mam (inaczej byłoby to zbyt łatwe ;-)):

  • Utknąłem w systemie Windows 7 (wiem, że w Linuksie problem zostałby rozwiązany dawno temu!)
  • Komputer jest samodzielną maszyną, tzn. Nie ma dostępu do innych sieci ani Internetu. Co oznacza również brak routera lub innego urządzenia zewnętrznego!

Każda pomoc lub sugestie są mile widziane!

Federico
źródło
Możesz nadać komputerowi serwerowi statyczny adres IP wewnątrz segmentu sieci (np. 192.168.0.200), a następnie na smartfonie adres strony internetowej jako http://192.168.0.200/webpage. Jeśli obawiasz się konfliktu DHCP, zmodyfikuj router, aby wykluczyć 200 z jego zasięgu (tj. 192.168.0.0-199). Niektóre routery używają adresów 192.168.1.x.
harrymc
Może to nie jest wystarczająco wyraźne w moim oryginalnym poście, ale nie ma routera ani innego sprzętu: tylko komputer z systemem Windows i wbudowanym adapterem Wi-Fi!
Federico

Odpowiedzi:

2
  1. Uzyskaj MaraDNS

MaraDNS to darmowy, lekki i stosunkowo łatwy w konfiguracji serwer DNS dla systemów Windows i Linux. Pobierz go stąd i rozpakuj do jakiegoś folderu.

  1. Skonfiguruj MaraDNS

Otwórz „secret.txt” i zmień wartość na coś innego (losowe znaki).

Konfiguracja MaraDNS znajduje się w pliku „mararc” w tym samym katalogu. Serwery DNS mają dwa zestawy funkcji. Mogą działać jako „autorytatywny serwer nazw” lub „rekursywny / buforujący serwer nazw”.

Autorytatywne serwery nazw określają adresy IP dla nazw domen. Rekurencyjne serwery nazw przechowują informacje z autorytatywnych serwerów nazw i przekazują zapytania w sposób rekurencyjny.

Będziemy konfigurować zarówno autorytatywną, jak i rekurencyjną funkcjonalność w MaraDNS.

2.1 Autorytatywna konfiguracja

Skonfigurujemy serwer tak, aby podawał wiarygodne nazwy domen LAN. Wybierz dowolną domenę, wybrałem „local.com” (pamiętaj jednak, że nie będziesz mieć dostępu do faktycznej witryny „local.com”, jeśli wybierzesz istniejącą nazwę domeny).

Dodaj wiersze konfiguracji do „mararc” w następujący sposób:

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

Gdzie local.com to nazwa domeny, którą wybrałeś, a db.lan.txt to nazwa drugiego pliku konfiguracyjnego, który będziemy następnie tworzyć (zmień go, jeśli chcesz nazwać drugi plik konfiguracyjny).

Utwórz nowy plik o nazwie „db.lan.txt” w tym samym katalogu, co MaraDNS.

Dla każdego komputera, którego nazwa ma zostać rozpoznana, dodaj wiersz do „db.lan.txt”. Na przykład dla dwóch komputerów, jednego „dev.local.com” i drugiego „blog.local.com”, dodaj następujące wiersze:

dev.%       192.168.1.4 ~
blog.%        192.168.1.6 ~

Gotowe!

2.2 Konfiguracja rekurencyjna

Skonfigurujemy MaraDNS, aby pytał twoje domyślne serwery nazw dla wszystkich innych domen, abyś mógł rozwiązać wszystkie inne nazwy domen na ich poprawne adresy IP.

Znajdź adresy serwerów DNS swojego dostawcy usług internetowych. Zostaną one prawdopodobnie wymienione na stronie stanu routera lub przez sprawdzenie szczegółów na karcie sieciowej.

Teraz dodaj serwery DNS swojego usługodawcy internetowego jako serwery nadrzędne w „mararc”:

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

Gdzie xxx.xxx.xxx.xxx i rrrrrrrrrrrr są serwerami DNS Twojego usługodawcy internetowego.

Gotowe!

  1. Uruchom MaraDNS i przetestuj go za pomocą askmara.exe

Kliknij dwukrotnie „runmara.bat” i pozostaw serwer uruchomiony.

Otwórz wiersz polecenia, przejdź do katalogu MaraDNS i spróbuj uruchomić:

askmara.exe Agoogle.com.

i

askmara.exe Ablog.local.com.

Powinieneś otrzymać takie odpowiedzi:

# 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:

i:

# 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

Jeśli pojawią się problemy z pierwszym zapytaniem, pomieszałeś rekurencyjne ustawienia DNS (czy adresy twojego serwera DNS ISP są poprawne?), A jeśli pojawi się błąd przy drugim zapytaniu, pomieszałeś autorytatywne ustawienia.

  1. Zmień MaraDNS, aby odpowiadać na zapytania z Twojej sieci LAN

Zamknij okno MaraDNS i zmień pierwsze dwie linie „mararc” na coś takiego:

ipv4_bind_addresses = "192.168.1.2
recursive_acl = "192.168.1.0/24"

Gdzie 192.168.1.2 to adres IP komputera, na którym serwer będzie działał, a „192.168.1 ″ część recursive_acl jest taka sama jak w twojej sieci (może to być 192.168.0.0/24).

Uruchom ponownie MaraDNS i pozostaw go uruchomionym.

  1. Skonfiguruj router, aby rozdawał nowy serwer DNS

Otwórz interfejs sieciowy routera i znajdź ustawienia serwera DHCP. Powinna istnieć opcja skonfigurowania serwera DNS. Wpisz adres IP komputera, na którym będzie działał serwer DNS.

Dla każdego komputera odłącz sieć (np. Wyłączając i włączając ją w systemie Windows lub używając „ifconfig eth0 down” / ”ifconfig eth0 up” w systemie Linux).

To wszystko, powinieneś teraz mieć możliwość odwoływania się do komputerów LAN po ich nazwach domen.

Źródło

Everett
źródło
Cześć! Dziękujemy za zaproponowanie serwera DNS działającego pod Windows. Myślę jednak, że pominąłeś istotną część pytania, gdy wspominasz o ustawieniach serwera DHCP „na routerze”: kompletne rozwiązanie (WiFi AP + serwer DNS + serwer DHCP + serwer WWW) musi być „samodzielne” w systemie Windows PC ...
Federico,
Masz naprawdę 5 pytań: Jak skonfigurować Wi-Fi AP w Win7? Jak skonfigurować serwer DNS w Win7? Jak skonfigurować serwer DHCP w Win7? Jak skonfigurować serwer WWW w Win7? Jak zintegrować wszystkie 4 z tych elementów, aby działały razem?
Everett,
Nie sądzę, żebym kiedykolwiek zadał którekolwiek z tych pytań ... Jedyne pytanie brzmi: w jaki sposób mogę dostosować odpowiedzi DHCP (aby uwzględnić niestandardowy serwer DNS) dystrybuowany przez serwer DHCP wbudowany w funkcję Hosted Network systemu Windows 7?
Federico
Tak, zrobiłeś: kompletne rozwiązanie (Wi-Fi AP + serwer DNS + serwer DHCP + serwer WWW) musi być „samodzielne”
Everett
Ponieważ lubisz cytaty: „Utknąłem, jeśli chodzi o modyfikowanie odpowiedzi DHCP []: czy jest jakiś sposób, aby to zrobić?”. Nigdy nie mówiłem, że mam problemy z konfiguracją serwera DNS lub serwera WWW ...
Federico