joorlando3
(usa Debian)
Enviado em 27/11/2008 - 14:10h
instalei o lynx no servidor e descobri que nem mesmo no servidor a conexão com a internet está funcionando, mas o micro repasse os pacotes quando desabilitado a regra que direciona ao squid.
Segue as regras usadas
#!/bin/sh
#
iniciar(){
#
# Definindo variaveis
LAN_IP="192.168.1.2"
LAN_IP_RANGE="192.168.1.0/24"
#
# Limpa cadeias
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t nat -F OUTPUT
iptables -t filter -F INPUT
iptables -t filter -F FORWARD
#
# Carrega modulos
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
#
# Ativa protecao Kernel
# Spoof
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
#
# Nao responde a ping para broadcast
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#
# Source routing
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
#
# Habilitando repasse de pacotes, compartilha a conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo "Compartilhamento ativado"
iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT
# Ativa SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Configura portas de saida o NAT
echo "50000 60000" > /proc/sys/net/ipv4/ip_local_port_range
# Aceita todas as conexoes localhost para localhost
iptables -t filter -A INPUT -i lo -j ACCEPT
# Conexoes estabelecidas, relacionadas
#Bloqueia pings e protege contra IP spooling e pacotes invalidos
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
# Nao liberar conexoes full...
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED
#
# Colocar interface para otimizacao do proxy
#iptables -t filter -A INPUT -p tcp -s $LAN_IP_RANGE -d $LAN_IP --dport 3128 -m state --state NEW -j ACCEPT
#
# Proxy Transparente
#iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT
#iptables -t nat -A PREROUTING -s 0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 0/0 -p udp --dport 80 -j REDIRECT --to-port 3128
#iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3128 -j ACCEPT
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 REDIRECT --to-port 3128
#iptables -A INPUT -p TCP -i eth0 -s 192.168.1.0/24 --dport 80 -j ACCEPT
#iptables -A INPUT -p TCP -i eth0 -s 192.168.1.0/24 --dport 3128 -j ACCEPT
#iptables -t nat -A PREROUTING -s 192.168.1.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -A INPUT -s 192.168.1.0/24 -p tcp -dport 3128 -j ACCEPT
#iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
#
# Consultas DNS -> Rede Interna
iptables -t filter -A INPUT -p TCP -s 192.168.1.0/24 -d 192.168.1.2 --dport 53 -m state --state NEW -j ACCEPT
iptables -t filter -A INPUT -p UDP -s 192.168.1.0/24 -d 192.168.1.2 --dport 53 -m state --state NEW -j ACCEPT
# NAT Rede Interna
# O NAT nao deve ser full para a rede e sim qualificado por servico, ponto de acesso e protocolo
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j SNAT --to-source $INET_IP
# Habilita ICMP
iptables -A INPUT -p icmp -m limit --limit 5/s -j ACCEPT
# Logging
#iptables -A INPUT -j LOG --log-level 6 --log-prefix "INPUT..: "
# Descarte dos pacotes
iptables -A INPUT -p TCP -j REJECT --reject-with tcp-reset
# Muda politica para negar tudo
#iptables -t filter -P INPUT DROP
iptables -A INPUT -p tcp --syn -j DROP
}
parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use parametros start ou stop"
esac