====== Ejemplos ====== ===== DNS cache ===== Instalamos Bind9 con apt install bind9 Editamos el archivos de bind nano /etc/bind/named.conf.options Agregamos la ACL de los buenos clientes y sy respectiva configuración acl goodclients { 192.168.0.0/24; localhost; localnets; }; options { directory "/var/cache/bind"; recursive yes; allow-query { goodclients; }; allow-query-cache { goodclients; }; allow-recursion { goodclients; }; forwarders { 0.0.0.0; 8.8.8.8; 8.8.4.4; }; . . . }; ===== DNS con dominio interno/externo ===== Instalamos Bind9 con apt install bind9 Creamos los directorios donde estarán nuestras zonas mkdir /etc/bind/internal /etc/bind/external Creamos los archivos de nuestras zonas cp /etc/bind/db.empty /etc/bind/internal/db.example.com /etc/bind/external/db.example.com Verificamos el contenido de nuestra zona externa cat /etc/bind/external/db.example.com ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE - it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL 86400 @ IN SOA example.com. root.example.com. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; ns IN A 192.168.0.102 @ IN NS ns @ IN A 192.168.0.1 www IN A 192.168.0.200 Verificamos el contenido de nuestra zona interna cat /etc/bind/internal/db.example.com ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE - it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL 86400 @ IN SOA example.com. root.example.com. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN A 127.0.0.1 @ IN NS example.com. www IN A 127.0.0.10 Agregamos las zonas a Bind9 cat /etc/bind/named.conf.local acl internalacl { localhost; }; view "internal" { match-clients {internalacl;}; allow-query {internalacl;}; zone "example.com" { type master; file "/etc/bind/internal/db.example.com"; }; }; view "external" { match-clients {any;}; allow-query {any;}; zone "example.com" { type master; file "/etc/bind/external/db.example.com"; }; }; Agregar a views las demas zonas: nano /etc/bind/named.conf.default-zones Debe quedar algo como cat /etc/bind/named.conf.default-zones view "all" { match-clients {any;}; . . . ZONAS POR DEFECTO . . }; Verificamos la configuración de bind named-checkconf Verificamos la configuracion de nuestas zonas internas y externas named-checkconf example.com /etc/bind/internal/db.example.com named-checkconf example.com /etc/bind/external/db.example.com Reiniciamos el servicio y observamos los logs systemctl restart bind9 tail -n 20 /var/log/syslog Referencias: * https://www.howtoforge.com/two_in_one_dns_bind9_views * https://www.zytrax.com/books/dns/ch7/view.html *