Con ip netns exec puede ejecutar un comando en un espacio de nombres de red personalizado, pero ¿hay alguna forma de ejecutar un comando en el espacio de nombres predeterminado?
Por ejemplo, después de ejecutar estos dos comandos:
sudo ip netns add test_ns
sudo ip netns exec test_ns bash
¿Cómo puede el bash recién creado ejecutar programas en el espacio de nombres de red predeterminado? No hay ip netns exec default ni nada similar por lo que he encontrado.
Mi escenario es:
Quiero ejecutar un servidor SSH en un espacio de nombres de red separado (para que el resto del sistema no esté al tanto de la conexión de red, ya que el sistema se usa para las pruebas de red), pero quiero poder ejecutar programas en el espacio de nombres de red predeterminado a través de La conexión SSH.
Lo que he descubierto hasta ahora:
Los espacios de nombres de red creados se enumeran como archivos en / var / run / netns (pero no hay ningún archivo para el espacio de nombres predeterminado)
El código exec de ip netns se puede encontrar aquí: http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 - No he entendido todo que está haciendo todavía, pero no parece muy prometedor.
ip netns identifica $$ según lo sugerido por Howto query y cambia el espacio de nombres de red en linux? no devuelve nada cuando está en el espacio de nombres de red predeterminado