Linux에서 네트워크 네임 스페이스 전용 DNS를 설정하는 방법


9

Linux에서 네트워크 네임 스페이스를 만들었습니다.

생성 된 각 네임 스페이스마다 resolv.conf 파일이 있다고 생각했지만 내 시스템에는 해당되지 않습니다. /etc/netns/namespace_name/resolv.conf. 경로가 없습니다. netns 폴더가 없습니다.

하나의 resolv.conf (/etc/resolv.conf 및 다른 하나는 /run/resolv.conf에 미러링 됨)가 있습니다. 이 파일의 모든 변경 사항은 모든 네트워크 인터페이스에 영향을줍니다. 호스트와 네임 스페이스 모두에 다른 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 의 매뉴얼 페이지에 설명 된대로 /etc/resolv.conf에 바인드 마운트되어 있기 때문에 자동으로 사용됩니다 . html . 따라서 주어진 네트워크 네임 스페이스 내에서 /etc/netns/namespace-name/resolv.conf가 작성된 경우에만 /etc/resolv.conf는 네임 스페이스 별 resolv.conf 파일입니다. 그렇지 않으면 응용 프로그램에 호스트 시스템의 resolv.conf가 표시되는데, 이는 원하는 동작이 아닐 수 있습니다.
Ricky Robinson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.