Diferencia entre revisiones de «Linux como router»
(→Habilitar IP Forwardind) |
(→Configurar IP Masquerade) |
||
Línea 20: | Línea 20: | ||
== Configurar IP Masquerade == | == Configurar IP Masquerade == | ||
[http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/ipmasq-background2.1.html IP Masquerade] es una técnica en linux para configurar reglas de NAT, y lo vamos a usar para que el tráfico de vuelta que se genere desde el punto de destino (servidor) pueda volver al punto de origen (cliente). | [http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/ipmasq-background2.1.html IP Masquerade] es una técnica en linux para configurar reglas de NAT, y lo vamos a usar para que el tráfico de vuelta que se genere desde el punto de destino (servidor) pueda volver al punto de origen (cliente). | ||
+ | |||
+ | Lo que hace es que transforma el paquete de origen y le pone la IP del router (nuestro linux), y cuando vuelve el tráfico de vuelta lo vuelve a transformar para que vuelva a la máqiuna de origen. | ||
+ | |||
+ | Esto se ve muy bien haciendo un '''tcpdump -i any icmp''' en la máqiuna del destino, y desde origen lazando un ping. Sin la regla de masquerade vemos que la IP de orgien del paquete es la IP verdadera del servidor desde donde lanzamos el ping, pero si añadimos la regla de masquerade al iptables y volvemos a lanzar el ping vemos que ahora la IP de origen es la del linux que hace de router. | ||
Para ponernos en situación, en mi ejemplo voy a hacer que máquinas de mi red puedan conectarse a las vm's de virtualBox que se levanten en mi máquina. | Para ponernos en situación, en mi ejemplo voy a hacer que máquinas de mi red puedan conectarse a las vm's de virtualBox que se levanten en mi máquina. |
Última revisión de 07:51 10 abr 2015
Aveces hace falta configurar un equipo con router, para que el tráfico pase a través de esa máquina, con dos tarjetas de red, y máquinas de un lado puedan ver las que hay en la otra red.
Esto son los pasos que he hecho con un Ubuntu 14.04:
Habilitar IP Forwarding
En primer lugar tenemos que habilitar el IP Forwarding con el siguiente comando:
echo 1 > /proc/sys/net/ipv4/ip_forward
Pero si queremos que esto sea persistente para la próxima vez que reiniciemos la máquina lo podemos añadir al fichero de configuración /etc/sysctl.conf:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
Configurar IP Masquerade
IP Masquerade es una técnica en linux para configurar reglas de NAT, y lo vamos a usar para que el tráfico de vuelta que se genere desde el punto de destino (servidor) pueda volver al punto de origen (cliente).
Lo que hace es que transforma el paquete de origen y le pone la IP del router (nuestro linux), y cuando vuelve el tráfico de vuelta lo vuelve a transformar para que vuelva a la máqiuna de origen.
Esto se ve muy bien haciendo un tcpdump -i any icmp en la máqiuna del destino, y desde origen lazando un ping. Sin la regla de masquerade vemos que la IP de orgien del paquete es la IP verdadera del servidor desde donde lanzamos el ping, pero si añadimos la regla de masquerade al iptables y volvemos a lanzar el ping vemos que ahora la IP de origen es la del linux que hace de router.
Para ponernos en situación, en mi ejemplo voy a hacer que máquinas de mi red puedan conectarse a las vm's de virtualBox que se levanten en mi máquina.
El tráfico de otras maqiunas entrará por la iface wlan0 (una wifi) y el iface de red virtual de virtualBox es vboxnet1
En primer lugar configuramos la regla de NAT:
iptables -t nat -A POSTROUTING -o vboxnet1 -j MASQUERADE
Y configuramos el forward del trafico en los dos sentidos:
iptables -A FORWARD -i vboxnet1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i wlan0 -o vboxnet1 -j ACCEPT