Linux como router
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 Forwardind
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).
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