Diede
(usa Debian)
Enviado em 22/02/2010 - 00:33h
Amigão, se você der DROP nas policy's padrão de tudo (iptables -P INPUT DROP, iptables -P OUTPUT DROP e iptables -P FORWARD DROP) e não der uma regra que aceite os estados ESTABLISHED e RELATED, não terá muitos resultados...
Tente assim:
iptables -F
iptables -t nat -F
iptables -P INPUT DROP
#iptables -P OUTPUT DROP #Não vejo sentido em bloquear o OUTPUT. É como se tivesse um segurança que questionasse quem SAI da sua casa... inclusive você.
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#iptables -A INPUT -d 127.0.0.1 -s 127.0.0.1 -j ACCEPT #trabalhe com a interface lo ao invés do ip da lo... evita spoofing:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -d 10.0.0.0/8 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -d 0/0 -s 0/0 -j ACCEPT
#Adicione então:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
#Agora, algumas coisas que não fazem sentido:
#iptables -A INPUT -p udp -d 10.0.0.0/8 --dport 1024:65535 --sport 53 -j ACCEPT
#iptables -A INPUT -p tcp -d 10.0.0.0/8 --dport 1024:65535 --sport 80 -j ACCEPT
#iptables -A INPUT -p tcp -d 10.0.0.0/8 --dport 1024:65535 --sport 443 -j ACCEPT
#iptables -A OUTPUT -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT
#iptables -A OUTPUT -p icmp --icmp-type 8 -s 0/0 -d 0/0 -j ACCEPT
#iptables -A OUTPUT -p udp -s 10.0.0.0/8 --sport 1024:65535 --dport 53 -j ACCEPT
#iptables -A OUTPUT -p tcp -s 10.0.0.0/8 --sport 1024:65535 --dport 80 -j ACCEPT
#iptables -A OUTPUT -p tcp -s 10.0.0.0/8 --sport 1024:65535 --dport 443 -j ACCEPT
#Estas regras estão com sport definida. Um pacote só tem uma sport de serviço (abaixo de 1024) se ele é uma resposta. Digo, isso só vai funcionar se for um pacote de resposta de uma conexão de algum cliente na rede interna, mas como não há uma regra que permita o pacote inicial, elas são nulas.
#Tente assim:
iptables -A INPUT -p udp -s 10.0.0.0/8 --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 443 -j ACCEPT
iptables -A FORWARD -p udp -s 10.0.0.0/8 --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s 10.0.0.0/8 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -s 10.0.0.0/8 --dport 443 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/8 -o eth0 -j ACCEPT
#iptables -A FORWARD -i eth0 -s 10.0.0.0/8 -j ACCEPT #Regra desnecessária, pois quem tem ip 10.0.0.0/8 (que é privado) é sua eth1.