Cara mengatur DNS secara eksklusif untuk Network Namespace di Linux


9

Saya telah membuat namespace jaringan di Linux.

Saya pikir ada file resolv.conf untuk setiap ruang nama yang dibuat tetapi itu tidak terjadi pada sistem saya. Saya tidak memiliki jalur berikut /etc/netns/namespace_name/resolv.conf .. Netns folder tidak ada.

Hanya ada satu resolv.conf (/etc/resolv.conf dan satu lagi dicerminkan di /run/resolv.conf). Setiap perubahan dalam file ini mempengaruhi semua antarmuka jaringan. Apakah ada cara saya bisa menggunakan DNS yang berbeda untuk host dan namespace?

Jawaban:


11

Anda harus membuat direktori / etc / netns / _namespace_name_ sendiri, dan tempatkan resolv.conf versi yang berbeda di sana.


1
Apakah /etc/netns/namespace-name/resolv.confakan digunakan secara otomatis?
CMCDragonkai

Dan dapatkah ini digunakan untuk iptables juga?
CMCDragonkai

2
Ini akan digunakan secara otomatis karena path lengkap di atas adalah bind-mount oleh ip netnske /etc/resolv.conf, seperti yang dijelaskan dalam halaman manual ip netns man7.org/linux/man-pages/man8/ip-netns.8. html . Jadi dari dalam namespace jaringan yang diberikan, /etc/resolv.conf adalah file resolv.conf per-namespace jika dan hanya jika /etc/netns/namespace-name/resolv.conf telah dibuat. Jika tidak, aplikasi akan melihat resolv.conf dari mesin host, yang mungkin bukan perilaku yang diinginkan.
Ricky Robinson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.