Erstellen einer benutzerdefinierten Domäne in meinem Wi-Fi-Netzwerk mit einem Windows-Computer und Apache

663
Jinendra Khobare

Ich habe einen Router und einen Laptop. Auf meinem Laptop habe ich WAMP installiert, zu dem auch Apache gehört. Ich habe Apache so konfiguriert, dass er Zugriff über das Intranet gewährt. Mit der IP-Adresse kann ich von jedem anderen PC / mobilen Gerät in meinem Intranet aus auf den Server zugreifen. Ich möchte keine IP-Adresse verwenden, aber einen leicht zu merkenden Namen wie http: //free.goodies, um die von mir erstellte Webseite zu öffnen.

HINWEIS: Der WLAN-Router hat keinen Internetzugang, es handelt sich um ein reines Intranet-Netzwerk und auf dem Laptop ist ein Windows-Betriebssystem installiert.

Ist es möglich und wenn ja, wie es geht?

0
Wenn es sich nur um den Windows-Computer handelt, fügen Sie der Hosts-Datei die entsprechende Zeile hinzu. Wenn es sich um das gesamte LAN handelt, auf das zugegriffen werden muss, möchten Sie möglicherweise die DNS-Auflösung im Router ändern / einrichten. Ob und wie dies geschieht, hängt vom Router ab. davidgo vor 6 Jahren 0

1 Antwort auf die Frage

0
Anaksunaman

Ich möchte keine IP-Adresse verwenden, aber einen leicht zu merkenden Namen wie http: //free.goodies, um die von mir erstellte Webseite zu öffnen.

Dies ist möglich, indem Sie Ihren eigenen DNS-Server hosten.

Beachten Sie, dass ein beliebiger Computer, den Sie als DNS-Server verwenden, für andere Zwecke verwendet werden kann. Er muss jedoch mit dem richtigen Dienst eingeschaltet sein, um benutzerdefinierte Domänennamen aufzulösen.


Hinweis: Die unten beschriebenen Schritte gelten für Windows 7, Windows 10 sollte jedoch fast identisch sein. Auch wenn diese Schritte ein wenig langweilig erscheinen, müssen Sie, wenn Sie BIND richtig eingerichtet haben, selten mit ihm arbeiten.


Installieren von BIND

Zuerst müssen Sie die DNS-Serversoftware herunterladen. Wir werden die neueste stabile Kopie von ISC BIND verwenden . Zum jetzigen Zeitpunkt ist dies die Version 9.10.6 (Sie sollten jegliche instabile oder frühere Bereitstellungsversion vermeiden ).

  • Klicken Sie auf das Pluszeichen, um die Optionen für ISC BIND zu erweitern.

  • Klicken Sie auf "Download".

  • Wählen Sie nach der Aufforderung im Dialogfeld die 32-Bit- oder 64-Bit-Version aus (die blaue Schaltfläche / die blaue Leiste ist eine Verknüpfung).

Wenn Sie mit dem Download fertig sind, extrahieren Sie die ZIP-Datei und suchen Sie nach einer Datei namens BINDInstall.exe . Sie müssen "Dieses Programm als Administrator ausführen " ( Eigenschaften → Kompatibilität ) ausführen, da für die Installation des Dienstes "ISC BIND" erhöhte Berechtigungen erforderlich sind.

  • Legen Sie das "Zielverzeichnis" fest (wo BIND installiert werden soll). Dies kann ein beliebiges Verzeichnis sein.

  • Legen Sie das Dienstkonto als "NT AUTHORITY \ LocalService" fest (keine Anführungszeichen). Verwenden Sie nicht "named" als Dienstkonto.

  • Lassen Sie die Kennwortfelder leer.

  • Stellen Sie sicher, dass "Automatic Startup" aktiviert ist. Dadurch wird sichergestellt, dass BIND beim Start des Servers gestartet wird.

  • "Config Files nach der Deinstallation beibehalten" wird möglicherweise automatisch überprüft. Das ist okay. Die zwei verbleibenden Kästchen sollten nicht markiert sein ("Nur Werkzeuge" und "Nach Installation starten").

  • Klicken Sie auf "Installieren". Dies sollte den Dienst "ISC BIND" bei Windows registrieren und zwei neue Verzeichnisse ("bin" und "etc") unter dem "Zielverzeichnis" erstellen.

BIND 9 Installationsbeispiel

Wenn Sie einen Vorwärts- / Schrägstrich (dh NT AUTHORITY / LocalService) anstelle des richtigen Backslash \ (dh NT AUTHORITY \ LocalService) verwendet haben, gibt BINDInstall einen Fehler aus, der besagt, dass die Kennwortfelder nicht leer sind. Sie müssen einen Backslash verwenden.

Wenn Sie nach dem ersten Klicken auf "Installieren" separat aufgefordert werden, Visual C ++ - Redistributables zu installieren, sollten Sie dies tun. Wenn das Installationsprogramm von Visual C ++ Redistributables jedoch "Reparieren" anstelle von "Installieren" sagt, haben Sie bereits die richtigen Dateien und können auf "Abbrechen" klicken.

Überprüfen Sie nach der Installation, ob der Dienst "ISC BIND" unter Startmenü → Verwaltung → Dienste erfolgreich erstellt wurde (alternativ Startmenü → Suchen / Ausführen → services.msc ).

Wenn der Dienst nicht erfolgreich installiert wurde ("ISC BIND" wird nicht im Fenster "Dienste" angezeigt ), führen Sie BINDInstall.exe erneut aus und wählen Sie "Deinstallieren". Sie sollten bei der Deinstallation keine Werte ändern müssen.

Wiederholen Sie die obigen Installationsschritte (beginnend mit dem ersten Eintrag "Zielverzeichnis"), bis der Dienst erfolgreich registriert wurde.

Beispiel für die erfolgreiche Installation von BIND 9


BIND einrichten

Sie sollten noch nicht versuchen, BIND zu starten, da wir ein wenig Konfiguration vor uns haben.

In Ihrem Installationsverzeichnis (z. B. C: \ ISC BIND 9) sollten Sie zwei Ordner wie zuvor erwähnt haben ("bin" und "etc"). Erstellen Sie unter demselben Verzeichnis manuell einen dritten Ordner mit dem Namen "zone".

Wenn Sie fertig sind, geben Sie den Ordner "bin" ein. Führen Sie an einer Eingabeaufforderung in demselben Ordner ( Umschalt + Rechtsklick → Befehlsfenster hier öffnen ) die folgenden zwei Befehle aus:

rndc-confgen -a rndc-confgen > ..\etc\rndc.conf 

RNDC Confgen Beispiel

Zurück zum Ordner "etc" sollten zwei neue Dateien sein - "rndc.key" und "rndc.conf". Ignorieren Sie dies für einen Moment und erstellen Sie eine neue Datei mit dem Namen "named.conf" in "etc".

Ex. C: \ ISC BIND 9 \ etc \ named.conf

# Anything with a hash (#) is a comment.  # Our basic options -- where do we find our zone files? # This should be changed to correspond with the path to # your zones folder.  options { directory "C:\ISC BIND 9\zones"; allow-transfer { none; };  # Tack down the edges a little regarding security.  # allow-recursion ; // change IPs as required  allow-recursion {"localnets";};  # The option below sets up DNS forwarding to outside servers. # In this case, we route through BIND which then passes certain  # requests to Google DNS. This is unnecessary for intranets.   # forwarders { 8.8.8.8; 8.8.4.4; };  };  # Local domains  zone "free.goodies" IN { type master; file "free.goodies.txt"; allow-transfer { none; }; }; 

Hinweis: Für den obigen Abschnitt können Sie einfach kopieren und einfügen. Stellen Sie jedoch sicher, dass Sie den richtigen Ordnerpfad für "Zonen" wie angegeben eingeben.

Wenn Sie "named.conf" geöffnet halten, öffnen Sie jetzt auch "rndc.conf". Kopieren Sie den gesamten auskommentierten Abschnitt (#) am Ende der Datei und fügen Sie ihn in "named.conf" ein. Stellen Sie sicher, dass Sie alles kommentieren, was Sie gerade in "named.conf" eingefügt haben, außer "# End of named.conf".

Ex. C: \ ISC BIND 9 \ etc \ named.conf (Forts.)

# This section needs the correct "secret". You will have to substitute  # the proper rndc.conf section you generated earlier.  # Use with the following in named.conf, adjusting the allow list as needed: key "rndc-key" { algorithm hmac-md5; secret "2diZ8TosQlmJc15Nw3+ISh=="; };  controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; };  # End of named.conf 

Erstellen Sie eine lokale Domäne

Nachdem wir nun unsere grundlegende BIND-Konfiguration abgeschlossen haben ("named.conf"), können wir einen Datensatz erstellen, der die Verbindung zwischen "free.goodies" und dem WAMP-Server selbst angibt.

Erstellen Sie in Ihrem "zone" -Ordner eine neue Datei mit dem Namen "free.goodies.txt" (oder was auch immer Sie in Ihre "named.conf" -Datei einfügen) und lassen Sie sie wie folgt aussehen:

; Enables use of e.g. http://free.goodies/ ; Anything with a semi-colon is a comment  $TTL 3600 ; Default TTL @ IN SOA ns.free.goodies. candyman.free.goodies. ( 2017081001 ; serial 10800 ; Refresh period 3600 ; Retry interval 604800 ; Expire time 86400 ) ; Negative caching TTL  @ NS ns.free.goodies.  ns IN A 10.0.0.10 ; This entry is necessary - Use the IP of the BIND server  free.goodies. IN A 10.0.0.10 ; A Record for the WAMP server - we're assuming its on the same server as BIND cool IN A 10.0.0.10 ; A Record for a subdomain on the same machine e.g. cool.free.goodies 

Hinweis: Für den obigen Abschnitt können Sie einfach kopieren und erneut einfügen, wenn Sie möchten. Stellen Sie jedoch sicher, dass Sie die korrekten IP-Adressen eingeben.

Wenn Sie jemals Änderungen an dieser Datei vornehmen möchten, denken Sie daran ...

  • Nicht-Subdomain-Einträge erfordern einen abschließenden Zeitraum "."
  • Sie müssen die serielle Version aktualisieren (vergrößern, z. B. um 1 erhöhen).
  • Beispielsweise kann candyman.free.goodies beliebig sein (es handelt sich um eine E-Mail-Adresse mit einem "." Für "@").
  • Ihr Eintrag für die primäre Domäne free.goodies.muss z zone "free.goodies" IN {. B. mit einem Eintrag "named.conf" übereinstimmen, z .
  • Sie müssen Ihren Server neu starten, um Änderungen zu sehen (dies gilt auch für Änderungen an "named.conf").

BIND starten

Sie können BIND jetzt im Dienste-Fenster starten. Suchen Sie den Dienst "ISC BIND" unter Startmenü → Verwaltung → Dienste (oder erneut Startmenü → Suchen / Ausführen → services.msc ) und klicken Sie auf "Start".

Wenn keine Fehler auftreten, sollte der BIND-Dienst gestartet werden. Wenn es nicht startet, liegt ein Fehler in Ihrer Konfigurationsdatei ("named.conf") oder in Ihrer lokalen Domänenzonendatei ("free.goodies.txt") vor.

BIND 9 Servicebeispiel

Server Firewall

Stellen Sie für den Netzwerkzugriff sicher, dass die Ports 53 und 953 (sowohl TCP als auch UDP) in Ihrer DNS-Server-Firewall für eingehenden und ausgehenden Datenverkehr geöffnet sind. Dies sind die Standard-DNS-Ports.

Einrichten des Routers

Der letzte Schritt beim Einrichten Ihrer benutzerdefinierten Domäne ist das Konfigurieren Ihres Routers. Die einzelnen Schritte variieren von Router zu Router. Sie möchten jedoch nach Einstellungen suchen, mit denen Sie angeben können, welche DNS-Server Ihr Router verwenden soll.

Wenn Sie möchten, dass dieser Server öffentlich verfügbar ist, sollten Sie sicherstellen, dass der Router die Ports 53 und 953 korrekt weiterleitet.

BIND Router Settings


Erfolg! (Könnte sein)

Wenn der ISC BIND-Dienst gestartet ist und Ihr Router ordnungsgemäß konfiguriert ist, sollten Sie in der Lage sein, in Ihrem Browser z. B. http: //free.goodies/ zu navigieren und Ihre WAMP-Serverseite aufzurufen .

Wenn du nicht kannst ...

  • Überprüfen Sie die Einstellungen Ihres Routers.

  • Überprüfen Sie Ihre Zonendatei "named.conf" und "free.goodies.txt".

  • Stellen Sie sicher, dass Ihr WAMP-Server korrekt konfiguriert ist (dh er ist für die Verarbeitung von http: //free.goodies/ eingerichtet und es liegen keine Probleme mit dem WAMP-Server oder dem BIND-Server vor).

  • Verwenden Sie in Chrome-basierten Browsern (Chrome, Firefox, Opera usw.) unbedingt ein "/" am Ende Ihrer lokalen Domain-Adresse. Aufgrund der eingebauten Funktionen http://free.goodiesführt dies wahrscheinlich zu einem Fehler http://free.goodies/.

  • Vergewissern Sie sich, dass BIND ausgeführt wird. BIND kann auch in (extrem) seltenen Fällen nicht mehr reagieren. In beiden Fällen können Sie das Fenster "Dienste" verwenden, um BIND nach Bedarf zu stoppen und zu starten.

Beachten Sie, dass Sie (wahrscheinlich) die RNDC-Verwaltung in Ihrer Konfiguration aktiviert haben (zumindest wenn Sie alle Schritte ausgeführt haben), Sie können beispielsweise Folgendes verwenden:

@echo off "C:\ISC BIND 9\bin\rndc" reload pause  

in einer Batchdatei ( .bat), um den Server während der Ausführung schnell neu zu laden Dies ist viel einfacher als das Beenden und Starten von BIND über das Fenster "Dienste", wenn Sie Konfigurationsänderungen an "named.conf" oder Ihrer Zonendatei vornehmen müssen.


Einrichten eines virtuellen Hosts in WAMP

In diesem Artikel müssen Sie ungefähr einen virtuellen Host in WAMP einrichten, um free.goodies zu erstellen:

  1. Öffnen Sie die httpd.conf unter C:\wamp\bin\Apache#.#.#\conf\httpd.conf. Sie können eine Kopie davon für eine Sicherungskopie erstellen, bevor Sie Änderungen vornehmen.

  2. Kommentiere die folgenden Zeilen (entferne das # vor ihnen):

    LoadModule vhost_alias_module modules/mod_vhost_alias.so 

    und

    Include conf/extra/httpd-vhosts.conf 
  3. Speichern Sie httpd.conf .

  4. Öffnen Sie nun httpd-vhosts.conf unter C:\wamp\bin\Apache#.#.#\conf\httpd.conf\extra. Möglicherweise möchten Sie eine Kopie davon für eine Sicherungskopie erstellen, bevor Sie Änderungen vornehmen.

  5. Fügen Sie am Ende von httpd-vhosts.conf Folgendes hinzu:

     # Virtual host entry for the free.goodies local domain. # Anything beginning with a # are comments.  <VirtualHost *:80>  ServerName free.goodies #ServerAlias www.free.goodies  # DocumentRoot should correspond to wherever the HTML files # for your free.goodies site are located. This is an example.  DocumentRoot "C:/wamp/www/free-goodies"  #ErrorLog "logs/free.goodies-error.log" #CustomLog "logs/free.goodies-access.log" common  # If you have any problems with "Forbidden", try uncommenting # the following. You may have to alter the directory to match # your DocumentRoot above.  #<Directory "/"> #AllowOverride None #Options None #Require all granted #</Directory>  </VirtualHost>  
  6. Speichern Sie httpd-vhosts.conf . Sie können das Obige direkt in httpd-vhosts.conf kopieren und einfügen. Achten Sie jedoch darauf, die richtigen Pfade für Ihre WAMP-Installation zu verwenden.

  7. Starten Sie alle Dienste neu. Angenommen, mit Ihren Änderungen stimmt nichts, sollte WAMP normal neu starten und alle Anfragen nach http: //free.goodies aus dem entsprechenden Verzeichnis beantworten .

ISC bind akzeptiert keine leeren Kennwortfelder. Jinendra Khobare vor 6 Jahren 0
Ich stellte fest, dass ISC Bind jetzt funktioniert, aber nur auf meinem System für andere Geräte in meinem WLAN wird der Link nicht geladen. Er sagt "free.goodies Server-DNS-Adresse nicht gefunden". Jinendra Khobare vor 6 Jahren 0
Sie sollten 1) überprüfen, ob der Router Ihren Server für DNS verwendet. 2) Stellen Sie sicher, dass keine Firewall auf dem Server Port 53 oder 953 (TCP oder UDP) blockiert. 3) Stellen Sie sicher, dass Sie ein nachlaufendes / (z. B. free) hinzufügen. Leckereien /) auf jede Anfrage (nicht nur vor Ort). Anaksunaman vor 6 Jahren 0
Wie kann man wamp so einrichten, dass es mit http: //free.goodies/ umgehen kann? Jinendra Khobare vor 6 Jahren 0
Es scheint, der 953-Port hört nicht zu, nur 53 hört zu Jinendra Khobare vor 6 Jahren 0
In Bezug auf Port 953 sollte dies in Ordnung sein, da RNDC möglicherweise nicht neu gestartet wird. Die meisten Anfragen werden an 53 gestellt. Das heißt, ich würde noch einmal prüfen, ob Sie Firewall-Regeln für den gesamten * eingehenden und ausgehenden * TCP- und UDP-Verkehr an Port 53 und 953 hinzugefügt haben. Anaksunaman vor 6 Jahren 0
Ah! Wirklich froh, es zu hören. Habe Spaß! :-P Anaksunaman vor 6 Jahren 0
Ich habe eine Folgefrage, wenn ich versuche, die IP des Servers auf "statisch" zu setzen, alles funktioniert nicht mehr. Irgendwelche Problemumgehung dafür? Jinendra Khobare vor 6 Jahren 0
Hmm. Das ist seltsam. Wenn Sie davon ausgehen, dass Ihre Zonendatei- und Routereinstellungen mit den statischen IP-Adressen Ihres WAMP-Servers bzw. BIND-Servers übereinstimmen, sollte dies kein Problem sein. Sie müssen jedoch die Zonendatei der Zone "free.goodies.txt" inkrementieren, wenn Sie daran etwas ändern (dh eine statische IP-Adresse einstellen, die sich von der aktuell aufgelisteten unterscheidet.) Anaksunaman vor 6 Jahren 0
Sie sollten BIND nach allen an der Konfiguration vorgenommenen Änderungen neu laden (einschließlich Änderungen an Ihren Zonendateien). Anaksunaman vor 6 Jahren 0