Come impostare DNS esclusivamente per uno spazio dei nomi di rete in Linux


9

Ho creato uno spazio dei nomi di rete in Linux.

Ho pensato che ci fosse un file resolv.conf per ogni spazio dei nomi creato, ma non è il caso sul mio sistema. Non ho il seguente percorso /etc/netns/namespace_name/resolv.conf .. La cartella netns non esiste.

C'è solo un resolv.conf (/etc/resolv.conf e un altro in mirroring in /run/resolv.conf). Qualsiasi modifica in questo file influisce su tutte le interfacce di rete. C'è un modo in cui posso usare DNS diversi sia per l'host che per lo spazio dei nomi?

Risposte:


11

Devi creare tu stesso la directory / etc / netns / _namespace_name_ e inserire lì una diversa versione resolv.conf.


1
Sarebbe /etc/netns/namespace-name/resolv.confusato automaticamente?
CMCDragonkai,

E può essere usato anche per iptables?
CMCDragonkai,

2
Verrà utilizzato automaticamente perché il percorso completo sopra è ip netnsassociato a /etc/resolv.conf, come spiegato nella pagina man di ip netns man7.org/linux/man-pages/man8/ip-netns.8. html . Quindi all'interno di un determinato spazio dei nomi di rete, /etc/resolv.conf è il file resolv.conf per spazio dei nomi se e solo se è stato creato /etc/netns/namespace-name/resolv.conf. Altrimenti, un'applicazione vedrà il file resolv.conf del computer host, che potrebbe non essere il comportamento desiderato.
Ricky Robinson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.