Iptables para enmascarar un host de una subred a diferentes NIC

Iptables para enmascarar un host de una subred a diferentes NIC

Me vendría bien un poco de ayuda con esto. Ni siquiera sé cómo empezar a pesar de estar familiarizado con iptables.

Tengo un dispositivo con una dirección IP estática 10.0.0.2/24. Esto es lo que es y no puedo cambiarlo. Mi computadora portátil solía tener una sola NIC. Pude conectarme a Internet público y a este dispositivo (que no necesita acceder a ningún otro dispositivo excepto mi computadora portátil) simplemente conectándolo a mi red de desarrollo y dándole a mi computadora portátil NIC una dirección secundaria 10.0.0.1 y conectando el dispositivo a El mismo interruptor que mi computadora portátil. No es ideal pero funcionó.

Ahora tuve que pasar a otra red de desarrollo, cuyo rango de IP es... (música de suspenso).... 10.0.0.0/24. Y 10.0.0.2 está en su rango DHCP ocupado por otro dispositivo.

Ahora obtuve otra tarjeta de interfaz de red (eth1) para mi computadora portátil y le di una dirección IP de 10.42.42.1.

Básicamente, lo que necesito hacer es algo de magia de iptables para que cuando acceda, por ejemplo, a 10.42.42.2, este tráfico al salir de eth1 obtenga la dirección IP 10.0.0.5, por ejemplo, y se pase a 10.0.0.2 en eth1, y cuando el gadget responde y eth1 recibe la respuesta, se pasará a mi computadora portátil host como si viniera de 10.42.42.2.

Probablemente necesite reglas SNAT/DNAT aquí, pero ¿cómo debo configurarlas?

h

Respuesta1

Esa no es una tarea para él iptables, network namespacesse adapta mejor al problema,

# Create network namespace gadget
ip netns add gadget

# Put device eth0 in gadget namespace
ip link set eth0 netns gadget

# Configure network in gadget namespace
# # Bring up ifaces
ip netns exec gadget ip link set lo up
ip netns exec gadget ip link set eth0 up

# # 10.0.0.0/24 address on eth0 
ip netns exec gadget ip address add 10.0.0.1/24 dev eth0

# Now gadget pinging should work...
ip netns exec gadget ping 10.0.0.2

información relacionada