Eu tenho um servidor BIND ubuntu como servidor DNS privado para com
zona e dois hosts (servidores web). Os três são hosts virtuais que usam caixa virtual e se conectam usando uma placa de host virtual.
Eu tenho este arquivo de configuração no servidor DNS para resolução direta:
$TTL 604800
@ IN SOA dns1.com. admin.com. (
19 ; Serial
604820 ; Refresh
86600 ; Retry
2419600 ; Expire
604600 ) ; Negative Cache TTL
; name servers - NS records
IN NS dns1.com.
; name servers - A records
dns1.com. IN A 192.168.56.3
; 192.168.56.0/24 - A records
@ IN NS dns1.com.
host1. IN A 192.168.56.7
host2. IN A 192.168.56.8
Tento me conectar a ambos os hosts usando seus nomes de domínio. O primeiro abre corretamente. O segundo nunca pode abrir.
Ambos são pingaple. Aqui está o segundo resultado do ping do host da minha máquina: C:\Users\e>ping 192.168.56.8
Pinging 192.168.56.8 with 32 bytes of data:
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64
Consigo resolver host2.com se usar o host
arquivo local em minha máquina Windows adicionando esta entrada:
192.168.56.8 host2.com
Não consigo descobrir por que meu servidor DNS não consegue resolver, host2
mas consegue resolver host1
?
Aqui está o named.conf.local
arquivo:
zone ".com" {
type master;
file "/etc/bind/forward.host1.com";
};
zone "56.168.192.in-addr.arpa"{
type master;
file "/etc/bind/reverse.host1.com";
};
Não creio que os nomes dos arquivos forward.host1.com
reverse.host1.com
tenham algum efeito na resolução. Eles?
EDITAR: Para verificar as configurações:
/etc/bind$ sudo named-checkzone com forward.host1.com
forward.host1.com:20: ignoring out-of-zone data (host1)
forward.host1.com:21: ignoring out-of-zone data (host2)
zone com/IN: loaded serial 19
OK
Alguém pode me indicar por que não consigo resolver o host2?
EDIT: Após uma resposta sugerida, o arquivo foi atualizado para o seguinte, mas sem qualquer esperança. Agora não consigo acessar nem o host1 nem o host2, embora eles estejam funcionando e eu possa acessá-los por IP:
$TTL 604800
@ IN SOA dns1.com. admin.com. (
24 ; Serial
604820 ; Refresh
86600 ; Retry
2419600 ; Expire
604600 ) ; Negative Cache TTL
; name servers - NS records
IN NS dns1.com.
; name servers - A records
dns1.com IN A 192.168.56.3
; 192.168.56.0/24 - A records
@ IN NS dns1.com.
host1 IN A 192.168.56.7
host2 IN A 192.168.56.8
Responder1
Parece que você está tendo alguma dificuldade, então aqui estão dois (espero) exemplos práticos para você. Observe que a primeira opção (a .com
zona) provavelmente impedirá a resolução de .com
domínios normais (por exemplo google.com
, ). A segunda opção (a dns1.com
zona) não apresenta esta desvantagem.
Exemplo .com
de arquivos de zona
ex. /etc/bind/named.conf.local
; "db.com.tld" is a random name - use whatever you like.
; The same goes for "db.rev.192".
;
; Likewise, you can adjust your "allow-transfer" settings,
; etc. as needed.
zone "com." IN {
type master;
file "/etc/bind/zones/db.com.tld";
allow-transfer { none; };
};
zone "56.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/zones/db.rev.192";
allow-transfer { none; };
};
ex. /etc/bind/zones/db.com.tld
; BIND data file for TLD ".com"
;
; This will likely break real ".com" websites (i.e. anything not listed here).
$TTL 3600
@ IN SOA com. admin.com. (
2018040501 ; Serial
604800 ; Refresh period
86400 ; Retry interval
2419200 ; Expire time (28 days... later)
604800 ) ; Negative Cache TTL (1 week)
; Name Servers - NS records
@ IN NS ns1.com. ; This is required
@ IN NS ns2.com. ; You should have two name servers
; Name Servers - A records
ns1 IN A 192.168.56.3 ; This is required
ns2 IN A 192.168.56.3 ; You should have two name servers
; Our domains/sub-domains
dns1 IN A 192.168.56.3 ; dns1.com
host1.dns1 IN A 192.168.56.7 ; host1.dns1.com
host2.dns1 IN A 192.168.56.8 ; host2.dns1.com
Observe que não há problema em usar um período como este, embora seja redundante neste caso:
;ok.period.com. IN A 192.168.56.3 ; ok.period.com -> FQDN
E é isso que você deve evitar:
;no.period. IN A 192.168.56.3 ; Don't use periods for sub-domains
;no.period.com IN A 192.168.56.3 ; While this works, this is actually accessed as no.period.com.com!
ex. /etc/bind/zones/db.rev.192
; BIND reverse data file.
; The domain, etc. used should be a listed 'zone' in named.conf.
$TTL 86400
@ IN SOA com. admin.com. (
2018040501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
; In this case, the number just before "PTR" is the last octet
; of the IP address for the device to map (e.g. 192.168.56.[3])
; Name Servers
@ IN NS ns1.com.
@ IN NS ns2.com.
; Reverse PTR Records
3 IN PTR dns1.com.
7 IN PTR host1.dns1.com.
8 IN PTR host2.dns1.com.
Observe que a configuração acima provavelmente limita suas opções em relação ao acesso de suas máquinas .com
a domínios diferentes daqueles que você cria (ou seja, elas provavelmente não conseguirão acessá-los). Se desejar que eles acessem .com
domínios estrangeiros, você pode tentar a abordagem mais restrita abaixo.
Exemplo dns1.com
de arquivos de zona
ex. /etc/bind/named.conf.local
; "db.dns1.com" is a random name - use whatever you like.
;
; Likewise, you can adjust your "allow-transfer" settings,
; etc. as needed.
zone "dns1.com" IN {
type master;
file "/etc/bind/zones/db.dns1.com";
allow-transfer { none; };
};
Você pode usar a mesma named.conf.local
entrada de zona reversa acima.
ex. /etc/bind/zones/db.dns1.com
; BIND data for http://dns1.com
$TTL 3600
@ IN SOA ns1.dns1.com. admin.dns1.com. (
2018040501 ; Serial
604820 ; Refresh
86600 ; Retry
2419600 ; Expire
604600 ) ; Negative Cache TTL
; Name Servers - NS records
@ IN NS ns1.dns1.com. ; This is required
@ IN NS ns2.dns1.com. ; You should have two name servers
; Name Servers - A records
ns1 IN A 192.168.56.3 ; This is required
ns2 IN A 192.168.56.3 ; You should have two name servers
; Our domains/sub-domains
dns1.com. IN A 192.168.56.3 ; dns1.com
host1 IN A 192.168.56.7 ; host1.dns1.com
host2 IN A 192.168.56.8 ; host2.dns1.com
ex. /etc/bind/zones/db.rev.192
; BIND reverse data file.
; The domain, etc. used should be a listed 'zone' in named.conf.
$TTL 86400
@ IN SOA dns1.com. admin.dns1.com. (
2018040501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
; In this case, the number just before "PTR" is the last octet
; of the IP address for the device to map (e.g. 192.168.56.[3])
; Name Servers
@ IN NS ns1.dns1.com.
@ IN NS ns2.dns1.com.
; Reverse PTR Records
3 IN PTR dns1.com.
7 IN PTR host1.dns1.com.
8 IN PTR host2.dns1.com.
Responder2
Seu arquivo de zona está errado - nas linhas 20 e 21, conforme sugerido. Especificamente, não deveria ter o "." depois de host1 e host2.
O . significa que isso é absoluto, e não relativo à zona - portanto, ele recusa o nome de domínio host1 e não tem entrada para host1.com