Pessoal,
estou apanhando para montar uma regra que de FORWARD somente nos protocolos e portas que eu desejo, ou seja, que seja dado forward nas portas 80 e 443 para acesso a internet. (eth0 = rede interna e eth1 = speedy ip fixo). Só que a internet só funciona quando a chain FORWARD tem a Policy em ACCEPT. Alguém pode me explicar porque isso acontece?
Abaixo tem uma cópia do meu rc.firewall
if [ "$1" = "flush" ]; then
echo " Flushing Firewall... Wait a second! "
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -A INPUT -p tcp --dport 22 -s 192.168.0.2 -j ACCEPT
echo " Flushing DOne! "
else
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#REGRA PARA COMPARTILHAMENTO DA INTERNEVERS
echo " Chamando o firewall "
iptables -t nat -A POSTROUTING -s 0/0 -j MASQUERADE
iptables -A INPUT -i lo -j ACCEPT
#ACEITA OS SERVICOS DESIGNADOS
#SERVICOS DE SERVIDOR : FTP, SSH, HTTPD ,HTTPS SAMBA
iptables -A INPUT -p tcp --dport 20 -i eth0 -j ACCEPT # FTP services
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT # FTP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # SSH
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS
iptables -A INPUT -i eth0 -p udp --dport 139 -j ACCEPT #SAMBA
iptables -A INPUT -i eth0 -p udp --dport 138 -j ACCEPT #SAMBA
iptables -A INPUT -i eth0 -p udp --dport 137 -j ACCEPT #SAMBA
iptables -A INPUT -i eth0 -p tcp --dport 137 -j ACCEPT #SAMBA
iptables -A INPUT -i eth0 -p tcp --dport 138 -j ACCEPT #SAMBA
iptables -A INPUT -i eth0 -p tcp --dport 139 -j ACCEPT #SAMBA
# ACEITA OS SERVICOS DESIGNADOS:
# SERVICOS DE CLIENTE
iptables -A FORWARD -i eth0 -p tcp --dport 20 -j ACCEPT # FTP services
iptables -A FORWARD -i eth0 -p tcp --dport 21 -j ACCEPT # FTP
iptables -A FORWARD -i eth0 -p tcp --dport 25 -j ACCEPT # ICMP
iptables -A FORWARD -i eth0 -p tcp --dport 110 -j ACCEPT # ICMP
iptables -A FORWARD -i eth0 -p tcp --dport 53 -j ACCEPT # CORREIO
iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT # INTERNET
iptables -A FORWARD -i eth0 -p tcp --dport 443 -j ACCEPT # HTTPS
# Regras de Proteção
iptables -t nat -A PREROUTING -i eth1 -s 10.0.0.0/8 -j DROP
iptables -t nat -A PREROUTING -i eth1 -s 172.16.0.0/16 -j DROP
iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.0/24 -j DROP
# Fazendo Log
iptables -A INPUT -p tcp -i eth1 -j LOG --log-level DEBUG --log-prefix "Pacote tcp:"
iptables -A INPUT -p icmp -i eth1 -j LOG --log-level DEBUG --log-prefix "Pacote icmp:"
iptables -A INPUT -p icmp -i eth0 -j LOG --log-level DEBUG --log-prefix "Pacote icmp:"
# leitura de pacotes
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo " Firewall chamado!!! "
fi