Stateless

iptables -A INPUT -i eth0 -d 192.168.0.0/24 -p tcp -m multiport –sports 20,21,22,25,80,110,443 -m tcp –tcp-flags ACK ACK -j ACCEPT

iptables -A OUTPUT -o eth0 -s 192.168.0.0/24 -p tcp -m multiport –dports 20,21,22,25,80,110,443 -m tcp –tcp-flags SYN SYN -j ACCEPT

iptables -A OUTPUT -o eth0 -s 192.168.0.0/24 -p tcp -m multiport –dports 20,21,22,25,80,110,443 -m tcp –tcp-flags ACK ACK -j ACCEPT

Statefull

iptables -A FORWARD -s 192.160.0.0/24 -m state –state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -d 192.160.0.0/24 -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -m state –state INVALID -j DROP

MSN

Bloquear MSN via Firewall

iptables -I FORWARD -p tcp –dport 1863 -j DROP

ATENÇÃO: Ao fazer isso o MSN tentará se conectar pela porta 80, você então deverá bloquea-lo através do squid.

FTP

Liberando conexões FTP para as máquinas da rede

iptables -A FORWARD -s 192.168.0.0/24 -p tcp –dport 20 -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -s 192.168.0.0/24 -p tcp –dport 21 -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -s 192.168.0.0/24 -m state –state RELATED,ESTABLISHED -j ACCEPT

Carregue os módulos de acompanhamento de conexão para o serviço FTP

modprobe ip_nat_ftp

modprobe ip_conntrack_ftp

MASQUERADE – Compartilhar internet no Linux

Limitando o tamanho de pacotes IP com tamanho MSS

iptables -A FORWARD -p tcp -m tcp –tcp-flags SYN,RST SYN -m tcpmss –mss 1400:1536 -j TCPMSS –clamp-mss-to-pmtu

Mascarando a conexão

iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE

Habilitando o repasse de pacotes

echo 1 > /proc/sys/net/ipv4/ip_forward

ATENÇÃO: Para as máquinas da rede acessarem servidores FTP através de SNAT/MASQUERADE é necessário carregar alguns módulos.

modprobe ip_nat_ftp

modprobe ip_conntrack_ftp