Introducción:
En Linux cuando intentamos realizar un NAT con alguna interfaz que posea el caracter ":" recibimos el error: Warning: wierd character in interface `eth0:0' (No aliases, :, ! or *).
Por ejemplo en el siguiente escenario:
#iptables -t nat -A POSTROUTING -o venet0:0 -j MASQUERADE
Warning: wierd character in interface `eth0:0' (No aliases, :, ! or *).
Explicación:
Luego de una investigación en muchas páginas en Internet llegué a la conclusión que no es posible realizar el NAT con una "subinterfaz" (interfaz secundaria, IP secundario, etc) con Linux que posea ":" , durante mi busqueda conseguí que es un problema del manejo de los ARP en dicha interfaz, sin embargo no hay que preocuparse, existe una alternativa y es la que voy a plantear en este post.
Solución:
La solución es bastante sencilla y al menos funciona en todos los escenarios donde la dirección IP con la que deseamos natear es estática. La misma se conoce como SNAT (Source NAT) y se utiliza como IP saliente el IP secundario de la interfaza utilizar (ej. eth0:0). La diferencia principal es que hay que indicar cual es la red a la cual deseamos hacer NAT, esto no debe ser ningún inconveniente porque seguramente sabremos esta información.
En definitiva la solución es realizar el NAT con el IP "saliente" en vez de la interfaz saliente e indicando la red a la cual deseamos realizar el NAT.
Comandos:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A POSTROUTING -t nat -s 192.168.56.0/24 -j SNAT --to 123.4.5.6
Con lo anterior estaremos nateando la red 192.168.56.0/24 con la dirección IP 123.4.5.6, es decir, cualquier equipo con dirección IP fuente en el rango 192.168.56.0/24 se verá en Internet con 123.4.5.6. En ningún momento hace referencia a "eth0:0"
Espero les sea útil,
Saludos,
Blog en espanol destinado a diferentes temas tecnicos principalmente en IT y Networking. Se desea cubrir Linux, DNS, DNSSEC, RPKI, BGP, Cisco, Programacion (Bash, Python, etc), Protocolos de Enrutamiento, Seguridad en Redes, VoIP.
Suscribirse a:
Enviar comentarios (Atom)
Una mejora práctica en el Transporte DNS sobre UDP en IPv6
Por Hugo Salgado y Alejandro Acosta Introducción y planteamiento del problema En el presente documento queremos discutir sobre un draft (bor...
-
Debido al crecimiento moderado que ha tenido el presente blog se me ocurrió añadir/integrar las estadisticas de google analytics a mi blog. ...
-
Introduccion: En algunas ocasiones es necesario "bajar" o deshabilitar iptables en nuestro Linux, el procedimiento depende de...
-
Saludos, Lo primero que debemos de hacer para quitar el stacking entre los switches es desconectar los cables Stack que los unen.... Es buen...
No hay comentarios:
Publicar un comentario
¿Algo adicional que quieras mencionar? ¿Algun consejo?, ¿truco? Gracias!