stefaniobrunhara
(usa CentOS)
Enviado em 11/01/2014 - 11:57h
Estudar os três chain de uma so vez, é mais difícil, se sua intenção é compartinhar a internet para outros micros, use este script simples como ponto de partida, e estude apenas o FORWARD, que é o chain que na pratica compartinha a internet para as estações. veja que vou começar somente com ele DROP.
vim /etc/init.d/firewall.sh
#!/bin/bash
## Limpas todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
## Prepara o kernek para o roteamento e compatinamento da internet
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
## Carregar módulos básico para o compatinhamento da internet.
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
## Libera estação 192.168.0.1 geral
iptables -A FORWARD -s 192.168.0.1 -d 0/0 -j ACCEPT
## Liberar porta para rede
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 -m multiport --dport 20,21,25,53,80,110,465,587 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -j ACCEPT
## Regra padrão da tabela filter
iptables -A FORWARD -t filter -j ACCEPT
iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -d 0/0 -o eth+ -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 -d 0/0 -m multiport --dport 20,21,25,53,80,110,443,465,587 -o eth+ -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -o eth+ -j MASQUERADE
:x
# Dar permissão de executação
chmod +x /etc/init.d/firewall.sh
# Executa o firewall
/etc/init.d/firewall.sh