
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 namespaces
se 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