Wie aktiviere ich einen lokalen Caching-Nameserver?

7

Ich möchte einen starken DNS-Cache-Server auf meinem lokalen Host (Server) haben. Daher muss ich den Nameserver in meinen lokalen Host ändern.

  1. Wie kann ich das ändern? Nach dieser Konfiguration muss ich sie anscheinend nicht über den Editor ändern. Wie kann ich sie ändern?

    root@asqar# cat /etc/resolv.conf 
    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    nameserver 4.2.2.4
    search asqar.net
    
  2. Ich verwende, bind9wie kann ich den DNS-Cache einstellen, welche konfigurieren?

sweb
quelle

Antworten:

12

Wenn Sie einen DNS-Cache auf Ihrem lokalen Computer möchten, verwenden Sie dnsmasq und nicht BIND.

Deinstallieren Sie BIND, es sei denn, Sie benötigen wirklich einen lokalen iterativen Nameserver.

sudo apt-get purge bind9

Nun zu dnsmasq. Es gibt zwei Möglichkeiten, dnsmasq zu verwenden.

1: Wenn Sie NetworkManager zum Verwalten des Netzwerks verwenden, ist das dnsmasq-base-Paket bereits installiert. Sie müssen nur die NetworkManager-gesteuerte dnsmasq-Instanz durch Bearbeiten aktivierenNetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

und sicherstellen, dass die Linie

dns=dnsmasq

ist anwesend. Aktivieren Sie als Nächstes das Caching in dieser dnsmasq-Instanz. Erstellen Sie eine neue Konfigurationsdatei mit dem Namen z.local

sudo gedit /etc/NetworkManager/dnsmasq.d/local

und fügen Sie die einzelne Zeile hinzu

cache-size=150

um die Standard-Cache-Größe von Null zu ändern. Starten Sie dann den Netzwerkmanager neu

sudo restart network-manager

Dadurch wird auch die NetworkManager-gesteuerte dnsmasq-Instanz unter Verwendung der neuen Cache-Größe ungleich Null gestartet oder neu gestartet.

Dies funktioniert nur in Ubuntu 12.10 oder höher. In Ubuntu 12.04 kann die NetworkManager-gesteuerte dnsmasq-Konfiguration nicht angepasst werden und die Cache-Größe ist Null.

2: Die andere Möglichkeit, dnsmasq zu verwenden, besteht darin, es als Server auszuführen. Installieren Sie dazu das dnsmasqPaket und konfigurieren Sie es, indem Sie es bearbeiten /etc/dnsmasq.confund cache-sizeauf einen Wert größer als Null einstellen .

In Ubuntu 12.10 leitet der dnsmasq-Server Abfragen an externe Nameserver weiter, wenn die NetworkManager-gesteuerte dnsmasq-Instanz deaktiviert ist, und leitet Abfragen an die NetworkManager-gesteuerte dnsmasq-Instanz unter der Adresse 127.0.1.1 weiter, wenn die NetworkManager-gesteuerte dnsmasq-Instanz aktiviert ist.

In Ubuntu 12.04 kann dasselbe erreicht werden, es sind jedoch einige zusätzliche manuelle Konfigurationsschritte erforderlich, da in Ubuntu 12.04 die von NetworkManager gesteuerte dnsmasq-Instanz 127.0.0.1 abhört, was in ihrer Standardkonfiguration mit dem dnsmasq-Server in Konflikt steht.

jdthood
quelle
2

Dies kann hilfreich sein, ich glaube nicht, dass es so funktioniert wie auf Ubuntu, aber Sie sollten es leicht anpassen können.

Eine einfache named.conf, die alle DNS-Abfragen an einen anderen Nameserver weiterleitet und die Antworten für eine mögliche Wiederverwendung zwischenspeichert. Getestet unter OpenBSD 4.7 BETA mit

$ named -v
BIND 9.4.2-P2

Diese Art der Konfiguration ist nützlich, um die sich beim Surfen im Internet wiederholenden Nameserver-Abfragen zu minimieren. Nicht nur für Ihr Notebook oder Laptop mit drahtlosen Verbindungen, sondern auch für eine Abteilung, die eine LAN / WAN-Verbindung effizient nutzen möchte.

The Access Control List (acl) limits useage of this forward-only nameserver to my local 192.168.222.0/24 subnet.
The queries are forwarded to a dnscache namerver running on my OpenBSD firewall at 192.168.222.10.
The cache size is limited to two MB, which probably is too much for a notebook or laptop. The comments show how to calculate this

Menge in Bytes mit bc (1), dem Rechner mit unbegrenzter Genauigkeit.

// Nur Caching und Forward-Konfiguration

// Access Control List

acl  clients    {
    192.168.222.0/24  ;
};

options {
    forward only ;
    forwarders { 192.168.222.10 ; } ; 
    allow-query { clients ; } ;
    // max-cache-size is in bytes : echo '2 * 1024^2' | bc
    max-cache-size 2097152 ; 
    empty-zones-enable yes;
} ;

# After editing this file please use 'named-checkconf' to validate!

Um dies unter OpenBSD zu aktivieren, müssen Sie /etc/rc.conf.local Folgendes hinzufügen, vorausgesetzt, die obige Konfiguration wurde als /var/naned/etc/caching-forward-only.conf gespeichert.

named_flags='-4 -c /etc/caching-forward-only.conf'

Beachten Sie, dass Anwendungen die Datei /etc/resolv.conf verwenden, um herauszufinden, welchen Nameserver sie verwenden sollen. Für einen Abteilungs-Nameserver sollten alle Clients die iP-Adresse dieses Nameservers in /etc/resolv.conf haben

Für meine kleine Abteilung in der Garage haben die Kunden Folgendes in /etc/resolv.conf

nameserver 192.168.222.25

Referenz: http://www.daemonforums.org/showthread.php?t=4471

oder versuchen Sie dies, scheint mehr Ubuntu-zentriert: http://soledadpenades.com/articles/ubuntu/using-bind-as-a-local-caching-name-server/

Maazza
quelle