luizrogerio78
(usa Outra)
Enviado em 14/09/2007 - 16:19h
Galera, estou implementando meu primeiro Firewall, inicialmente configurei o squid e ele está funcionando 100%, na minha empresa já existe um proxy transparente administrado pela matriz, mas possuo um link da Embratel de 1MB e estou utilizando ele como backup, ou seja, quando quero utilizar o backup simplesmente informo o ip e a porta no caso 3128 no navegador. No meu servidor Linux Suse Server 10.1 local, tenho duas placas de rede, uma para a internet embratel, com dns e faixa de ip designada pela propria e a outra placa de rede na rede local, o problema é que quando carrego o script ele detona meu acesso a Internet, inclusive no servidor. Segue o script que estou utilizando:
# Carrega os módulos
modprobe ip_tables
modprobe iptable_nat
#Limpa tudo
iptables -F
iptables -t nat -F
# Para rede local receber e-mail
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Para nao fugirem do proxy
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to 3128
# Encaminhamento de IP
echo 1 > /proc/sys/net/ipv4/ip_forward
# Abre algumas portas (ssh e http)
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
# Abre para a rede local
iptables -A INPUT -p tcp --syn -s 172.16.27.0/255.255.255.0 -j ACCEPT
# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A FORWARD -m unclean -j DROP
# Fecha o resto
iptables -A INPUT -p tcp --syn -j DROP
# Se você quiser que o PC também não responda a pings, adicione a linha:
# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all