Iptables ip Dinamica

Imagen de kentak
0 puntos

Hola tengo un router con linux con un servidor web y tal. Pero tengo un problema y es que mi proveedor me cambia de ip cuando le apetece y necesito un script que me cambie la variable EXT_IP para no tener problemas en las reglas de iptables y no se como hacerlo

# INTERFACES
# eth0 - conectado a internet
EXT_IF=eth1
EXT_IP=84.122.xxx.xxx

Si alguien sabe hacerlo y me pudiera ayudar...

un saludo

Imagen de lmarmisa
+1
0
-1

Yo no sé mucho de Iptables, pero uso un router neutro basado en Linux (Linksys WRT54GL con el firmware Tomato) y te comentaré qué solución se usa para un servicio tipo ADSL del proveedor de Internet más grande en el mundo de habla hispana http://www.adslayuda.com/befsr41-multipuesto_ip_dinamica_pppoe.html

En mi caso el router ADSL que tengo del proveedor lo he programado en modo bridge de modo que sólo realiza las funciones de modem ADSL y es transparente en cuanto a los comandos de gestión de red con el ISP.

El protocolo de red con el ISP que mi proveedor proporciona es el Point-to-Point Protocol over Ethernet PPPoE que requiere dos parámetros adiconales de usuario y password. A través de este protocolo, el router recibe del proveedor ISP cualquier notificación de cambio de IP y actualiza sus tablas de enrutamiento.

Te recomendaría que estudiaras la solución equivalente (tal vez debería ser la misma) para tu caso. Si nos infdicas tu proveedor y tu tipo de conexión a Internet, tal vez puedas recibir información más detallada de la solución que precisas.

Salu2,

Luis

+1
0
-1
Imagen de lmarmisa
+1
0
-1

Este artículo es mucho más extenso. Te lo paso por si puede serte útil: http://www.akadia.com/services/pppoe_iptables.html

+1
0
-1
Imagen de kentak
+1
0
-1

Bueno decir que mi proveedor es ono. Recivo internet através de un Cable Modem. Ono Manda una ip privada al interface de cable (ej 10.0.0.11), y despues un servidor DHCP de ono que asigna ips de forma dinamica a traves del registro de la mac del CM, Me asigna una ip publica a ami (ej 84.122.290.290).

La distribución de la red en mi casa está así: Imagen

Internet -->Cable Modem -->Router Linux --> Router Linksys WRT54GC --> PC

+1
0
-1
Imagen de lmarmisa
+1
0
-1

Parece que en tu caso el protocolo con el ISP no es PPPoE sino DHCP.

A través de dicho protocolo tu máquina se entera de los cambios de la dirección IP pública.

Hay mucha documentación en Internet sobre el uso de máquinas Linux como firewall:

http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_L...

¿Por qué usas 2 niveles de routers en tu instalación?. ¿Por qué no usas directamente el WRT54 como router o los cambias de orden?. Yo creo que ese equipo sí manejaría adecuadamente DHCP y la gestión de la IP dinámica.

Saludos,

Luis

+1
0
-1
Imagen de lmarmisa
+1
0
-1

Sigo reconociendo que no tengo mucha idea, pero lo que te comento lo hago porque parece de lógica.

Si en la configuración defines que la interfaz externa EXT_IF es eth1 (o la que sea) y en la definición de esa interfaz en /etc/network/interfaces se establece que esa interfaz obtiene su IP mediante DHCP, ya no debería sería necesario definir ninguna EXT_IP a iptables, sino que iptables debería conocer las características de esa interfaz y operar en consecuencia.

http://www.ubuntugeek.com/ubuntu-networking-configuration-using-command-...

No sé si iptables será más tonto de lo que la lógica parece sugerir, pero es posible que estés definiendo innecesariamente el dato EXT_IP en la configuración de iptables.

Salu2,

Luis

+1
0
-1
Imagen de kentak
+1
0
-1

La verdad es que yo entiendo menos, la razon de que el Router este en 2º lugar es porque es SWICH y WIFI si tuviera un SWICH y un WIFI por separado no lo usaria,

Yo lo que busco es un script tipo:
external_ip="`ifconfig $external_int | grep 'inet addr' | \ awk '{print $2}' | sed -e 's/.*://'`"

o no se... jejee no se como solucionarlo... porque eso no funciona...

+1
0
-1
Imagen de gandalfalexgan
+1
0
-1

Hay un problema grave de lo que Iptables hace y no.

No te has explicado claramente. No tengo claro si lo que quieres es establecer una regla en Iptables que se encargue de natear o si lo que buscas es un acceso de fuera a un dominio cuya tabla es refrescada dinamicamente por tu ISP cada 6 ,12 o 24 horas.

Si es la segunda te recomiendo lo siguiente

www.dyndns.com

Esta empresa se encarga de refrescarte la IP en los servidores , de tal forma que tu no te tienes que preocuparte de casi nada.(Gratuito hasta 5 servidores)

Si es la primera opcion :

Utiliza la opcion de Masquerade en la tabla de nateo ,del script que uses para iptables.

Cierto es que se puede hacer con Iptables , pero si no sabes muy bien como funcionan las reglas y no tienes conocimientos elevados de SHELL SCRIPTING lo mejor es dejar dicha solución para cuando estes algo mas preparado.

De todas formas no me ha quedado claro lo que realmente quieres hacer , asi que si me lo aclaras algo mas tal vez te pueda hechar una mano

Un saludo

Gandalfalexgan

Cualquier cosa correo a gandalf@alexgan.com

+1
0
-1
Imagen de lmarmisa
+1
0
-1

Si pones tu router neutro WRT54GC como router único y sitúas en la red local el servidor Ubuntu, este router neutro tiene un menú para configurar las DNSs dinámicas de servicios como http://www.dyndns.com o http://www.no-ip.com y que lo resuelva él todo, por lo menos si usas el firmware de tomato http://www.polarcloud.com/tomato que yo utilizo.

No termino de ver la utilidad de los dos routers y la necesidad de hacer doble NAT para salir a Internet por parte de tus PCs.

Salu2,

Luis

+1
0
-1
Imagen de kentak
+1
0
-1

El tema del 2º Router esta ahi hasta que compre swich gigabit y un Punto de acceso. Quiero utilizar como router la maquina linux porque quiero aprender a administrarla y tal.

Respecto al problema que tengo es que seguí una guia que me parece muy completa de como crear un router linux, pero un router con una ip estatica que tenia este ejemplo de iptables . El problema viene cuando tiene una variable $EXT_IP que usa en sus reglas y no puedo defirnir la variable esa porque me cambia la ip.

Quisiera saber si habria algun script o algo para darle valor a esa variable

Quisiera ademas no volver a hacer una iptables ya que esta la tengo personalizada y me funciona muy bien esceptuando el tema este.

un saludo

+1
0
-1
Imagen de gandalfalexgan
+1
0
-1

A ver la regla para que no importe eso es , utilizar la interfaz ethernet sin ninguna variable y despues utilizar la opción masquerade , esto hara que desde dentro hacia internet no tengas problemas de Nateo , ya que masquerade enmascara las ips locales con la IP publica , así sales fuera con el Nat hecho. Ahora lo importante es que la IP Local de tu servidor , sea siempre fija nunca dinamica ,ya que se complica mucho las cosas.

Si quieres hacer ip dinamica , interna para tu servidor (nose si me estoy explicando bien) necesitas auto administrate IP y hacer todas las gestiones mediante dominio y no mediante ip , por lo que necesitaras tambien un servidor DNS.

Mi consejo : En la red privada el servidor con ip fija, la publica la de tu ISP utilizando la regla masquerade.

Un saludo

Gandalfalexgan

+1
0
-1
Imagen de Gabriel_M
+1
0
-1

Hola ken...:

Investiga estos comandos:

echo "1" > /proc/sys/net/ipv4/ip_dynaddr

EXT_IP="`ifconfig $EXT_IF|grep 'inet addr'|awk '{print $2}'|sed -e's/.*://'`"

Saludos.
Gabriel.



Solo doy soporte para Ubuntu - Calma, calma, la situación está completamente dominada - Por el enemigo.
+1
0
-1