chroot를 사용할 때 왜 DNS를 지정해야 합니까?

chroot를 사용할 때 왜 DNS를 지정해야 합니까?

지난번에 Live USB에서 기존의 손상된 시스템으로 루트를 전환했을 때 인터넷에 연결할 수 없었습니다. 이에지도 시간, 내 컴퓨터에 OpenDNS를 추가해야 한다는 글을 읽었습니다./etc/resolv.conf DHCP를 사용하는 경우.

DHCP(또는 chroot)는 내 DNS에 어떤 영향을 미치나요?

DHCP는 라우터가 나에게 IP를 제공하는 유일한 방법이 아닌가요? chroot새 DNS를 추가해야 하는데 Live USB에서 인터넷에 정상적으로 연결할 수 있는 이유는 무엇입니까 ?

답변1

DHCP는 내 라우터가 나에게 IP를 제공하는 유일한 방식이 아닌가요?

아니요. 이는 라우터가 게이트웨이 IP, DNS 서버 IP, 기본 도메인 이름, 시간 서버 IP 등의 추가 정보를 제공하는 방식이기도 합니다.

Live USB에서 인터넷에 정상적으로 연결할 수 있는데 chroot에서는 새 DNS를 추가해야 하는 이유는 무엇입니까?

Linux는 DNS 서버 주소를 파일에 저장합니다. chroot는 프로그램이 파일 경로를 보는 방식을 변경하므로 경로에서 다른 파일을 찾을 수 있으며 /etc/resolv.conf, 이는 거기에 저장된 다른 주소를 찾을 수도 있음을 의미합니다.

(DHCP 클라이언트는 chroot에 대해 아무것도 모르고, chroot만 업데이트합니다.기본 /etc/resolv.conf파일 - 검색 및 업데이트가 불가능합니다.모두가능한 파일입니다.)


일반적인 해결 방법은 동일한 "외부" 파일을 참조하도록 "내부" 경로를 연결(바인딩)하는 것입니다. 예를 들어, /mnt로 chroot하기 전에 이 작업을 수행할 수 있습니다.

mount --bind /etc/resolv.conf /mnt/etc/resolv.conf

(물론 나중에 시스템에서 /mnt 마운트를 해제하기 전에 이를 마운트 해제해야 합니다.)

관련 정보