Linuxでネットワーク名前空間専用にDNSを設定する方法


9

Linuxでネットワーク名前空間を作成しました。

作成された名前空間ごとにresolv.confファイルがあると思っていましたが、私のシステムではそうではありませんでした。次のパス/etc/netns/namespace_name/resolv.confがありません。netnsフォルダーは存在しません。

resolv.confは1つだけ(/etc/resolv.confと/run/resolv.confにミラーリングされた別の1つ)です。このファイルの変更はすべてのネットワークインターフェイスに影響します。ホストと名前空間の両方に異なるDNSを使用できる方法はありますか?

回答:


11

ディレクトリ/ etc / netns / _namespace_name_を自分で作成し、そこに異なるバージョンのresolv.confを配置する必要があります。


1
/etc/netns/namespace-name/resolv.conf、自動的に使用できますか?
CMCDragonkai

そして、これはiptablesにも使用できますか?
CMCDragonkai

2
上記のフルパスはip netns、ip netns man7.org/linux/man-pages/man8/ip-netns.8の manページで説明されているように、/ etc / resolv.confにバインドマウントされているため、自動的に使用されます。 html。したがって、特定のネットワーク名前空間内から/etc/resolv.confは、/ etc / netns / namespace-name / resolv.confが作成されている場合に限り、名前空間ごとのresolv.confファイルです。そうでない場合、アプリケーションはホストマシンのresolv.confを参照しますが、これは望ましい動作ではない可能性があります。
リッキーロビンソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.