DNS-Server für Heimnetzwerk ohne resolv.conf, google dns, noch überträgt

Ich habe versucht, bind9 und dnsmasq zu verwenden. Ich habe auch den Servercomputer auf eine statische IP-Adresse eingestellt. Das Betriebssystem ist Ubuntu 18.04. Ich möchte auf Windows 7-und 10-Computern auf die Domäne zugreifen. Ich habe getestet, und mein Laptop kann über die IP-Adresse auf alles zugreifen, aber ich kann nicht darauf zugreifen .lokaler Domänenname. Im Wesentlichen kann ich nicht herausfinden, wie eine halbwegs funktionierende Konfiguration auf beiden DNS-Server-Software zu bekommen.

Die meisten Tutorials sagen mir, ich solle ein Google DNS und verwenden Sie resolv.conf. Ich möchte keinen externen Server verwenden, um Namen weiterzuleiten, die sich nur in meinem Netzwerk befinden sollen, vielleicht bin ich paranoid, aber das scheint mir ein Datenschutzproblem zu sein.

Tutorials, die die Weiterleitung mit Google und mit resolv deaktivieren.conf für Nameserver wird verwirrend, da die Sprache vorschlägt, dass ich versuche, einen eigenen DNS-Server für den Zugriff auf externe Websites wie Facebook zu erstellen. Ich versuche nicht, den DNS-Registrar meines Netzwerks oder ähnliches zu entführen, ich habe nur wollen einige .lokale Domänen für den Zugriff auf einige auf einem Computer gehostete Apps.

Die Tutorials haben alle ns1.example.com, ns2.example.com, host1.example.com, host2.example.com, jeder mit seiner eigenen jeweiligen IP-Adresse. Vielleicht verstehe ich falsch, was das ist, aber es sieht so aus, als ob sie wollen, dass ich für alles separate Maschinen habe. Ich möchte nur, dass auf einem Computer mein DNS-Server, mein CUPS-Server, mein FTP-Server, mein PXE-Server und jede andere Web-oder Netzwerkanwendung ausgeführt werden, für die ich mich entscheide Maschine.

Ich möchte einen Namen haben.local:port oder app.name.local, um auf diese Anwendungen auf jedem Computer anstelle von ipaddress:port zuzugreifen, und ich möchte dies nicht in der Hosts-Datei jedes Computers angeben.

Ich habe die Verwendung von bind9 schließlich aufgegeben, nachdem ich nicht einmal die Maschine bedienen konnte, an der ich arbeitete, und dnsmasq ausprobiert hatte. Mir wurde gesagt, dass dieses magische Programm alles zum Kinderspiel machen würde. Die Anweisungen sagten mir, die Hosts-Datei zu ändern, was die temporäre Illusion gab, dass es arbeitete. Als ich meinen Laptop an das Netzwerk anschloss und es versuchte, wurde mir klar, dass die Hosts-Datei das EINZIGE war, was funktionierte. Noch eine weitere DNS-Konfiguration, die absolut nichts tut. Meine Konfiguration sieht so aus. Ich habe versucht, verschiedene Optionen wie no-dchp-interface hinzuzufügen und zu entfernen, die alle keine Auswirkungen hatten. ipaddress ist die IP-Adresse meines Computers und modemip ist die IP-Adresse meines Modems, die als Router-und Gateway-Einstellung verwendet wird.

port=5353
#domain-needed
#bogus-priv
no-dhcp-interface=yes
no-resolv
no-poll
server=/name.local/ipaddress
local=/name.local/
expand-hosts
domain=name.local
dhcp-range=iprange,72h
# subnet mask
dhcp-option=1,255.255.255.0
# gateway
dhcp-option=3,modemip
# dns
dhcp-option=6,modemip

Hier ist mein etc/bind/named.conf.Option.

acl "trusted" {
    ipaddress;
    modemip;
    localhost;
    localnets;
};
options {
    directory "/var/cache/bind";
    recursion no;                 
    allow-query { trusted; };   
    listen-on { ipaddress; };
    allow-transfer { none; };      
    dnssec-validation auto;
    auth-nxdomain no;    # conform to RFC1035
};

Ich habe das Gefühl, dass die Tutorials es vielleicht vernachlässigen, mir etwas zu sagen, von dem ich erwartet werde, dass es mir bekannt ist, aber das Problem ist, dass ich in diesem Fall nicht weiß, wie ich herausfinden soll, was es ist. Zum Beispiel habe ich heute Morgen gerade herausgefunden, dass ich bind9 mit systemctl aktivieren und starten soll. Nur einer der vier oder fünf Artikel, die ich gelesen habe, hat mir das gesagt.

Ich werde auf Anfrage weitere relevante Informationen bereitstellen.

Mit allen details aus dem Weg. Wie erstelle ich einen DNS-Server ohne Verwendung von resolv oder externem DNS wie Googles 8.8.8.8 (als gäbe es keinen Internetzugang mit anderen Worten), mit nur einem Computer und wo alles durch Eingabe von Name zugegriffen werden kann.local: port oder app. name. local? Ist das überhaupt möglich?

Dank.

Author: dboggs95, 2018-10-02

1 answers

HINWEIS: Obwohl es technisch möglich ist, mehrere DNS-Server auf einem Computer festzulegen, funktioniert dies nicht wirklich. Die meisten Computer verwenden nur einen einzelnen DNS-Server aus dieser Liste und wählen nur einen anderen aus, wenn der erste nicht antwortet. Wenn der erste jedoch antwortet, dass kein Ergebnis vorliegt (NXDOMAIN), versucht der Computer den anderen nicht.

DAHER müssen Sie Ihre Computer so einrichten, dass sie auf diesen DNS-Server nur und nicht auf Ihr ISP-Netzwerk.

In diesem Sinne, siehe die Erklärung unten für das, was Sie tun müssen.


Um die Tutorials zu verstehen, die Sie zum Einrichten befolgen, müssen Sie nur daran denken, dass ein DNS-Server zwei Funktionen ausführen kann:

  • Autorisierenden DNS -
  • Rekursives DNS

Ein autorisierender DNS-Server ist für die Beantwortung von Abfragen verantwortlich, die "dazu gehören". In Ihrem Fall sind dies Ihre *.local Domains.

Ein rekursives DNS der Server ist dafür verantwortlich, Abfragen zu akzeptieren, die nicht "dazu gehören", und sie stromaufwärts an einen anderen Server weiterzuleiten, der sie beantworten kann, und dann die Antwort zurückzugeben. Normalerweise speichert der rekursive Server die Antwort einige Zeit zwischen, sodass sie nicht erneut angefordert werden muss. (Die Cache-Zeit wird TTL genannt und ihre Länge wird vom Upstream-Server festgelegt.) Der Grund, warum dies "rekursiv" ist, ist, dass es eine lange Reihe von DNS-Servern geben kann, die die Antwort verarbeiten, bis sie endlich ist ruft den ganzen Weg zurück zum autorisierenden Server. Die Antwort kann jedoch von jedem Cache-Server in der Kette gegeben werden.

Die ersten Tutorials, die Sie gesehen haben und in denen Sie Google DNS verwenden sollen, sagen Ihnen nur, dass Sie es für die rekursiven - Nachschlageeinstellungen verwenden sollen. Jede Anforderung, für die Ihr Server der Meinung ist, dass es sich um den autorisierenden Server handelt, wird jedoch niemals an den Upstream-Server gesendet.

Wenn Sie in diesem Netzwerk Internetzugang haben möchten, benötigen Sie den Server. sowohl als autoritativer Server für Ihre eigenen Domänen als auch als rekursiver Server für alles andere. Dies ist die Konfiguration, die Sie einrichten sollen.

Wenn Sie das wollen, sollten Sie den Tutorials folgen, die Sie gefunden haben und sagen, dass Sie Googles DNS verwenden sollen. Machen Sie sich keine Sorgen, dass Ihre internen Abfragen an Google gesendet werden (es sei denn, Sie konfigurieren den Server sehr schlecht), da jede Abfrage, von der dieser Server weiß, dass sie verarbeitet werden kann, nicht Upstream gesendet wird.

Wenn Sie nicht möchten Sie Google verwenden, haben Sie mehrere andere Upstream-Optionen, darunter die folgenden:

  • DNS-Server, die von Ihrem ISP ausgeführt werden
  • OpenDNS - 208.67.222.222 und 208.67.220.220
  • Cloudflare - 1.1.1.1 und 1.0.0.1

Wenn Sie wirklich keinen Internetzugang in diesem Netzwerk haben möchten, sollten Sie speziell nach einem Tutorial zum Einrichten eines "autorisierenden" DNS-Servers suchen, der nicht rekursiv ist.

 0
Author: Moshe Katz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-08 20:59:23