Почему я должен указывать DNS при использовании chroot?

В прошлый раз, когда я подключился к Live USB к моей старой сломанной системе, я не мог подключиться к Интернету. В этом уроке я прочитал, что должен добавить OpenDNS в мой /etc/resolv.conf если я использую DHCP.

Как DHCP (или chroot) влияет на мой DNS?

Разве DHCP не единственный способ для моего маршрутизатора дать мне IP? Почему я могу подключиться с Live USB к Интернету нормально, находясь в chroot Я должен добавить новый DNS?

1 ответ

Решение

Разве DHCP не только способ, которым мой маршрутизатор дает мне IP?

Нет, ваш маршрутизатор также дает вам дополнительную информацию - IP-адрес шлюза, IP-адрес DNS-сервера, имя домена по умолчанию, IP-адрес сервера времени и так далее.

Почему я могу нормально подключиться к Live USB к Интернету, а в chroot мне нужно добавить новый DNS?

Linux хранит адрес DNS-сервера в файле. Поскольку chroot изменяет способ, которым программы видят пути к файлам, это означает, что они найдут другой файл в /etc/resolv.conf путь, что означает, что они, возможно, найдут другой адрес, хранящийся там.

(Ваш DHCP-клиент ничего не знает о ваших chroot, а только обновляет основной /etc/resolv.conf файл - он не может искать и обновлять все возможные файлы.)


Обычный обходной путь - связать (связать) "внутренний" путь так, чтобы он ссылался на тот же "внешний" файл. Например, вы можете сделать это перед привязкой к / mnt:

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

(Конечно, позже вам придется размонтировать это, прежде чем система позволит вам размонтировать /mnt.)

Другие вопросы по тегам