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=yes

Crie 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 localhost

Precisamos 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: 172

Mais 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

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.