Cómo configurar DNS exclusivamente para un espacio de nombres de red en Linux

9

He creado un espacio de nombres de red en Linux.

Pensé que había un archivo resolv.conf para cada espacio de nombres creado, pero no es el caso en mi sistema. No tengo la siguiente ruta /etc/netns/namespace_name/resolv.conf .. La carpeta netns no existe.

Solo hay un resolv.conf (/etc/resolv.conf y otro reflejado en /run/resolv.conf). Cualquier cambio en este archivo afecta a todas las interfaces de red. ¿Hay alguna manera de usar DNS diferentes para el host y el espacio de nombres?

jayce153
fuente

Respuestas:

11

Debe crear el directorio / etc / netns / _namespace_name_ usted mismo y colocar allí una versión diferente resolv.conf.

Nik
fuente
1
Sería /etc/netns/namespace-name/resolv.confusado automáticamente?
CMCDragonkai
¿Y esto también se puede usar para iptables?
CMCDragonkai
2
Se usará automáticamente porque la ruta completa anterior está montada ip netnsen /etc/resolv.conf, como se explica en la página de manual de ip netns man7.org/linux/man-pages/man8/ip-netns.8. html . Entonces, desde un espacio de nombres de red dado, /etc/resolv.conf es el archivo resolv.conf por espacio de nombres si y solo si se ha creado /etc/netns/namespace-name/resolv.conf. De lo contrario, una aplicación verá el resolv.conf de la máquina host, que podría no ser el comportamiento deseado.
Ricky Robinson