В прошлый раз, когда я сделал 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
файл – не может выполнять поиск и обновлениевсевозможные файлы.)
Обычный обходной путь — связать (привязать) «внутренний» путь так, чтобы он ссылался на тот же «внешний» файл. Например, вы можете сделать это перед chrooting в /mnt:
mount --bind /etc/resolv.conf /mnt/etc/resolv.conf
(Конечно, позже вам придется размонтировать его, прежде чем система позволит вам размонтировать /mnt.)