Wie füge ich einen benutzerdefinierten DNS-Server hinzu und behalte das Standard-DNS des Internetdienstanbieters in OS X Mountain Lion bei?

9

Ich benutze OS X Mountain Lion. Ich verwende dnsmasq, um lokale Domain-Hostnamen für Platzhalter wie http://local.dev einzurichten und auf localhost zu verweisen. Aber ich muss 127.0.0.1 in meinen Systemeinstellungen hinzufügen -> Netzwerkeinstellungen.

Nachdem ich 127.0.0.1 als DNS-Server eingerichtet hatte, wurden die Standard-DNS-Server des ISP von mir überschrieben. Dies hinderte mich daran, auf Websites zuzugreifen. Es ist keine große Sache, wenn ich meinen Computer nicht bewege. Ich könnte den DNS-Server des ISP manuell aufrufen. Wenn ich jedoch den Ort wechsle, ändert sich das DNS des Internetdienstanbieters.

Ich habe auch versucht, den DNS-Server von Google zu verwenden, aber in einigen Fällen funktioniert er nicht. Wie kann ich den DNS-Server des Internetdienstanbieters reservieren (oder aktualisieren), ohne 127.0.0.1 als DNS zu löschen?

Vielen Dank im Voraus.

Daiwei
quelle

Antworten:

11

Ja. Du kannst das machen, /etc/resolverist dein Freund.

$ man 5 resolver::

Domäne
Mit dieser Resolver-Konfiguration verknüpfter Domänenname . Diese Option wird vom Mac OS X DNS-Suchsystem normalerweise nicht benötigt, wenn die Resolver-Konfiguration aus einer Datei im Verzeichnis / etc / resolver gelesen wird. In diesem Fall wird der Dateiname als Domänenname verwendet.

Einfach ausgedrückt, können Sie nameserver 127.0.0.1in eine von Ihnen erstellte Datei namens platzieren/etc/resolver/dev

Sie müssen neu laden / neu starten. Alle Anfragen werden dann *.devan Ihren lokalen Nameserver weitergeleitet.

Ihr Netzwerkverbindungs-DNS bleibt automatisch aktiviert, sodass Änderungen in Ihrer Umgebung berücksichtigt werden.

Bearbeiten: Ich habe gerade https://serverfault.com/a/164215/163311 und http://www.echoditto.com/blog/never-touch-your-local-etchosts-file-os-x-again gefunden die einige weitere Details enthalten und dnsmasqSetup-Details enthalten.

rjocoleman
quelle
Der zweite Artikel kann jetzt unter alanthing.com/blog/2012/04/24/…
ebelisle
0

Gibt es einen bestimmten Grund für die Verwendung dnsmasq?

Sie können Ihrer /private/etc/hostsDatei einfach Einträge hinzufügen, sodass DNS auf den ISP verweist, mit dem Sie gerade verbunden sind. So geht's mit Terminal:

sudo nano /private/etc/hosts Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

Fügen Sie am Ende der Hosts-Datei weitere Ergänzungen hinzu (ein einzelner Eintrag pro Zeile), zum Beispiel:

127.0.0.1 local.dev

Strg + O und dann eingeben, um die Datei in Nano zu speichern. Strg + X, um Nano zu verlassen.

Sie müssen dann den lokalen DNS-Cache leeren mit: dscacheutil -flushcache

crh
quelle
2
Die Verwendung der Hosts-Datei kann eine einfache Lösung sein, aber ich muss Platzhalterdomänen wie * .dev einrichten, um auf localhost zu verweisen.
Daiwei