----- Original Message -----
From: "Julian Esteban Perconti" <[email protected]>
To: <[email protected]>
Sent: Wednesday, January 28, 2009 8:34 PM
Subject: Re: iptables para directplay
Antonio Arriaga [DTI2] escribió:
----- Original Message ----- From: "Julian Esteban Perconti"
<[email protected]>
To: "DUS" <[email protected]>
Sent: Wednesday, January 28, 2009 7:19 PM
Subject: iptables para directplay
Hola listeros:
Estoy teniendo problemas con iptables, me explico rapidamente:
Para poder jugar a los juegos usan directplay necesito estas reglas (sin
contar las de forward):
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2300:2400 -j
DNAT --to 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 2300:2400 -j
DNAT --to 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 28800:29000 -j
DNAT --to 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 28800:29000 -j
DNAT --to 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 47624 -j DNAT --to
192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 47624 -j DNAT --to
192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6073 -j DNAT --to
192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 6073 -j DNAT --to
192.168.0.2
El problema es que quiero que puedan jugar mas hosts y entonces se me
hace una galleta en la cabeza, ya que, si por ejemplo agrego las mismas
reglas pero con otro destino, iptables no arroja error.., pero la cosa
no funciona:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2300:2400 -j
DNAT --to 192.168.0.6
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 2300:2400 -j
DNAT --to 192.168.0.6
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 28800:29000 -j
DNAT --to 192.168.0.6
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 28800:29000 -j
DNAT --to 192.168.0.6
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 47624 -j DNAT --to
192.168.0.6
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 47624 -j DNAT --to
192.168.0.6
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6073 -j DNAT --to
192.168.0.6
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 6073 -j DNAT --to
192.168.0.6
Busque bstante en inet y lo mas cercano que econtre fue un modulo para
el kernel creo que se llama algo asi como ip_masq_dplay, pero el
proyecto murio en 2002.. (pienso yo) aproximadamente, o al menos la
ultima version de este modulo se lanzo ese año.., al margen no pude
compilarlo.. en fin..
Quisiera saber si es posible hacer esto, es decir, cambiar la direccion
de destino de un mismo puerto para varias maquinas.
Desde ya, gracias de antemano.
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact
[email protected]
Yo nunca he oído que se pueda hacer eso...
Con el puerto concreto iptables cogería la primera regla que encuentre.
Lo que si se puede hacer es poner un servidor para cada host interno,
algo del estilo:
iptables -t nat -A PREROUTING -i eth0 -p tcp -s <servidor1> --dport
2300:2400 -j DNAT --to 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p tcp -s <servidor2> --dport
2300:2400 -j DNAT --to 192.168.0.6
esto limitaría el mapeo de los puertos a un único servidor. No creo que
te sirva...
==============================================================
Antonio Arriaga
Hola antonio gracias por tu tiempo..
No se muy a que te referis con un servidor para cada host..
a mi lo que se me ocurrió en un momento ( y no se si es esto lo que
quisite decirme..) el tomar la ip del servidor, pero en este caso el
servidor es el que crea una partida, tendria que pedirle la ip a quien la
cree.., pero seria una tarea bastante tediosa.., mas al ser varios hosts
lo que jugarian.. no se si hacias referencia a eso..
Gracias.
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact
[email protected]
A ver. No se exactamente los servicios que tienes montados, en mi ejemplo,
pongamos:
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 66.102.9.99 --dport
2300:2400 -j DNAT --to 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 208.117.236.74 --dport
2300:2400 -j DNAT --to 192.168.0.6
La primera regla mapearía los puertos 2300 al 2400 a la IP 192.168.0.2, pero
sólo desde la IP 66.102.9.99.
Igual con la segunda regla, mapea los puertos 2300 al 2400 a la IP
192.168.0.6, pero sólo desde la IP 208.117.236.74.
Las conexiones que entren a los puertos 2300 a 2400 que no vengas desde
ninguno de esos servidores no se mapearían a ningún sitio a nos ser que
pongas algo menos restrictivo del estilo:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2300:2400 -j
NAT --to 192.168.0.7
No se si habrá aclarado tu duda.
==============================================================
Antonio Arriaga
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]