Como definir o DNS exclusivamente para um namespace de rede no Linux


9

Eu criei um namespace de rede no Linux.

Eu pensei que havia um arquivo resolv.conf para cada namespaces criados, mas não é o caso no meu sistema. Eu não tenho o seguinte caminho /etc/netns/namespace_name/resolv.conf .. A pasta netns não existe.

Existe apenas um resolv.conf (/etc/resolv.conf e outro espelhado em /run/resolv.conf). Quaisquer alterações neste arquivo afetam todas as interfaces de rede. Existe uma maneira de usar DNS diferente para o host e o espaço para nome?

Respostas:


11

Você deve criar o diretório / etc / netns / _namespace_name_ e colocar uma versão diferente resolv.conf lá.


1
Seria /etc/netns/namespace-name/resolv.confusado automaticamente?
CMCDragonkai

E isso também pode ser usado para o iptables?
CMCDragonkai 03/09/2015

2
Ele será usado automaticamente porque o caminho completo acima é montado ip netnsem /etc/resolv.conf, conforme explicado na página de manual do ip netns man7.org/linux/man-pages/man8/ip-netns.8. html . Portanto, dentro de um determinado namespace de rede, /etc/resolv.conf é o arquivo resolv.conf por namespace se e somente se /etc/netns/namespace-name/resolv.conf tiver sido criado. Caso contrário, um aplicativo verá o resolv.conf da máquina host, que pode não ser o comportamento desejado.
Ricky Robinson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.