Author Topic: Servidor dns - local [RESOLVIDO]  (Read 12744 times)

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Servidor dns - local [RESOLVIDO]
« on: 09 de May de 2012, 11:39 »
Bom dia, estou precisando montar um servidor dns em uma máquina para usar o WPAD, que foi uma dica do zekkerj. Tenho algumas dúvidas sobre o servidor de dns, não encontrei nada no fórum. Se puderem me esclarecer agradeço.

1 - Preciso do servidor dns somente para o WPAD, ou seja, para ter uma alternativa ao proxy transparente.

2 - Gostaria de colocar um domínio somente local, por exemplo, computador.local (a zona). Posso fazer isso? como?

3 - Como as máquinas da rede vão interagir com o servidor dns? Primeiro consultam o dns local, depois o dns "real"?

4- Tenho q ter um dominio registrado para ter um servidor dns (para uso local) ?

Um abraço!

« Last Edit: 20 de May de 2012, 14:58 by lucascatani »

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Posts: 19.736
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • View Profile
    • Blog do Zekke
Re: Servidor dns - local
« Reply #1 on: 09 de May de 2012, 21:38 »
Comece instalando o pacote bind. Depois você vai configurar uma zona local [estou fora de minha máquina agora, não vou poder te passar um tutorial pra isso]

Quote
Como as máquinas da rede vão interagir com o servidor dns? Primeiro consultam o dns local, depois o dns "real"?
Não. Você vai repassar as consultas do seu servidor pro DNS real.

Quote
Tenho q ter um dominio registrado para ter um servidor dns (para uso local) ?
Não.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #2 on: 10 de May de 2012, 20:10 »
Fiz como esse que você me passou, usando a seção "dns para intranet" http://www.hardware.com.br/tutoriais/instalando-servidor-dns/configurando-dns-intranet.html
Pode ser esse?

Segue meu named.conf.local
Código:

zone "macaco" IN {
   type master;
   file "/etc/bind/db.macaco";
};


e o db.macaco
Código:

$TTL  86400
@        IN  SOA servidor.macaco. hostmaster.macaco. (
          2012051018 3H 15W 1W 1D )
          NS servidor.macaco.
macaco. A 192.168.0.254
www A 192.168.0.254:8181


Se eu digitar www.macaco no meu navegador ele nao acessa o meu servidor web! preciso de ajuda!!!

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Posts: 19.736
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • View Profile
    • Blog do Zekke
Re: Servidor dns - local
« Reply #3 on: 10 de May de 2012, 21:51 »
Execute os comandos abaixo:

host www.macaco <ip do servidor DNS>
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #4 on: 11 de May de 2012, 14:08 »
Execute os comandos abaixo:

host www.macaco <ip do servidor DNS>

Com essas configurações do bind, meu servidor DNS já está funcional para o uso do WPAD?

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Posts: 19.736
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • View Profile
    • Blog do Zekke
Re: Servidor dns - local
« Reply #5 on: 11 de May de 2012, 15:12 »
Não.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #6 on: 11 de May de 2012, 19:48 »

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #7 on: 15 de May de 2012, 20:07 »
Como testar se meu dns está funcionando?

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #8 on: 15 de May de 2012, 20:10 »
Execute os comandos abaixo:

host www.macaco <ip do servidor DNS>

O que esse comando faz? Adiciona isso a qual arquivo? é permantente?

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Posts: 19.736
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • View Profile
    • Blog do Zekke
Re: Servidor dns - local
« Reply #9 on: 15 de May de 2012, 20:46 »
Quote
O que esse comando faz? Adiciona isso a qual arquivo? é permantente?

Esse comando faz uma consulta ao servidor DNS especificado, em vez de fazer aos servidores padrão indicados no seu arquivo /etc/resolv.conf.

Não adiciona nem altera nada no seu sistema.

Mais detalhes: "man host".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #10 on: 15 de May de 2012, 21:33 »
Quote
O que esse comando faz? Adiciona isso a qual arquivo? é permantente?

Esse comando faz uma consulta ao servidor DNS especificado, em vez de fazer aos servidores padrão indicados no seu arquivo /etc/resolv.conf.

Não adiciona nem altera nada no seu sistema.

Mais detalhes: "man host".

Em nenhum dos tutorias de DNS que eu encontrei falava em alterar o resolv.conf, mesmo assim, ainda não consegui fazer funcionar o wpad com DNS. Provavelmente seja erro no dns. Alguém me dá uma mão aí na configuração:
1 - Instalei o bind

2 - Alterei o named.conf.local com as zonas

3 - Criei os arquivos de zonas

Falta o que?
« Last Edit: 15 de May de 2012, 22:58 by lucascatani »

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Posts: 19.736
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • View Profile
    • Blog do Zekke
Re: Servidor dns - local
« Reply #11 on: 16 de May de 2012, 00:06 »
Falta testar, não? Vc usou o comando que eu te passei?

Sobre o wpad: vc tem que criar um registro "wpad.dominio", de forma que quando as estações da tua rede pedirem o URL "http://wpad/wpad.dat" elas encontrem o teu servidor, e o arquivo "wpad.dat" que vc vai configurar nele.

Uma outra forma de vc fazer isso funcionar é adicionar a entrada pra máquina wpad no arquivo hosts das estações. Com poucas máquinas (digamos, menos de 20) pode ser mais simples do que criar o domínio.
« Last Edit: 16 de May de 2012, 00:09 by zekkerj »
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #12 on: 16 de May de 2012, 16:12 »
Falta testar, não? Vc usou o comando que eu te passei?

Sobre o wpad: vc tem que criar um registro "wpad.dominio", de forma que quando as estações da tua rede pedirem o URL "http://wpad/wpad.dat" elas encontrem o teu servidor, e o arquivo "wpad.dat" que vc vai configurar nele.

Uma outra forma de vc fazer isso funcionar é adicionar a entrada pra máquina wpad no arquivo hosts das estações. Com poucas máquinas (digamos, menos de 20) pode ser mais simples do que criar o domínio.


Estou tendo um problema para usar o WPAD com firewall... se eu troco a porta do apache para 8181, como fica minha configuração do de zona para o www? Hoje é assim

wpad IN A 192.168.0.254

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Posts: 19.736
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • View Profile
    • Blog do Zekke
Re: Servidor dns - local
« Reply #13 on: 16 de May de 2012, 16:49 »
O apache tem que continuar funcionando na porta 80, pelo menos pra rede interna.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline lucascatani

  • Usuário Ubuntu
  • *
  • Posts: 277
    • View Profile
    • L9WEB
Re: Servidor dns - local
« Reply #14 on: 16 de May de 2012, 21:39 »
Vamos lá. Nesse servidor tenho:
- DHCP
- DNS
- SQUID
- APACHE
- FIREWALL
- SSH

Preciso liberar as portas para o WPAD funcionar corretamente. Se eu deixar o firewall com tudo ACCEPT funciona, mas como estou adotando a estratégia de DROP total e liberar o necessário, estou tendo problemas para fazer funcionar o WPAD. Abaixo seguem os scripts. Por favor, aponte uma solução. Alguém com mais experiência pode achar o erro mais fácil correndo o olho no script.

dhcpd.conf
Code: [Select]
#PARA FUNCIONAR O DNS
ddns-update-style interim;
ddns-updates on;
ddns-domainname "macaco.local";
ddns-rev-domainname "0.168.192.in-addr.arpa";

include "/etc/bind/rndc.key";

zone macaco.local
{
  primary 127.0.0.1;
  key rndc-key;
}

zone 0.168.192.in-addr-arpa
{
  primary 127.0.0.1;
  key rndc-key;
}

#WPAD

option wpad code 252 = text;
option wpad "http://192.168.0.254/wpad.dat\n";

#DHCP

authoritative;
default-lease-time 600;
max-lease-time 7200;
option domain-name "macaco.local";
option domain-name-servers 192.168.0.254,8.8.8.8,8.8.4.4;
option subnet-mask 255.255.255.0;

# Configurando o dhcp para distribuir ip na ETH1 - REDE LOCAL - OFFBOARD
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.2 192.168.0.200;
  option routers 192.168.0.254;
  option broadcast-address 192.168.0.255;
}

named.conf.local
Code: [Select]
include "/etc/bind/rndc.key";

zone "macaco.local" {
  type master;
  file "/etc/bind/db.macaco.local";
  allow-update {key rndc-key;};
};

zone "0.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/0.168.192.in-addr.arpa";
  allow-update {key rndc-key;};
};


0.168.192.in-addr.arpa
Code: [Select]
$TTL 43200 ; 12 hours
@ IN SOA fw3.macaco.local. root.macaco.local. (
1          ; serial
28800      ; refresh (8 hours)
14400      ; retry (4 hours)
3600000    ; expire (5 weeks 6 days 16 hours)
86400      ; minimum (1 day)
)
@ IN NS fw3.macaco.local.
254.0.168.192 IN PTR fw3.macaco.local.
254 IN PTR  www.macaco.local.


db.macaco.local
Code: [Select]
$TTL 43200 ; 12 hours
@ IN SOA fw3.macaco.local. root.macaco.local. (
2          ; serial
28800      ; refresh (8 hours)
14400      ; retry (4 hours)
3600000    ; expire (5 weeks 6 days 16 hours)
86400      ; minimum (1 day)
)
@ IN NS fw3.macaco.local.
fw3 IN A 192.168.0.254
wpad IN A 192.168.0.254
www IN A 192.168.0.254


firewall
Code: [Select]
#!/bin/bash

INTERNET="eth1"
REDELOCAL="eth0"

modprobe ip_tables
modprobe iptable_nat

# Politica padrao
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Politicas da rede ou pessoais
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

###################### FORWARD ##############################


# Liberando o DNS -
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p udp -m multiport --dports 53,5353 -j ACCEPT

# Liberando o ssh
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT

# Liberando o Squid
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 3128 -j ACCEPT

# Liberando POP E SMTP - SSL Também
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp -m multiport --dports 25,110,465,995,587 -j ACCEPT

# Liberando o FTP
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 21 -j ACCEPT


###################### INPUT ################################
# Liberando Samba
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 139,445 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p udp -m multiport --dports 137,138 -j ACCEPT

# Liberando ssh
iptables -A INPUT -i $REDELOCAL -p tcp --dport 22 -j ACCEPT

# Liberando o Squid
iptables -A INPUT -i $REDELOCAL -p tcp --dport 3128 -j ACCEPT


###################### OUTPUT ################################

# Liberando o Squid
iptables -A OUTPUT -p tcp --dport 3128 -j ACCEPT

# Liberando o Dns - Necessario para o Squid
iptables -A OUTPUT -p udp -m multiport --dports 53,5353 -j ACCEPT

# Liberando o Samba
iptables -A OUTPUT -p tcp -m multiport --dports 139,445 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports 137,138 -j ACCEPT


# Compartilhando a internet com a REDELOCAL
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

################### LIBERANDO PC ACESSO ESPECIAL ############

# Juca
iptables -A FORWARD -s 192.168.0.99 -j ACCEPT


################### Protegendo contra ataques ###############

# Syn Cookyes
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# ICMP Broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Mensagens falsas de icmp_error responses
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Anti-spoofings
iptables -A INPUT -j DROP -s 10.0.0.0/8 -i $INTERNET
iptables -A INPUT -j DROP -s 127.0.0.0/8 -i $INTERNET
iptables -A INPUT -j DROP -s 172.16.0.0/12 -i $INTERNET
iptables -A INPUT -j DROP -s 192.168.1.0/16 -i $INTERNET

# Syn Flood via modulo limit
iptables -A FORWARD -p tcp --syn -m limit --limit 100/s -j ACCEPT


################### Bloqueando aplicativos ###################


#