Подтвердить что ты не робот

Linux: как редактировать resolv.conf

Мне нужно настроить Open DNS, но я не могу отредактировать resolv.conf

Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search gateway.2wire.net
4b9b3361

Ответ 1

Ваша система использует resolvconf, поэтому файл resolv.conf заменяется символической ссылкой на /etc/resolvconf/run/resolv.conf и resolvconf динамически генерирует файл. Вот почему DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

Чтобы правильно обновить информацию в файле, вы можете поместить параметры dns- * в /etc/network/interfaces например

auto eth0
iface eth0 inet static
     address 33.33.13.10
     netmask 255.255.255.0
     gateway 33.33.13.1
     dns-nameservers 33.33.13.1 12.34.56.78
     dns-search example.com

Затем вы можете обновить информацию dns- *

$ resolvconf -d eth0
$ resolvconf -a eth0

Или вы можете сделать ifdown и ifup и resolvconf -d, -a произойдет за кулисами.

Примечание: иногда я нахожу, что resolvconf -u не работает. Я не знаю, почему

Вы должны прочитать man resolvconf. Там больше информации обо всем этом.

СОВЕТ. Если вы хотите вручную обновить /etc/resolv.conf, вы можете удалить символическую ссылку и создать /etc/resolv.conf вручную. Таким образом, файл не будет обновляться из resolvconf.

    $ rm /etc/resolv.conf         ;# to remove the symlink
    $ vi /etc/resolv.conf         ;# to create a regular file

Ответ 2

Обычно это требует редактирования /etc/resolvconf/resolv.conf.d/base (в зависимости от вашего дистрибутива это место размещения может немного отличаться) или других файлов в этом каталоге. Они добавляются самим процессом resolvconf. Формат этих файлов совпадает с форматом resolv.conf.

После того, как вы внесете эти изменения, вы можете заставить resolvconf обновиться, используя команду resolvconf -u.