wesleymauricio
(usa Debian)
Enviado em 13/10/2010 - 11:15h
seguinte, configurei um firewall com squid autenticado, funcionando perfeitamente, unico problema é que não consigo acessar ftp nos clientes, pois são necessário efetuar downloads que utilizam o protocolo ftp.
segue meu codigo do firewall:
#!/bin/bash
iniciar(){
echo "Carregando o Firewall...................................."
#POLITICA PADRAO DROP
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
#Liberando o Ping pra internet
iptables -A OUTPUT -p icmp --icmp-type 8 -s $IP -d 0/0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 0/0 -d $IP -j ACCEPT
#Liberando o Ping pra rede 1 a 126
iptables -A OUTPUT -p icmp --icmp-type 8 -s 192.168.1.1 -d 192.168.1.0/255.255.255.128 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 192.168.1.0/255.255.255.128 -d 192.168.1.1 -j ACCEPT
#Liberando o Ping pra rede 129 a 254
iptables -A OUTPUT -p icmp --icmp-type 8 -s 192.168.1.129 -d 192.168.1.128/255.255.255.128 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 192.168.1.128/255.255.255.128 -d 192.168.1.129 -j ACCEPT
#Liberando loopback
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -d 127.0.0.1 -j ACCEPT
#Liberando consultas DNS para o servidor
iptables -A OUTPUT -p udp -s $IP --sport 1024:65535 -d 0/0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --sport 53 -d $IP --dport 1024:65535 -j ACCEPT
#Liberando acesso http para o servidor
iptables -A OUTPUT -p tcp -s $IP --sport 1024:65535 -d 0/0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --sport 80 -d $IP --dport 1024:65535 -j ACCEPT
#Liberando acesso ssl para o servidor
iptables -A OUTPUT -p tcp -s $IP --sport 1024:65535 -d 0/0 --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --sport 443 -d $IP --dport 1024:65535 -j ACCEPT
#Liberando acesso ftp para o servidor
iptables -A OUTPUT -p tcp -s $IP --sport 1024:65535 -d 0/0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --sport 21 -d $IP --dport 1024:65535 -j ACCEPT
#COMPARTILHANDO A CONEXAO
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
echo "Firewall carregado com sucesso!"
}
parar(){
#Limpando Tabelas
iptables -F
iptables -F -t nat
}
freedom(){
#Limpando Tabelas
iptables -F
iptables -F -t nat
#POLITICA PADRAO ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
#Compartilhando Internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
#Liberando o squid para a rede
iptables -A INPUT -p tcp -s 192.168.1.0/255.255.255.128 --sport 1024:65535 -d 192.168.1.1 --dport 3128 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.1.1 --sport 3128 -d 192.168.1.0/255.255.255.128 --dport 1024:65535 -j ACCEPT
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
"freedom") freedom ;;
*) echo "Use os parametros start, stop, restart ou freedom!"
esac