Eu tenho um servidor web (com IP estático 192.168.1.5
), e eu quero ter minhas máquinas na minha rede local para poder acessá-lo sem modificar /etc/hosts
(ou equivalente para Windows / OSX). Meu roteador tem
Primary DNS server 192.168.1.5
Secondary DNS server 8.8.8.8 (Google's public DNS).
O Nginx é configurado para sites do servidor externamente, como
*.example.com
Internamente, quero
*.example.local
para apontar para o servidor.
Meu servidor da web tem o BIND9 instalado, mas não tenho certeza das configurações. Já passei por vários tutoriais contraditórios, e a maioria das minhas configurações foi prejudicada. Eu tirei as linhas que estou confuso.
Os tutoriais que eu consultei são link e link . Eles diferem principalmente sobre o que deve ser colocado em /etc/bind/zones/db.example.local
e /etc/bind/zones/db.192
, então deixei as linhas conflitantes abaixo. Alguém pode sugerir quais são as linhas corretas para dar o meu comportamento acima (ou seja, *.example.local
apontando para 192.168.1.5
)?
/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.254
/etc/hostname
avalon
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
/etc/bind/named.conf.local
zone "example.local" {
type master;
file "/etc/bind/zones/db.example.local";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192";
};
/etc/bind/zones/db.example.local
$TTL 604800
@ IN SOA avalon.example.local. webadmin.example.local. (
5 ; Serial, increment each edit
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
/etc/bind/zones/db.192
$TTL 604800
@ IN SOA avalon.example.local. webadmin.example.local. (
4 ; Serial, increment each edit
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
O que eu preciso adicionar aos arquivos acima para que, em um laptop na rede interna, eu possa digitar webapp.example.local
e ser atendido pelo meu servidor?
Eu fiz várias alterações nos arquivos acima no servidor da web.
/etc/network/interfaces
(fim do arquivo)
dns-nameservers 127.0.0.1
dns-search example.local
/etc/bind/zones/db.example.local
(fim do arquivo)
@ IN NS avalon.example.local.
@ IN A 192.168.1.5
avalon IN A 192.168.1.5
webapp IN A 192.168.1.5
www IN CNAME 192.168.1.5
/etc/bind/zones/db.192
(fim do arquivo)
IN NS avalon.example.local.
73 IN PTR avalon.example.local.
Como uma nota lateral, minha máquina Win7 sobressalente foi capaz de se conectar diretamente a webapp.example.local
, mas para uma máquina Ubuntu 13.10, eu tive que fazer as seguintes mudanças também (não no servidor web, mas em uma máquina separada) :
/etc/nsswitch.conf
antes
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
depois
hosts: files dns
/etc/NetworkManager/NetworkManager.conf
antes
dns=dnsmasq
depois
#dns=dnsmasq
O problema continua sendo que não é um DNS curinga, então tenho que adicionar entradas a /etc/bind/zones/db.example.local
para webapp1
, webapp2
, ...