Como natear puertos en linux?

Publicado por elrosti, Febrero 14, 2007, 21:18:58

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

ZeiterZ

Cuando se usa un módem ethernet hay dos formas de hacerlo funcionar con Linux:

1. Que se comporte como un router/gateway con dirección IP
2. Que se comporte como bridge.

1.
En la modalidad 1. la placa de red a la que conecta tiene que tener una dirección IP de la misma red que la que configuras en el módem.
Por ejemplo, configuras al módem con la dirección 10.0.0.1 (su "lado" ethernet) y pones la placa de red de Linux en una dirección coherente, por ejemplo 10.0.0.2

2. En la modalidad bridge, la placa de red de Linux se deja sin configurar, es decir, no se le asigna una dirección IP sino que ésta la negocia con el módem ethernet.

Por esta razón la placa eth1 no tiene dirección IP asignada pues, a los efectos, a Linux no le interesa esa interfaz sino aquella a la que ésta le permite acceder, es decir dsl0.

Según estas dos configuraciones, hay un montón de detalles a tener en cuenta. En tu caso, la más relevante es que el firewall tiene que tomar como "interfaz externa" (la conectada a internet) a dsl0 y no a eth1. Errar en esto trae muchas amarguras...

Lo mismo pasa con la definición de las rutas (comando route). En la modalidad 1 la ruta por omisión (default en inglés) debe ser vía eth1. La orden para eso es:

# route add default gw 10.0.0.1 dev eth1

Para la modalidad 2, la route debe ser dsl0, comando:

# route add default dev dsl0

Yo siempre prefiero usar los módems ethernet en modo router (modalidad 1) pues me permite un mayor control... pero no siempre se cuenta con módems que funcionen como router.

Saludos.

elrosti

OK ZeiterZ, entendí perfecto, pero ¿ como influye esto en la regla DNAT ? ¿ deberia ademas de esta regla, crear alguna otra ?

Muchas Gracias.

Saludos
Yo no lo quería creer..... pero ella me convenció.

ZeiterZ

#17
En principio, no influye ya que las decisiones de enrutado se toman luego del procesamiento del firewall.

No sé cómo está configurado tu firewall, pero fijate en esta página. Fijate que al comienzo del script fija como política para la tabla NAT que acepte el pre y el posenrutado:

Citar
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

Con respecto a FirewallBuilder aquí tienes un tutorial bastante interesante. Está en portugués.

Si quieres profundizar más sobre iptables aquí tienes un "librito" :)


Saludos.