Forums:
Hola amigos linuxeros. Estoy implementando un firewall con centos 5.1 para unas pruebas, de la siguiente manera:
router-----------------------------eth0-firewall-eth1------------------------pc
El eth0 se conecta al switch, el eth1 con un cable cruzado al pc
las ips son:
router, t de red: 192.168.50.1
firewall, eth0, a la lan: 192.168.50.250
firewall, eth1, a la red del cable cruzado: 10.0.0.10
pc con window$ xp, con cable cruzado: 10.0.0.20
puerta de enlace del pc con xp: 10.0.0.10
Este es mi iptables.sh:
# Limpieza de reglas
# Local
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# Nat
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t nat -F OUTPUT
## Predeterminado
# Local
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# Nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# Ahora hacemos enmascaramiento de la red local
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE
#Bloqueo de acceso al firewall
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -t nat -P PREROUTING DROP
# Aceptamos que accedan a DNS
iptables -t nat -A PREROUTING -p udp -s 10.0.0.0/8 --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -s 10.0.0.0/8 --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
# Aceptamos que accedan a web
iptables -t nat -A PREROUTING -p tcp -s 10.0.0.0/8 --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT
# Aceptamos que vayan a puertos https
iptables -t nat -A PREROUTING -p tcp -s 10.0.0.0/8 --sport 1024:65535 -d any/0 --dport 443 -j ACCEPT
Pretendo que el pc con xp pueda salir a internet solo a web y web segura pero el pc con xp hace ping a la eth0, eth1 y nada más. Es sólo un cliente.
El forwarding ya lo habilité. para ejecutar el script, hago esto:
./iptables.sh y después service iptables restart
que está mal? estará mal el enmascaramiento por eso no salgo?
Algo más
Algo más simple:
[quote]
#flush de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -f
#Políticas
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#Enmascaramiento
iptables -t nat - A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
Empesamos a abrir lo que necesitamos
iptables -A FORWARD -p tcp --dport 443 -s 10.0.0.0/8 -i eth1 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -s 10.0.0.0/8 -i eth1 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -s 10.0.0.0/8 -i eth1 -j ACCEPT
[/quote]
Adicioanalmente debes haber habilitado el ruteo de tu linux. En Centos o RH lo haces en el archivo /etc/sysctl.conf También puedes establecer a uno el valor en el archivo /proc/sys/net/ipv4/ip_forward cada vez que el equipo arranque,
Saludos
Juan Yépez
093681879
Saludos
Juan Yépez
0993681879
Dj - Discomovil Quito
Checa este link es un
Checa este link es un clasico y con muy buenos ejemplos..
http://www.pello.info/filez/firewall/iptables.html
Alli encontraras lo que necesites
Salu2
Intenta cambiando: iptables
Intenta cambiando:
iptables -t nat -A POSTROUTING -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp --dport 53 -j MASQUERADE
Si no intenta verificando hasta donde llegan tus peticiones de DNS con tcpdump
Saludos,