Configuração de Servidores · 5 min read · Oct 09, 2025
O Cluster Web Perfeito com Balanceamento de Carga e Alta Disponibilidade com 2 Servidores Executando Xen no Ubuntu 8.04 Hardy Heron - Página 3
8. Servidor DNS (web1, web2)
8.1 Instalar o Servidor DNS
Execute:
apt-get install bind9
Por razões de segurança, queremos executar o BIND em chroot, então precisamos fazer os seguintes passos:
/etc/init.d/bind9 stop
Edite o arquivo /etc/default/bind9 para que o daemon seja executado como o usuário não privilegiado bind, chrooted para /var/lib/named. Modifique a linha: OPTIONS=”-u bind” para que fique OPTIONS=”-u bind -t /var/lib/named”:
vi /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
# Defina RESOLVCONF=no para não executar resolvconf
RESOLVCONF=yesCrie os diretórios necessários em /var/lib:
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
Em seguida, mova o diretório de configuração de /etc para /var/lib/named/etc:
mv /etc/bind /var/lib/named/etc
Crie um symlink para o novo diretório de configuração a partir da antiga localização (para evitar problemas quando o bind for atualizado no futuro):
ln -s /var/lib/named/etc/bind /etc/bind
Crie dispositivos nulos e aleatórios, e ajuste as permissões dos diretórios:
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
Precisamos modificar /etc/default/syslogd para que possamos ainda receber mensagens importantes registradas nos logs do sistema. Modifique a linha: SYSLOGD=”” para que fique: SYSLOGD=”-a /var/lib/named/dev/log”:
vi /etc/default/syslogd
#
# Arquivo de configuração principal para syslogd
#
# A documentação completa dos possíveis argumentos pode ser encontrada na manpage
# syslogd(8).
#
# Para registro remoto via UDP use SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"Reinicie o daemon de registro:
/etc/init.d/sysklogd restart
Inicie o BIND e verifique /var/log/syslog em busca de erros:
/etc/init.d/bind9 start
8.2 Configurar bind
Vamos configurar o bind com 2 domínios, example.com que será o servidor de nomes e também configuraremos o bind para yoursite.com.
Agora, o arquivo de configuração principal no BIND é named.conf, no entanto named.conf.local já está incluído em named.conf e está lá para configuração personalizada, então editaremos named.conf.local e adicionaremos nossas zonas, aqui adicionei uma zona chamada tm.local, bem como uma zona reversa para 192.168.1.0:
vi /etc/bind/named.conf.local
#EXAMPLE.COM
zone "example.com" {
type master;
file "/etc/bind/zones/example.com.db";
};
#YOURSITE.COM
zone "yoursite.com" {
type master;
file "/etc/bind/zones/yoursite.com.db";
};
# Esta é a definição da zona para DNS reverso. substitua 1.168.192 pelo seu endereço de rede na notação reversa - e.g meu endereço de rede é 192.168.1.X
zone "1.168.192.in-addr.arpa." {
type master;
file "/etc/bind/zones/rev.1.168.192.in-addr.arpa";
};Nota: Se seu ISP estiver delegando um mapa de sub-rede (digamos ip 192.168.1.100 a 192.168.1.112) leia isso para a zona reversa (veja o Arquivo de Zona do Cliente/Usuário):
http://www.zytrax.com/books/dns/ch9/reverse.html
8.3 Configurar zonas
mkdir /etc/bind/zones
vi /etc/bind/zones/example.com.db
e faça parecer com isto:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2008060902 ; serial, data de hoje + número de série de hoje
28800 ; refresh, segundos
7200 ; retry, segundos
604800 ; expire, segundos
86400 ) ; mínimo, segundos
;
NS ns1.example.com. ; Endereço Inet do servidor de nomes 1
NS ns2.example.com. ; Endereço Inet do servidor de nomes 2
;
MX 10 example.com.
example.com. A 192.168.1.106
www A 192.168.1.106
ns1 A 192.168.1.106
ns2 A 192.168.1.106
dom01 A 192.168.1.100
dom02 A 192.168.1.101
lb1 A 192.168.1.102
lb2 A 192.168.1.103
web1 A 192.168.1.104
web2 A 192.168.1.105
example.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"Agora vamos criar a zona para yoursite.com:
vi /etc/bind/zones/yoursite.com.db
Faça parecer com isto:
$TTL 86400
@ IN SOA ns1.example.com. admin.yoursite.com. (
2008060902 ; serial, data de hoje + número de série de hoje
28800 ; refresh, segundos
7200 ; retry, segundos
604800 ; expire, segundos
86400 ) ; mínimo, segundos
;
NS ns1.example.com. ; Endereço Inet do servidor de nomes 1
NS ns2.example.com. ; Endereço Inet do servidor de nomes 2
;
MX 10 yoursite.com.
yoursite.com. A 192.168.1.107
www A 192.168.1.107
yoursite.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"Agora vamos prosseguir com a zona reversa.
vi /etc/bind/zones/rev.1.168.192.in-addr.arpa
$TTL 86400
@ IN SOA ns1.example.com. hostmaster.example.com. (
2008060901 ; serial, data de hoje + número de série de hoje
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; TTL mínimo
NS ns1.example.com.
NS ns2.example.com.
100 PTR dom01.example.com.
101 PTR dom02.example.com.
102 PTR lb1.example.com.
103 PTR lb2.example.com.
104 PTR web1.example.com.
105 PTR web2.example.com.
106 PTR example.com.
107 PTR yoursite.com.Agora configure o servidor para encaminhar quaisquer solicitações para o servidor do seu ISP para que ele possa resolver IPs externos.
vi /etc/bind/named.conf.options
Descomente a seção de encaminhadores para que fique assim:
[...]
forwarders {
# Substitua o endereço abaixo pelo endereço do servidor DNS do seu ISP
123.123.123.123;
};
[...] 8.4 Configurar o servidor para usar a si mesmo como DNS
vi /etc/resolv.conf
search example.com
nameserver localhostPrecisamos reiniciar o bind:
/etc/init.d/bind9 restart
8.5 Testar o servidor DNS
Primeiro, instalaremos o dig que está incluído no pacote dnsutils:
apt-get install dnsutils
Agora veremos se nossos servidores DNS nos dão as respostas corretas:
no web1
dig yoursite.com @192.168.1.105
no web2
dig yoursite.com @192.168.1.104
Em ambos, você deve ver uma saída como esta:
; DiG 9.4.2-P1 yoursite.com
;; opções globais: printcmd
;; Recebeu resposta:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4547
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; SEÇÃO DE QUESTÃO:
;yoursite.com. IN A
;; SEÇÃO DE RESPOSTA:
yoursite.com. 86400 IN A 192.168.1.107
;; SEÇÃO DE AUTORIDADE:
yoursite.com. 15090 IN NS ns2.example.com.
yoursite.com. 15090 IN NS ns1.example.com.
;; SEÇÃO ADICIONAL:
ns2.example.com. 162439 IN A 192.168.1.106
ns1.example.com. 162439 IN A 192.168.1.106
;; Tempo de consulta: 27 msec
;; QUANDO: Dom Set 21 19:07:17 2008
;; TAMANHO MSG recebido: 124
Agora testaremos a pesquisa reversa:
no web1
dig -x 192.168.1.107 @192.168.1.105
no web2*
dig -x 192.168.1.107 @192.168.1.104
A saída deve ser semelhante a esta:
; DiG 9.4.2-P1 -x 192.168.1.107
;; opções globais: printcmd
;; Recebeu resposta:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22614
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; SEÇÃO DE QUESTÃO:
;107.1.168.192.in-addr.arpa. IN PTR
;; SEÇÃO DE RESPOSTA:
;107.1.168.192.in-addr.arpa. 86400 IN PTR yoursite.com.
;; SEÇÃO DE AUTORIDADE:
;1.168.192.in-addr.arpa. 86400 IN NS ns2.example.com.
;1.168.192.in-addr.arpa. 86400 IN NS ns1.example.com.
;; SEÇÃO ADICIONAL:
ns1.example.com. 162147 IN A 192.168.1.106
ns2.example.com. 162147 IN A 192.168.1.106
;; Tempo de consulta: 88 msec
;; QUANDO: Dom Set 21 19:12:09 2008
;; TAMANHO MSG recebido: 172Mais informações sobre como usar o dig:
http://www.madboa.com/geek/dig/
9. Proftpd (web1, web2)
9.1 Instalação do Proftpd
Para instalar o Proftpd, execute
apt-get install proftpd ucf
Você será questionado:
Executar proftpd: <– standalone
9.2 Configuração do Proftpd
vi /etc/proftpd/proftpd.conf
Por razões de segurança, adicione as seguintes linhas ao /etc/proftpd/proftpd.conf:
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."Em seguida, reinicie o Proftpd:
/etc/init.d/proftpd restart
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.