Configurando o BIND9 e o Apache2 para vários domínios
No exemplo a seguir, a título de exemplificação, foram configurados dois domínios. A distro Linux utilizada foi a do Debian 6.
A primeira coisa a fazer é baixar e instalar o BIND: sudo apt-get install bind9
sdrconsulting
(usa Fedora)
marcos34br
(usa Debian)
removido
(usa Nenhuma)
matheus.silva
(usa Debian)
marcos34br
(usa Debian)
sdrconsulting
(usa Fedora)
removido
(usa Nenhuma)
gpr.ppg.br
(usa Ubuntu)
OSiriX
(usa Slackware)
A primeira coisa a fazer é baixar e instalar o BIND: sudo apt-get install bind9
[2] Enviado em 12/10/2007 - 10:22h 2 Dominio
sdrconsulting
(usa Fedora)
A configuração do Bind é bem tranquila, abra o arquivo de configuração named.conf e adicione o segundo dominio, exemplo:
zone "2dominio.com.br" {
type master;
file "/var/named/2dominio.zone";
};
Observação.: em "file" voce deve especificar onde está o arquivo de configuração do dominio, sugiro que voce observe e coloue no mesmo caminho do arquivo de conf do 1dominio. Ok.
O proximo passo é ir até o diretorio dos arquivos de configuração de dominios, normalmente em /var/named e criar o arquivo de conf para esse 2dominio. A forma simples é apenas copiar o conteudo do primeiro dominio para um outro arquivo, o nome desse arquivo deve ser igual ao cadastrado dentro do named.conf.
Observação, caso voce faça apenas uma copia, voce deve alterar o numero do serial do dominio, esse numero esta configurado dentro do arquivo de configuração.
Feito os procedimentos acima, reinicie o serviço de DNS.
Vá até o APACHE e crie um novo virtual dominio, ou seja, apontando para os diretorios do seu website.
Ok. qq duvida add no MSN: sylvio@sdrconsulting.com.br
zone "2dominio.com.br" {
type master;
file "/var/named/2dominio.zone";
};
Observação.: em "file" voce deve especificar onde está o arquivo de configuração do dominio, sugiro que voce observe e coloue no mesmo caminho do arquivo de conf do 1dominio. Ok.
O proximo passo é ir até o diretorio dos arquivos de configuração de dominios, normalmente em /var/named e criar o arquivo de conf para esse 2dominio. A forma simples é apenas copiar o conteudo do primeiro dominio para um outro arquivo, o nome desse arquivo deve ser igual ao cadastrado dentro do named.conf.
Observação, caso voce faça apenas uma copia, voce deve alterar o numero do serial do dominio, esse numero esta configurado dentro do arquivo de configuração.
Feito os procedimentos acima, reinicie o serviço de DNS.
Vá até o APACHE e crie um novo virtual dominio, ou seja, apontando para os diretorios do seu website.
Ok. qq duvida add no MSN: sylvio@sdrconsulting.com.br
[3] Enviado em 12/10/2007 - 21:16h eu uso debian
marcos34br
(usa Debian)
como eu uso debian os arquivos de configuração do bind ficam em
/etc/bind e para configurar o bind adiciona-se a zona no arquivo
/etc/bind/named.conf.local e não no named.conf direto, pois no
named.conf por default aporta as configurações de zona para o
named.conf.local.
Fazer estas configurações eu sei o meu problema é que configuro o arquivo named.conf.local, la ja possui um dominio ex: meusite.com.br ai adiciono o outro dominio fulanodetal.com.br, faço a zona reversa tudo blz, so que quando restarto o bind da o seguinte erro: bind failed!!
ai tiro a zona fulanodetal.com.br e ele volta a funcionar.
Fazer estas configurações eu sei o meu problema é que configuro o arquivo named.conf.local, la ja possui um dominio ex: meusite.com.br ai adiciono o outro dominio fulanodetal.com.br, faço a zona reversa tudo blz, so que quando restarto o bind da o seguinte erro: bind failed!!
ai tiro a zona fulanodetal.com.br e ele volta a funcionar.
[4] Enviado em 12/10/2007 - 22:27h Re: Bind com 2 dominios
removido
(usa Nenhuma)
a) nao refira-se a retorno de erro apenas pelo que te retorna no
console, procure o arquivo de log para o bind e consulte-o. em teu caso
pode ajudar verificando o arquivo /var/log/daemon.log
b) nao existe problema algum para configurar uma zona (mesmo sendo ela uma zona reversa) no arquivo named.conf.
c.1) vc disse ter configurado a zona reversa para o segundo dominio. isto nao é preciso. zona reversa existe apenas uma (a da rede delegada para vc utilizar).
c.2) claro, se vc for utilizar outra rede, existe a zona reversa que vc pode estar configurando.
d) vc nao deixou passar alguma pontuacao incorretas sem perceber no arquivo de conf? como esta tua zona, no arquivo de zona para o 2o dominio? revise as confs e arquivos com att.
e) nao pretende alterar nenhuma opcao para query na nova zona? na conf informada para "2dominio.com.br" os atributos de configuracao sao bem basicos.
f) vc mesmo instalou o bind? nao esta chrootado? (como dito anteriormente, deixe os diretorios para arquivamento de zona iguais aos da zona ja existente).
bom, vc disse que ja sabe configurar... espero que tenhamos ajudado e lhe dado alguma luz para habilitar tua 2a zona. boa sorte com as confs (:
b) nao existe problema algum para configurar uma zona (mesmo sendo ela uma zona reversa) no arquivo named.conf.
c.1) vc disse ter configurado a zona reversa para o segundo dominio. isto nao é preciso. zona reversa existe apenas uma (a da rede delegada para vc utilizar).
c.2) claro, se vc for utilizar outra rede, existe a zona reversa que vc pode estar configurando.
d) vc nao deixou passar alguma pontuacao incorretas sem perceber no arquivo de conf? como esta tua zona, no arquivo de zona para o 2o dominio? revise as confs e arquivos com att.
e) nao pretende alterar nenhuma opcao para query na nova zona? na conf informada para "2dominio.com.br" os atributos de configuracao sao bem basicos.
f) vc mesmo instalou o bind? nao esta chrootado? (como dito anteriormente, deixe os diretorios para arquivamento de zona iguais aos da zona ja existente).
bom, vc disse que ja sabe configurar... espero que tenhamos ajudado e lhe dado alguma luz para habilitar tua 2a zona. boa sorte com as confs (:
[5] Enviado em 12/10/2007 - 23:34h Re: Bind com 2 dominios
matheus.silva
(usa Debian)
Só um comentário... tenho meu servidor DNS rodando em Debian Etch
aqui... e está com 12 zonas... com certeza em algum ponto da zona vc tá
errando...E os logs do bind por padrão no Debian (pelo menos aqui) se vc
não editar o arquivo e mudar o log dele ele vai para o Syslog...
Abra um segundo terminal e acompanhe o log em tempo real com o comando: tail -f /var/log/syslog
No outro terminal reinicie o Bind pra ver o que rola no log...
E como o colega acima perguntou? Vc colocou o Bind em chroot? Se sim bem.. se não coloque pois é uma forma de proteger mais o seu servidor DNS...
Dê uma olhada nesse artigo aqui caso não tenho colocado: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2610
Espero ter ajudado..
Abra um segundo terminal e acompanhe o log em tempo real com o comando: tail -f /var/log/syslog
No outro terminal reinicie o Bind pra ver o que rola no log...
E como o colega acima perguntou? Vc colocou o Bind em chroot? Se sim bem.. se não coloque pois é uma forma de proteger mais o seu servidor DNS...
Dê uma olhada nesse artigo aqui caso não tenho colocado: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2610
Espero ter ajudado..
[6] Enviado em 13/10/2007 - 09:13h Re: Bind com 2 dominios
marcos34br
(usa Debian)
certo mas olha so o que aparece quando executo o comando nslookup.
nslookup dominio1.com.br
debian:/etc/bind# nslookup dominio1.com.br
Server: 192.168.2.254
Address: 192.168.2.254#53
Name: dominio1.com.br
Address: XXX.XXX.XXX.XX
nslookup dominio2.com.br
nslookup dominio2.com.br
Server: 192.168.2.254
Address: 192.168.2.254#53
** server can't find dominio2.com.br: NXDOMAIN
o dominio1 responde blz, mas o domino2 da NXDOMAIN, porque?
nslookup dominio1.com.br
debian:/etc/bind# nslookup dominio1.com.br
Server: 192.168.2.254
Address: 192.168.2.254#53
Name: dominio1.com.br
Address: XXX.XXX.XXX.XX
nslookup dominio2.com.br
nslookup dominio2.com.br
Server: 192.168.2.254
Address: 192.168.2.254#53
** server can't find dominio2.com.br: NXDOMAIN
o dominio1 responde blz, mas o domino2 da NXDOMAIN, porque?
[7] Enviado em 13/10/2007 - 10:57h Que raiva!!!!
sdrconsulting
(usa Fedora)
Escrevi um puta texto te explicando cada passo, na hora de postar a porcaria deu pau.
Vou resumir,
1) DNS REVERSO:
Configura-se apenas uma unica vez independe do dominio, ou seja: se voce condigurou ele para o 1dominio.com.br não precisa configurar para o 2dominio.com.br.
2) NAMED.CONF
Configure desta forma:
zone "1dominio.com.br" {
type master;
file "<DIRETORIO>/1dominio.com.br.zone";
};
zone "2dominio.com.br" {
type master;
file "<DIRETORIO>/2dominio.com.br.zone";
};
Obs .: <Diretorio> deve ser alterado para o local onde o seu bind lê os arquivos de configuração exe: /var/named...
3) Arquivos de config dos dominios
1dominio.com.br
################################################
$ttl 38400
1dominio.com.br. IN SOA server.1dominio.com.br. postmaster.1dominio.com.br. (
2007101301
10800
3600
604800
38400 )
1dominio.com.br. IN NS server.1dominio.com.br.
1dominio.com.br. IN MX 5 server.1dominio.com.br.
ns1.1dominio.com.br. IN A 70.84.211.171
ns2.1dominio.com.br. IN A 70.84.211.172
server.1dominio.com.br. IN A 70.84.211.170
www.1dominio.com.br. IN CNAME server.1dominio.com.br.
ftp.1dominio.com.br. IN CNAME server.1dominio.com.br.
pop.1dominio.com.br. IN CNAME server.1dominio.com.br.
smtp.1dominio.com.br. IN CNAME server.1dominio.com.br.
2dominio.com.br
#################################################
$ttl 38400
2dominio.com.br. IN SOA server.2dominio.com.br. postmaster.2dominio.com.br. (
2007101302
10800
3600
604800
38400 )
2dominio.com.br. IN NS server.2dominio.com.br.
2dominio.com.br. IN MX 5 server.2dominio.com.br.
ns1.2dominio.com.br. IN A 70.84.211.171
ns2.2dominio.com.br. IN A 70.84.211.172
server.2dominio.com.br. IN A 70.84.211.170
www.2dominio.com.br. IN CNAME server.2dominio.com.br.
ftp.2dominio.com.br. IN CNAME server.2dominio.com.br.
pop.2dominio.com.br. IN CNAME server.2dominio.com.br.
smtp.2dominio.com.br. IN CNAME server.2dominio.com.br.
#################################################
Obs 01.: Altere o serial dos dominios, não pode usar o mesma para os dois, exemplo: 2007101301 e 2007101302, YYYYMMDD + ID.
Obs 02.: Voce deve utilizar os CNAMES para integração com o APACHE.
4) APACHE - NameVirtualHost
Localize a referencia "#NameVirtualHost" e remova o comentário "#", insira na frente desta o endereço IP real de internet, exemplo:
NameVirtualHost 70.84.211.170
5) Estrutura de diretorios para cada dominio
crie a seguinte estrutura:
--> DOMINIO
|--> www
|--> logs
Exemplo:
mkdir /websites
mkdir /websites/1domino/www
mkdir /websites/1domino/logs
mkdir /websites/2domino/www
mkdir /websites/2domino/logs
6) APACHE - Diretorios virtuais
No final do seu arquivo de configuração do APACHE, insira as linhas abaixo.
### 1dominio.com.br
<VirtualHost 70.84.211.170>
ServerAdmin postmaster@1dominio.com.br
DocumentRoot /websites/1dominio/www
ServerName www.1dominio.com.br
ErrorLog logs/1dominio.com.br-error_log
CustomLog logs/1dominio.com.br-access_log common
</VirtualHost>
### 2dominio.com.br
<VirtualHost 70.84.211.170>
ServerAdmin postmaster@2dominio.com.br
DocumentRoot /websites/2dominio/www
ServerName www.2dominio.com.br
ErrorLog logs/2dominio.com.br-error_log
CustomLog logs/2dominio.com.br-access_log common
</VirtualHost>
7) Conclusão
DNS REVERSO uma vez que configurado e funcionando não precisa criar outro ou alterar o funcional.
ZONAS DNS são configuradas dentro do named.conf, ou no arquivo similar em sua distro (nao importa o resultado fnal sera o mesmo).
CONF DOMINIOS, cada dominio tem seu proprio arquivo de configuração, importante que cada dominio tenha um serial diferente ou outro. Caso seja o mesmo alem de não funicionar não haverá sincronismo de dominios entre os servidores.
CNAME, o APACHE sómente entende para o uso dos diretorios virtuais as ZONAS CNAME, ou seja varios dominios sob o mesmo IP, se voce tiver varios IPS VALIDOS pode colocar um dominio para cada um, desta FORMA pode substituir o CNAME po IN A ( IP do Host).
DIRETORIOS DITES, importante tambem que cada site esteja em seu devido diretorio, para isso crie a estrutura que desejar. No apache voce deve apontar os caminhos corretamente <VirtualHost>.
-------------------------------------------------
Esse foi o resumo.
abraços.
Vou resumir,
1) DNS REVERSO:
Configura-se apenas uma unica vez independe do dominio, ou seja: se voce condigurou ele para o 1dominio.com.br não precisa configurar para o 2dominio.com.br.
2) NAMED.CONF
Configure desta forma:
zone "1dominio.com.br" {
type master;
file "<DIRETORIO>/1dominio.com.br.zone";
};
zone "2dominio.com.br" {
type master;
file "<DIRETORIO>/2dominio.com.br.zone";
};
Obs .: <Diretorio> deve ser alterado para o local onde o seu bind lê os arquivos de configuração exe: /var/named...
3) Arquivos de config dos dominios
1dominio.com.br
################################################
$ttl 38400
1dominio.com.br. IN SOA server.1dominio.com.br. postmaster.1dominio.com.br. (
2007101301
10800
3600
604800
38400 )
1dominio.com.br. IN NS server.1dominio.com.br.
1dominio.com.br. IN MX 5 server.1dominio.com.br.
ns1.1dominio.com.br. IN A 70.84.211.171
ns2.1dominio.com.br. IN A 70.84.211.172
server.1dominio.com.br. IN A 70.84.211.170
www.1dominio.com.br. IN CNAME server.1dominio.com.br.
ftp.1dominio.com.br. IN CNAME server.1dominio.com.br.
pop.1dominio.com.br. IN CNAME server.1dominio.com.br.
smtp.1dominio.com.br. IN CNAME server.1dominio.com.br.
2dominio.com.br
#################################################
$ttl 38400
2dominio.com.br. IN SOA server.2dominio.com.br. postmaster.2dominio.com.br. (
2007101302
10800
3600
604800
38400 )
2dominio.com.br. IN NS server.2dominio.com.br.
2dominio.com.br. IN MX 5 server.2dominio.com.br.
ns1.2dominio.com.br. IN A 70.84.211.171
ns2.2dominio.com.br. IN A 70.84.211.172
server.2dominio.com.br. IN A 70.84.211.170
www.2dominio.com.br. IN CNAME server.2dominio.com.br.
ftp.2dominio.com.br. IN CNAME server.2dominio.com.br.
pop.2dominio.com.br. IN CNAME server.2dominio.com.br.
smtp.2dominio.com.br. IN CNAME server.2dominio.com.br.
#################################################
Obs 01.: Altere o serial dos dominios, não pode usar o mesma para os dois, exemplo: 2007101301 e 2007101302, YYYYMMDD + ID.
Obs 02.: Voce deve utilizar os CNAMES para integração com o APACHE.
4) APACHE - NameVirtualHost
Localize a referencia "#NameVirtualHost" e remova o comentário "#", insira na frente desta o endereço IP real de internet, exemplo:
NameVirtualHost 70.84.211.170
5) Estrutura de diretorios para cada dominio
crie a seguinte estrutura:
--> DOMINIO
|--> www
|--> logs
Exemplo:
mkdir /websites
mkdir /websites/1domino/www
mkdir /websites/1domino/logs
mkdir /websites/2domino/www
mkdir /websites/2domino/logs
6) APACHE - Diretorios virtuais
No final do seu arquivo de configuração do APACHE, insira as linhas abaixo.
### 1dominio.com.br
<VirtualHost 70.84.211.170>
ServerAdmin postmaster@1dominio.com.br
DocumentRoot /websites/1dominio/www
ServerName www.1dominio.com.br
ErrorLog logs/1dominio.com.br-error_log
CustomLog logs/1dominio.com.br-access_log common
</VirtualHost>
### 2dominio.com.br
<VirtualHost 70.84.211.170>
ServerAdmin postmaster@2dominio.com.br
DocumentRoot /websites/2dominio/www
ServerName www.2dominio.com.br
ErrorLog logs/2dominio.com.br-error_log
CustomLog logs/2dominio.com.br-access_log common
</VirtualHost>
7) Conclusão
DNS REVERSO uma vez que configurado e funcionando não precisa criar outro ou alterar o funcional.
ZONAS DNS são configuradas dentro do named.conf, ou no arquivo similar em sua distro (nao importa o resultado fnal sera o mesmo).
CONF DOMINIOS, cada dominio tem seu proprio arquivo de configuração, importante que cada dominio tenha um serial diferente ou outro. Caso seja o mesmo alem de não funicionar não haverá sincronismo de dominios entre os servidores.
CNAME, o APACHE sómente entende para o uso dos diretorios virtuais as ZONAS CNAME, ou seja varios dominios sob o mesmo IP, se voce tiver varios IPS VALIDOS pode colocar um dominio para cada um, desta FORMA pode substituir o CNAME po IN A ( IP do Host).
DIRETORIOS DITES, importante tambem que cada site esteja em seu devido diretorio, para isso crie a estrutura que desejar. No apache voce deve apontar os caminhos corretamente <VirtualHost>.
-------------------------------------------------
Esse foi o resumo.
abraços.
[8] Enviado em 13/10/2007 - 12:20h Re: Bind com 2 dominios
removido
(usa Nenhuma)
sobre a questao do arquivo de log, em /var/log/daemon.log vc pode ter o
status de inicializacao do servico do bind (named). tive a interpretacao
de que seu servico nao estava iniciando corretamente, pelos comentarios
aqui expostos.
consultando /var/log/syslog, como matheus comentou, vc vai estar vendo nao apenas as consultas feitas em teu bind (querys nas zonas de dominio, por exemplo) mas vai precisar filtrar esta consulta no arquivo, pois outros daemons que vc certamente executa na box vao estar enviando debug para este arquivo. poderiam estar sendo gerados debugs ate mesmo em /var/log/messages.
se pretende mesmo analisar os logs eleve o nivel de debug e execute o bind (named). se pretende logs personalizados veja na manpage infos sobre a seçao de logging e altere o channels e categorias pra te atender como precisa.
a config para a zona reversa só é uma quando vc tem apenas uma rede disponivel para utilizar e impor os hostnames para a rede arpa que vc tem controle (uma rede /24, por exemplo... pois sendo uma /26 vc teria de solicitar a operadora que fosse seu ns slave). bem, isto nao vem ao caso.
o serial pode sim ser igual para as duas zonas, nao existe problema algum nisso. ele indica (por questao de uma boa pratica de config) o dia em que foi alterada a zona e qntas vezes foi feita alguma alteracao em um determinado dia (seria a revisao da zona). 2007101307 indica que houveram 7 revisoes na zona no dia 13 de outubro de 2007.
voltando a duvida em questao, o nslookup é considerado deprecado para consultas (nao quero dizer que ele nao funciona) eu lhe aconselho utilizar o dig. um exemplo de utilizacao para o dig seria "dig host.dominio @localhost".
pelo visto seu resolv.conf nao esta setado de forma a indicar que localhost é responsavel por consultas aos root servers. faça alguns testes dando preferencia ao uso do localhost, mesmo tendo 192.168.2.254 como uma intereface da box onde vc executa o bind (named). retornos informando dificuldade para localizar o dominio/zona podem estar relacionados a delegacao ou autoridade da mesma (retornos nxdomain).
sobre apache nao tenho nada a comentar. o topico esta sendo apenas para consultas e confs para name services <;
consultando /var/log/syslog, como matheus comentou, vc vai estar vendo nao apenas as consultas feitas em teu bind (querys nas zonas de dominio, por exemplo) mas vai precisar filtrar esta consulta no arquivo, pois outros daemons que vc certamente executa na box vao estar enviando debug para este arquivo. poderiam estar sendo gerados debugs ate mesmo em /var/log/messages.
se pretende mesmo analisar os logs eleve o nivel de debug e execute o bind (named). se pretende logs personalizados veja na manpage infos sobre a seçao de logging e altere o channels e categorias pra te atender como precisa.
a config para a zona reversa só é uma quando vc tem apenas uma rede disponivel para utilizar e impor os hostnames para a rede arpa que vc tem controle (uma rede /24, por exemplo... pois sendo uma /26 vc teria de solicitar a operadora que fosse seu ns slave). bem, isto nao vem ao caso.
o serial pode sim ser igual para as duas zonas, nao existe problema algum nisso. ele indica (por questao de uma boa pratica de config) o dia em que foi alterada a zona e qntas vezes foi feita alguma alteracao em um determinado dia (seria a revisao da zona). 2007101307 indica que houveram 7 revisoes na zona no dia 13 de outubro de 2007.
voltando a duvida em questao, o nslookup é considerado deprecado para consultas (nao quero dizer que ele nao funciona) eu lhe aconselho utilizar o dig. um exemplo de utilizacao para o dig seria "dig host.dominio @localhost".
pelo visto seu resolv.conf nao esta setado de forma a indicar que localhost é responsavel por consultas aos root servers. faça alguns testes dando preferencia ao uso do localhost, mesmo tendo 192.168.2.254 como uma intereface da box onde vc executa o bind (named). retornos informando dificuldade para localizar o dominio/zona podem estar relacionados a delegacao ou autoridade da mesma (retornos nxdomain).
sobre apache nao tenho nada a comentar. o topico esta sendo apenas para consultas e confs para name services <;
[9] Enviado em 04/02/2008 - 15:24h fiz tudo
gpr.ppg.br
(usa Ubuntu)
fiz tudo e nao funciona na rede local
só funciona no servidor direto
no servidor funciona www3.intranet.com.br
mas na rede NAO só com o ip mesmo 192.168.1.100
o que sera que esta faltando?
ja ate coloquei o dns do servidor nos micros da rede.
só funciona no servidor direto
no servidor funciona www3.intranet.com.br
mas na rede NAO só com o ip mesmo 192.168.1.100
o que sera que esta faltando?
ja ate coloquei o dns do servidor nos micros da rede.
[10] Enviado em 13/09/2008 - 19:34h tutorial resumido !
OSiriX
(usa Slackware)
sdrconsulting ai seu resumo ta otimo !!
quase um artigo !
hehehe^^
se ele não conseguir !
a é melhor ele contratar uma pessoa certificada em lpi pra configurar o dns delle !
kkkkk
quase um artigo !
hehehe^^
se ele não conseguir !
a é melhor ele contratar uma pessoa certificada em lpi pra configurar o dns delle !
kkkkk
Comentários
Postar um comentário
Obrigado por sua contribuição em forma de comentário!