Estou tentando configurar um servidor de nomes DNS chrooted em uma LAN local como esta, todos conectados na LAN podem ter acesso aos hosts virtuais em massa definidos para um ambiente de desenvolvimento sem ter que editar manualmente seu local / etc / hosts. por um. O host virtual de massa é denominado example.user.dev (VirtualDocumentRoot / home / user / example) e example.test (DocumentRoot / var / www / example).
Eu configurei tudo e o / var / log / syslog não mostrou nenhum erro, mas ao verificar o DNS com:
host -v example.test
Não encontra o host. Também usando o comando dig eu não recebo resposta.
dig -x example.test
; <<>> DiG 9.5.1-P3 <<>> -x example
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 47844
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;example.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
in-addr.arpa. 600 IN SOA a.root-servers.net. dns-ops.arin.net. 2010042604 1800 900 691200 10800
;; Query time: 108 msec
;; SERVER: 80.58.0.33#53(80.58.0.33)
;; WHEN: Mon Apr 26 11:15:53 2010
;; MSG SIZE rcvd: 107
Minha configuração é a seguinte:
/etc/bind/named.conf.local
zone "example.test" {
type master;
allow-query { any; };
file "/etc/bind/zones/master_example.test";
notify yes;
};
zone "1.168.192.in-addr.arpa" {
type master;
allow-query { any; };
file "/etc/bind/zones/master_1.168.192.in-addr.arpa";
notify yes;
};
/etc/bind/named.conf.options
- Nota: Temos um endereço IP estático para encaminhar as consultas para o servidor DNS ao endereço IP.
options{
directory "/var/cache/bind";
forwarders { 80.34.100.160; };
auth-nxdomain no;
listen-on-v6 { any; };
};
/etc/bind/zones/master_example.test
$ORIGIN example.test.
$TTL 86400
@ IN SOA example.test. root.example.test. (
201004227 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ) ; min
;
TXT "example.test, DNS service"
@ IN NS example.test.
localhost A 127.0.0.1
example.test. A 192.168.1.52
example A 192.168.1.52
www CNAME example.test.
/ etc / hosts
127.0.0.1 localhost example
192.168.1.52 localhost example example.test
/etc/resolv.conf
- Nota: Para o Bind, acabei de adicionar as 3 últimas linhas.
nameserver 80.58.0.33
nameserver 80.58.61.250
nameserver 80.58.61.254
search example.test
search example
nameserver 192.168.1.52
EDITAR
Algumas mudanças importantes. Agora eu tenho essa configuração:
/etc/resolv.conf
search example.test
search example
nameserver 192.168.1.52
nameserver 80.58.0.33
nameserver 80.58.61.250
nameserver 80.58.61.254
/ etc / hosts
127.0.0.1 localhost example example.test
192.168.1.52 dns1.example.test
/etc/bind/named.conf.local
Acabei de comentar a zona de endereço reverso.
/etc/bind/zones/master_example.test
$ORIGIN example.test.
$TTL 86400
@ IN SOA dns1.example.test. hostmaster.example.test. (
2010042214 ; serial
21600 ; refresh
3600 ; retry
604800 ; expire
86400 ) ; min
IN NS dns1.example.test.
IN NS dns2.example.test.
IN A 192.168.1.52
example IN A 192.168.1.52
dns1 IN A 192.168.1.52
dns2 IN A 192.168.1.52
www CNAME example
E agora executando:
dig example.test @192.168.1.52
; <<>> DiG 9.5.1-P3 <<>> example.test @192.168.1.52
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53489
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;example.test. IN A
;; ANSWER SECTION:
example.test. 86400 IN A 192.168.1.52
;; AUTHORITY SECTION:
example.test. 86400 IN NS dns1.example.test.
example.test. 86400 IN NS dns2.example.test.
;; ADDITIONAL SECTION:
dns1.example.test. 86400 IN A 192.168.1.52
dns2.example.test. 86400 IN A 192.168.1.52
;; Query time: 1 msec
;; SERVER: 192.168.1.52#53(192.168.1.52)
;; WHEN: Mon Apr 26 12:38:56 2010
;; MSG SIZE rcvd: 118
Então, agora, qual deve ser o próximo passo em frente?
EDIT 2
Eu deixei o servidor DNS resolv.conf assim:
nameserver 192.168.1.52
nameserver 80.58.0.33
nameserver 80.58.61.250
nameserver 80.58.61.254
e adicionou o servidor DNS addres 192.168.1.52 a qualquer computador cliente em seu resolv.conf
Assim, posso acessar de cada computador o link .
Para conseguir alcançar cada host virtual individual do ambiente de desenvolvimento, devo criar uma nova zona ou usar um caractere curinga na zona example.test que criei?
EDIT 3
Finalmente, deixei minhas zonas assim. Uma zona para o host virtual de teste e a outra para o host virtual de massa para problemas de desenvolvimento. Tudo funciona como eu queria e com rapidez e um bom desempenho. Não sei se existe uma configuração melhor do que isso para o sistema que construí. Qualquer conselho seria tomado cuidado.
master_example.test
$ORIGIN example.test.
$TTL 86400
@ IN SOA dns1.example.test. hostmaster.example.test. (
2010042215 ; serial
21600 ; refresh
3600 ; retry
604800 ; expire
86400 ) ; min
@ IN NS dns1.example.test.
@ IN NS dns2.example.test.
@ IN A 192.168.1.52
www IN CNAME @
master_dev
$ORIGIN dev.
$TTL 86400
@ IN SOA dev. hostmaster.dev. (
2010042215 ; serial
21600 ; refresh
3600 ; retry
604800 ; expire
86400 ) ; min
@ IN NS dev.
@ IN A 192.168.1.52
*.dev. IN A 192.168.1.52
/etc/bind/named.conf.local
zone "example.test" {
type master;
allow-query { any; };
file "/etc/bind/zones/master_example.test";
notify yes;
};
zone "dev" {
type master;
allow-query { any; };
file "/etc/bind/zones/master_dev";
notify yes;
};
zone "1.168.192.in-addr.arpa" {
type master;
allow-query { any; };
file "/etc/bind/zones/master_1.168.192.in-addr.arpa";
notify yes;
};
/etc/bind/named.conf.options
- Nota: Temos um endereço IP estático para encaminhar as consultas para o servidor DNS ao endereço IP. Por fim, adicionei aos encaminhadores o ISP DNS IP, a fim de não causar gargalo no tráfego da Web, porque, experimentalmente, tive um grande aumento na velocidade das conexões HTTP dentro e fora da LAN local.
options{
directory "/var/cache/bind";
allow-query { 192.168.1.0/24; localhost;};
allow-recursion { 192.168.1.0/24; localhost;};
forwarders { 80.58.0.33; 80.34.100.160; };
auth-nxdomain no;
listen-on-v6 { any; };
};