Tabela de Conteúdos
3.1.2 DNS Cache
Σκοπός
Να εγκαταστήσουμε το bind9, τοπική DNS μνήμη Cache .
Ένας server προσωρινής αποθήκευσης ονομάτων, θα βρίσκει απαντήσεις για τα ερωτήματα ονομάτων και θα θυμάται την επόμενη φορά που θα χρειαστούμε το ίδια ονόματα. Αυτό θα μειώσει σημαντικά το χρόνο αναμονής την επόμενη φορά.
Εγκατάσταση
root@server:~# aptitude install bind9 bind9-doc dnsutils
Ρύθμιση
Για να επιταχυνθεί και να ελαφρύνει η ανάλυση ονομάτων, μπορούμε να χρησιμοποιήσουμε άλλες κρυφές μνήμες από εξωτερικούς DNS servers. Συνήθως οι ISPs παρέχουν DNS caches, αλλά υπάρχουν και άλλες υπηρεσίες DNS cache διαθέσιμες, που ισχυρίζονται ότι είναι ταχύτερες και ασφαλέστερες, όπως οι:
- OpenDNS (http://www.opendns.com/)
- Google Public DNS (http://code.google.com/speed/public-dns/)
Επίσης, για ασφάλεια, ο DNS διακομιστής μας θα απαντήσει μόνο σε ερωτήματα που προέρχονται από εσωτερικές διευθύνσεις.
Oι ρυθμίσεις βρίσκονται στο αρχείο /etc/bind/named.conf.options:
- /etc/bind/named.conf.options
options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { // OpenDNS servers 208.67.222.222; 208.67.220.220; // ADSL router 192.168.1.1; }; // Security options listen-on port 53 { 127.0.0.1; 192.168.1.100; }; allow-query { 127.0.0.1; 192.168.1.0/24; }; allow-recursion { 127.0.0.1; 192.168.1.0/24; }; allow-transfer { none; }; auth-nxdomain no; # conform to RFC1035 // listen-on-v6 { any; }; };
Ελέγξτε για τυχόν συντακτικά λάθη:
root@server:~# named-checkconf
Ενημερώστε το /etc/resolv.conf, έτσι ώστε τα ερωτήματα στον DNS να πραγματοποιούνται τοπικά:
- /etc/resolv.conf
nameserver 127.0.0.1
Επίσης, το αρχείο /etc/nsswitch.conf, πρέπει να είναι έτσι :
- /etc/nsswitch.conf
# [...] hosts: files dns # [...]
Επανεκκινήσεων την υπηρεσία DNS:
root@server:~# /etc/init.d/bind9 restart
Επαλήθευση
Εκτελέστε μια δοκιμή :
root@server:~# nslookup www.debian.org Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: www.debian.org Address: 206.12.19.7 Name: www.debian.org Address: 128.31.0.51
Δοκιμή αντίστροφης αναζήτησης:
root@server:~# nslookup 206.12.19.7 Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: 7.19.12.206.in-addr.arpa name = bellini.debian.org. Authoritative answers can be found from: . nameserver = c.root-servers.net. . nameserver = d.root-servers.net. . nameserver = h.root-servers.net. . nameserver = a.root-servers.net. . nameserver = m.root-servers.net. . nameserver = g.root-servers.net. . nameserver = f.root-servers.net. . nameserver = k.root-servers.net. . nameserver = i.root-servers.net. . nameserver = b.root-servers.net. . nameserver = l.root-servers.net. . nameserver = e.root-servers.net. . nameserver = j.root-servers.net. a.root-servers.net internet address = 198.41.0.4 b.root-servers.net internet address = 192.228.79.201 c.root-servers.net internet address = 192.33.4.12 d.root-servers.net internet address = 128.8.10.90 e.root-servers.net internet address = 192.203.230.10 f.root-servers.net internet address = 192.5.5.241 g.root-servers.net internet address = 192.112.36.4 h.root-servers.net internet address = 128.63.2.53 i.root-servers.net internet address = 192.36.148.17 j.root-servers.net internet address = 192.58.128.30 k.root-servers.net internet address = 193.0.14.129 l.root-servers.net internet address = 199.7.83.42 m.root-servers.net internet address = 202.12.27.33
Ρυθμίσεις του client
Windows
Ανοίξτε τις ιδιότητες του Internet Protocol Version 4 (TCP/IPv4) του προσαρμογές δικτύου και πληκτρολογήστε τη διεύθυνση IP του διακομιστή DNS μας, σαν Preferred DNS server:
Linux
Στα συστήματα Linux, απλά επεξεργαστείτε το αρχείο /etc/resolv.conf και προσθέστε τη διεύθυνση IP του διακομιστή DNS , στο nameserver:
- /etc/resolv.conf
# [...] nameserver 192.168.1.100 # [...]
Αυτόματες ρυθμίσεις των clients
Η διεύθυνση του DNS διακομιστή μπορεί επίσης να εκχωρείται αυτόματα χρησιμοποιώντας το πρωτόκολλο DHCP. Για να το κάνετε αυτό, απλά προσθέστε την επιλογή domain-name-servers στο αρχείο ρυθμίσεων του DHCP server /etc/dhcp/dhcpd.conf:
- /etc/dhcp/dhcpd.conf
# [...] option domain-name-servers 192.168.1.100; # [...]
Αναφορές
- ISC Bind (http://www.isc.org/sw/bind/)
- Wikipedia: Domain Name System (http://en.wikipedia.org/wiki/Domain_Name_System)
- Linux Home Networking: Quick HOWTO: Ch18 Configuring DNS (http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch18_:_Configuring_DNS)
- DNS Howto, 3. A resolving, caching name server (http://langfeldt.net/DNS-HOWTO/BIND-9/DNS-HOWTO-3.html)
- Securing Debian Manual (http://www.debian.org/doc/manuals/securing-debian-howto/ch-sec-services.en.html#s-sec-bind)
- OpenDNS (http://www.opendns.com/)
- Google Public DNS (http://code.google.com/speed/public-dns/)