#!/bin/bash
# ppp0 é a interface externa
# eth1 e ppp1 são interfaces internas
# Flush
iptables -F; iptables -t nat -F; iptables -t mangle -F
# Política de acesso
iptables -P INPUT DROP; iptables -P OUTPUT ACCEPT; iptables -P FORWARD DROP
# Permissões de acesso
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.0.2 -j ACCEPT
iptables -A INPUT -i ppp1 -s 192.168.131.201 -j ACCEPT
# Compartilhando o acesso a internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.131.0/24 -o ppp0 -j MASQUERADE
# Abrindo portas
# bittorrent
iptables -A INPUT -p tcp --dport 50000:50100 -i ppp0 -j ACCEPT
# amule
iptables -A INPUT -p tcp --dport 4662 -i ppp0 -j ACCEPT
iptables -A INPUT -p udp --dport 4672 -i ppp0 -j ACCEPT
# Bloquear pacotes com estado "novo/invalido" que saiam pela eth1 e ppp1
# Permitir pacotes com estado "estabelecido/reincidente"
iptables -A FORWARD -o eth1 -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o ppp1 -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -o ppp1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Permitindo qualquer solicitação de Internet que parta da rede 192.168.0.0/24 e 192.168.131.0/24
iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i ppp1 -s 192.168.131.0/24 -j ACCEPT
# Bloqueia qualquer pacote que não liberado por regras anteriores
iptables -A FORWARD -j DROP
iptables -A INPUT -j DROP
6.3.06
rc.firewall
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário