Estou tentando aprender o BIND9. Eu configurei um laboratório doméstico com minha área de trabalho primária executando o servidor de ligação, um laptop e um servidor virtualbox ubuntu 16.04 vm em uma conexão de ponte executando o apache.
EDITAR: quando uso o host ao impor a área de trabalho como o servidor dns (host nlab.local 192.168.1.2), tudo funciona como esperado na área de trabalho e na vm. Isso falha quando eu uso o host sem especificar um servidor dns.
1/2 SOLUÇÃO: Eu editei o arquivo principal (/etc/resolvconf/resolvconf.d/head) do meu resolvedor e executei sudo resolvconf -u de tal forma que meu localhost resolvido antes de tudo. No entanto, esse é um problema em potencial, uma vez que fará com que todos os outros hosts tenham que apontar seus resolvedores no servidor para que isso funcione, e isso pode atrasá-los ou interromper a resolução subsequente. Afinal, o resolvedor nunca desceu o suficiente para acertar meu host local antes. Acabou de expirar no ping e as outras ferramentas (dig, host) nem se incomodaram em tentar. Então, é meio que uma solução, e é por isso que não estou marcando isso como resolvido ainda. Além disso, é estranho que as configurações do DNS no arquivo de interfaces não forcem a resolução. Fico me perguntando por que essa linha existe em configurações estáticas, se a máquina for para o resolv.conf para servidores de nomes.
Vincular arquivos de configuração na área de trabalho:
named.conf
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
logging {
channel query.log {
file "/var/log/query.log"; severity debug 3;
};
category queries { query.log; };
};
named.conf.local
zone "nlab.local" {
type master;
file "/etc/bind/db.nlab.local";
};
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};
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 {
// 0.0.0.0;
// };
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
allow-query { any; };
};
db.nlab.local
;
; BIND data file for nlab.local
;
$TTL 604800
@ IN SOA ns.nlab.local. ike.nlab.local. (
11 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.nlab.local.
@ IN A 192.168.1.2
@ IN AAAA ::1
ns IN A 192.168.1.2
ns1 IN A 192.168.1.12
nc1 IN A 192.168.1.9
nightfall IN CNAME ns
freefall IN CNAME nc1
db.192
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.nlab.local. root.nlab.local. (
5 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
2 IN PTR ns.nlab.local.
; also list other computers
12 IN PTR ns1.nlab.local.
9 IN PTR nc1.nlab.local.
Meu IP da área de trabalho é estático, configurado através do gerenciador de rede, já que modificar meu / etc / network / interfaces manualmente impede que meu serviço de rede seja iniciado. Talvez seja uma pista, mas não sei como decifrá-lo. No entanto, eu era capaz de definir o ip estático no arquivo de interfaces na vm, que originalmente executava o servidor de ligação (agora desativado), e enquanto eu era capaz de resolver endereços nessa máquina, ele ainda não estava transmitindo para o outro máquinas com essas mesmas configurações.
IP: 192.168.1.2
Gateway: 192.168.1.1
DNS: 127.0.0.1, 8.8.8.8, 8.8.4.4
Diagnóstico: Na área de trabalho
netstat -naptu | grep 53
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 9324/dnsmasq
tcp 0 0 192.168.1.2:53 0.0.0.0:* LISTEN 1540/named
tcp 0 0 172.17.0.1:53 0.0.0.0:* LISTEN 1540/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1540/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1531/sshd
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1540/named
tcp 0 0 192.168.1.2:51444 34.211.99.53:443 TIME_WAIT -
tcp 0 0 192.168.1.2:44613 192.52.178.30:53 TIME_WAIT -
tcp 32 0 192.168.1.2:54530 162.125.5.3:443 CLOSE_WAIT 2976/dropbox
tcp 0 0 192.168.1.2:41171 192.12.94.30:53 TIME_WAIT -
tcp 1 0 192.168.1.2:53664 54.236.121.227:443 CLOSE_WAIT 2976/dropbox
tcp6 0 0 :::22 :::* LISTEN 1531/sshd
udp 0 0 127.0.0.1:60178 127.0.0.1:53 ESTABLISHED 2372/Plex DLNA Serv
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1285/avahi-daemon:
udp 0 0 127.0.0.1:46562 127.0.0.1:53 ESTABLISHED 2372/Plex DLNA Serv
udp 0 0 127.0.0.1:38551 127.0.0.1:53 ESTABLISHED 3715/plugin_host
udp 0 0 127.0.1.1:53 0.0.0.0:* 9324/dnsmasq
udp 0 0 192.168.1.2:53 0.0.0.0:* 1540/named
udp 0 0 172.17.0.1:53 0.0.0.0:* 1540/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 1540/named
udp6 0 0 :::5353 :::* 1285/avahi-daemon:
host funciona, eu acho:
$ host nlab.local
nlab.local has address 192.168.1.2
$ host ns1.nlab.local
ns1.nlab.local has address 192.168.1.12
Ao forçar um servidor
$ host nlab.local 192.168.1.2
Using domain server:
Name: 192.168.1.2
Address: 192.168.1.2#53
Aliases:
nlab.local has address 192.168.1.2
nlab.local has IPv6 address ::1
E ping falha:
$ ping nlab.local
ping: unknown host nlab.local
$ ping ns1.nlab.local
ping: unknown host ns1.nlab.local
As falhas ping demoram vários segundos para serem resolvidas.
dig dá esta resposta:
$ dig nlab.local
; <<>> DiG 9.10.3-P4-Ubuntu <<>> nlab.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61277
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;nlab.local. IN A
;; ANSWER SECTION:
nlab.local. 604800 IN A 192.168.1.2
;; AUTHORITY SECTION:
nlab.local. 604800 IN NS ns.nlab.local.
;; ADDITIONAL SECTION:
ns.nlab.local. 604800 IN A 192.168.1.2
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Apr 03 12:50:55 EDT 2018
;; MSG SIZE rcvd: 88
De o servidor ubuntu vm:
$ dig nlab.local
; <<>> DiG 9.10.3-P4-Ubuntu <<>> nlab.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 24440
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;nlab.local. IN A
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Apr 03 12:59:11 EDT 2018
;; MSG SIZE rcvd: 28
Este é o arquivo / etc / network / interfaces da vm:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet static
address 192.168.1.12
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.2 8.8.8.8 75.75.75.75
O log está funcionando e o servidor está recebendo consultas dos aplicativos na área de trabalho. Eu não vejo nenhuma pergunta da VM.
Agradecemos antecipadamente por qualquer assistência.