Este es mi escenario:
Tengo dos interfaces de red distintas, cada una con su propia IP pública y privada estática (IPv4), conectadas a una única red virtual, que está conectada a una única máquina virtual. Me gustaría poder asignar eth1
, la interfaz de red secundaria, a su propio espacio de nombres de red y luego usar ese espacio de nombres para ejecutar una aplicación Python que envía información a una base de datos MySQL.
Básicamente, quiero ejecutar dos de estas aplicaciones simultáneamente en una sola máquina virtual, pero ejecutarlas dentro de espacios de nombres separados para que mi base de datos reciba consultas de dos direcciones IP públicas diferentes. Usar espacios de nombres fue la mejor opción que pude encontrar. Tengo el bit de Python ordenado (estoy usando un contenedor de Python para netns), pero tengo problemas con lo que creo que es el servidor de nombres para el espacio de nombres.
Estoy ejecutando los siguientes comandos para crear el espacio de nombres:
>> sudo ip netns add 001
>> sudo ip link set eth1 netns 001
>> sudo ip netns exec 001 ip link set eth1 up
Luego intento hacer ping google.com
y recibo el siguiente error:
ping: google.com: Temporary failure in name resolution
Sé que me estoy perdiendo algo y admito que soy un gran novato en lo que respecta a la creación de redes. Cualquier ayuda sería apreciada.
Para su información: Estoy usando los servicios en la nube de Azure para todo esto. Mis servidores DNS en ambas interfaces de red están configurados paraHeredar de la red virtualy el reenvío de IP está deshabilitado. El espacio de direcciones para la red virtual es 10.0.0.0/24
con la interfaz principal ( eth0
) usando 10.0.0.4
y la interfaz secundaria ( eth1
) usando 10.0.0.5
.
EDITAR: Creo que estoy empezando a comprender el enrutamiento de red, pero se me ocurre otro error.
>> sudo ip netns add 001
>> sudo ip link set eth1 netns 001
>> sudo ip netns exec 001 ip link set eth1 up
>> sudo ip netns exec 001 ip addr add 10.0.0.5/24 dev eth1
La puerta de enlace predeterminada eth0
es 10.0.0.1
, por lo que supuse que configuraría eth1
la puerta de enlace predeterminada en la misma dirección, ya que comparten la misma red virtual.
>> sudo ip netns exec 001 ip route add default via 10.0.0.1 dev eth1
Error: Nexthop has invalid gateway.