[eside-ghost] sopitas con iptables
Mario Nunes
mario en pensandoenred.com
Dom Feb 6 06:01:38 CET 2011
Buenas,
Tengo conexión con Euskaltel con un cablerouter, el cual ofrece 3 ips
públicas a las tarejas de red que se conectan a él.
Tengo un equipo con Debian con 4 tarejetas de red, 1 al switch y las
otras al modem router.
El equipo Debian tiene conexión a internet.
eth0 -> tarjeta con ip local
eth1,eth2,eth3 -> ip externa
Desde otro equipo me conecto al debian y ejecuto el script de IPTABLES
que os expongo a continuación. Pero no he conseguido utilizar el equipo
como puerta de enlace. El primer reto es utilizarlo como puerta de
enlace, luego el resto... pero nuncha he hecho esto así que como tampoco
tengo mucha experiencia con IPTABLES agradecería apoyo de "pros" :-)
Gracias.
Salu2.
Script para iptables:
#!/bin/bash
# Dispositivo de red de Internet
EXIF="eth1"
# Dispositivo de red Local
INIF="eth0"
fail=0
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions
log_begin_msg "Aplicando reglas de Firewall..."
## Borrando reglas anteriores
iptables -F || fail=1
iptables -X || fail=1
iptables -Z || fail=1
iptables -t nat -F || fail=1
#Politica general.Cerramos todo.Dejamos entrar y salir lo solicitado
iptables -P INPUT DROP || fail=1
iptables -P OUTPUT ACCEPT || fail=1
iptables -P FORWARD DROP || fail=1
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ||
fail=1
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ||
fail=1
# Permitimos todo el tráfico de la lan
iptables -A INPUT -i $INIF -j ACCEPT || fail=1
# Marcar paquetes salientes con su ip de origen
#iptables -t nat -A POSTROUTING -o $EXIF -j MASQUERADE || fail=1
# Reenvio de IP
echo 1 > /proc/sys/net/ipv4/ip_forward || fail=1
# Aceptar paquetes para reenviar procedentes de la red local
iptables -A FORWARD -i $INIF -o $EXIF -j ACCEPT || fail=1
# Aceptar paquetes para reenviar procedentes de Internet de conexiones
ya establecidas
iptables -A FORWARD -i $EXIF -o $INIF -m state --state
RELATED,ESTABLISHED -j ACCEPT || fail=1
# Se muestran los resultados
log_end_msg $fail
if [ $fail -eq 0 ]
then
log_success_msg "[ok] - iptables -L -n."
else
log_warning_msg "Se ha producido un error al aplicar alguna de las
reglas."
fi
Más información sobre la lista de distribución eside-ghost