Iptables como liberar dns
Ola amigos, estou com uma duvida no iptables, eu estou liberando o meu cliente para acessar somente um site:
iptables -t nat -A POSTROUTING -p all -s 192.168.1.2 -d 200.232.127.42 -j MASQUERADE
beleza, mas ele faz a requisição para o DNS, porque ele digita www.blabla....
logo:
#rede interna pra acessar DNS e dns pra cessar rede interna
iptables -A INPUT -p udp -s 0/0 --sport 53 -d 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --sport 1055 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -p udp -s 0/0 --sport 53 -d 200.x.x.x -j ACCEPT
teoricamente ele acessaria apenas um site e o serviço dns certo?
mas não o ipchains não deixa ele passar, eu vejo no iptraf, bom eu chutei uma regra:
iptables -t nat -A POSTROUTING -p all -s 192.168.1.0/24 -d 200.xx.xxx.xx -j MASQUERADE
essa regra libera tudo e qualquer trafego da rede interna em qualquer porta para o ip do dns, ai funciona beleza, mas porque a 1° regrade dns não funciona?
Sou novato ainda no ipchains então algumas regras pode não estar coerentes, quem puder ajudar eu agradeço..
Re: Iptables como liberar dns
Tu é de São José dos Campos?
Bem... vamos deixar uma coisa clara aqui... iptables é uma coisa e ipchains é outra. Ambos são firewalls e ambos funcionam no GNU/Linux, mas o ipchains é o firewall da linha 2.2 do Kernel, atualmente nós trabalhamos com versões do kernel mais atuais (2.4 e 2.6). As regras que você postou são de iptables. =)
Tente com a seguinte regra:
Código :
# iptables -t filter -A FORWARD -p ALL --dport 53 -j ACCEPT
Se não der, posta de novo aqui pra gente continuar tentando te ajudar, sim?
Um abraço!
Re: Iptables como liberar dns
cara..
se vc quer liberar apenas um site para o cliente utilize a política FORWARD DROP e deixe que ele acesse somente este site
iptables -t filter -A FORWARD -s ip_cliente -d site -j ACCEPT
vc pode tanto colocar o endereço IP do site como o endereço www
acredito q isso deva funcionar...
valeu
[]'s
Re: Iptables como liberar dns
libera assim oh:
iptables -t filter -A INPUT -s ip.do.cliente -p udp --dport 53 -j ACCEPT
isso se o servidor dns que o cliente vai usar.. estiver rodando na maquina... se for um servidor FORA... precisa fazer assim:
iptables -t filter -A FORWARD -s ip.do.cliente -p udp --dport 53 -j ACCEPT