[eside-ghost] Problemas con iptables
Jon Urionaguena
juriona en nesys-st.com
Mie Jun 29 10:30:48 CEST 2005
Buenas,
A ver si se puede ayudar...
Falta, por una parte, activar el rutado, aunque supongo que lo activara el
script de networking que tengas ...
echo 1 > /proc/sys/net/ipv4/ip_forward
Lo primero, suponemos eth1 interfaz externa, no??
La tabla FORWARD es indispensable, ya que vas a rutar entre interfaces...
En la parte de :
$IPT -t nat -A PREROUTING -i eth1 -p udp --dport 9672 -j DNAT --to
192.168.3.4
El flag a usar con DNAT deberia ser --to-destination 192.168.3.4 ... No
--to, asi quedaria...
$IPT -t nat -A PREROUTING -i eth1 -p udp --dport 9672 -j DNAT
--to-destination 192.168.3.4
Ademas, no solo se debe realizar el mapeo de puertos (tablas nat), sino que
por politica (tablas de filtros) deben pasar los paquetes, y no veo en el
script que permitas el paso de paquetes UDP y TCP de vuelta desde dentro
hacia afuera (paquetes de vuelta, en UDP no vale con el SPI), algo como
esto, adaptado a tu direccionamiento...
/sbin/iptables -A FORWARD -p udp -i eth1 -d 192.168.3.4 --dport 9672 -j
ACCEPT
/sbin/iptables -A FORWARD -p udp -o eth0 -s 192.168.3.4 --sport 9672 -j
ACCEPT
/sbin/iptables -A FORWARD -p tcp -i eth1 -d 192.168.3.4 --dport 9662 -j
ACCEPT
/sbin/iptables -A FORWARD -p tdp -o eth0 -s 192.168.3.4 --sport 9662 -j
ACCEPT
Ademas, no se si el orden le importa, pero los TARGET deberian estar al
final... (
$IPT -t filter -A FORWARD -j ACCEPT -p tcp --dport 9662)
Tambien te recomiento chequear cada comando iptables que ejecutas para saber
si es correcto, añadiendole a cada una una condicion al final:
&& echo "Regla 4: IP forwarding activado"
Asi, cuando ejecutes el script, sabras si se ha ejecutado correctamente o
no...
A ver si cuela...
Agur,
-----Mensaje original-----
De: eside-ghost-bounces en deusto.es [mailto:eside-ghost-bounces en deusto.es] En
nombre de sWitCh
Enviado el: miércoles, 29 de junio de 2005 4:52
Para: eside-ghost en deusto.es
Asunto: [eside-ghost] Problemas con iptables
Hola gente. Seguro que esta pregunta es bastante estándar, pero después de
googlear un rato no soy capaz de hacerlo funcionar. Estoy intentando
configurar iptables en mi router linux para que haga de firewall para si
mismo, que haga NAT hacia internet, y que redirija los puertos de la mula
(9672 Udp y 9662 Tcp) a 192.168.3.4. Las 2 primeras partes funcionan bien,
es con la redirección con la que tengo problemas. El script que estoy usando
es el siguiente:
#!/bin/sh
. /etc/functions.sh
WAN=$(nvram get wan_ifname)
INET=$(nvram get wifi_ifname)
IPT=/usr/sbin/iptables
for T in filter nat mangle ; do
$IPT -t $T -F
$IPT -t $T -X
done
$IPT -t filter -A INPUT -m state --state INVALID -j DROP
$IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -t filter -A INPUT -i $INET -j DROP
$IPT -t filter -A FORWARD -m state --state INVALID -j DROP
$IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Parte que no funciona
$IPT -t filter -A FORWARD -j ACCEPT -p udp --dport 9672
$IPT -t nat -A PREROUTING -i eth1 -p udp --dport 9672 -j DNAT --to
192.168.3.4
$IPT -t filter -A FORWARD -j ACCEPT -p tcp --dport 9662
$IPT -t nat -A PREROUTING -i eth1 -p tcp --dport 9662 -j DNAT --to
192.168.3.4
# Fin parte que no funciona
$IPT -t filter -A FORWARD -i $INET -j DROP
$IPT -t filter -A FORWARD -o $INET -p tcp --tcp-flags SYN,RST SYN -j
TCPMSS --clamp-mss-to-pmtu
$IPT -t nat -A POSTROUTING -o $INET -j MASQUERADE
Qué es lo que puede estar mal?.
Gracias y un saludo,
Javi
_______________________________________________
eside-ghost mailing list
eside-ghost en deusto.es
https://listas.deusto.es/mailman/listinfo/eside-ghost
Más información sobre la lista de distribución eside-ghost