По-разному. Пожалуйста, прочитайте до конца.
Если у вас не установлен пакет resolvconf , то это легко: после его изменения выполните команду
sudo chattr +i /etc/resolv.conf
Команда изменяет атрибуты файла, делая его immutable
(опция + i).
Однако, если у вас установлен пакет resolvconf, файл /etc/resolv.conf может быть преобразован в символическую ссылку,
# file /etc/resolv.conf
/etc/resolv.conf: symbolic link to `../run/resolvconf/resolv.conf'
который является файлом в виртуальной файловой системе, воплощением непостоянной версии. Самое смешное, что вы, возможно, не знаете, что у вас установлен resolvconf, потому что последние версии Debian-подобных ОС поставляются с предустановленным. Вы можете установить, установил ли он ваш дистрибутив, выполнив команду:
#whereis resolvconf
resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz
Даже самое главное, вы можете установить, была ли ваша /etc/resolv.conf
ссылка преобразована в ссылку, с помощью команды (file /etc/resolv.conf), приведенной выше. Если ответ ASCII text
, используйте chattr
, иначе ...
Если вы используете статический IP-адрес, проще всего добавить следующую строку (или что-то подобное)
dns-nameservers 8.8.4.4 8.8.8.8
раздел, определяющий свойства вашего статического интерфейса в / etc / network / interfaces.
Если вы вместо этого находитесь на ноутбуке, который все время подключается к различным сетям, вы можете последовать LawrenceC
отличному совету. Но если в вашей системе есть resolvconf , правильный (и самый простой) способ предоставить фиксированный набор DNS - это использовать файлы в /etc/resolvconf/resolv.conf.d . В частности, используются следующие файлы (см . Страницу Стефана Грабера ):
база : используется, когда никакие другие данные не могут быть найдены
head : Используется для заголовка resolv.conf, может использоваться для обеспечения того, чтобы DNS-сервер всегда был первым в списке
tail : любая запись в tail добавляется в конце результирующего resolv.conf.
Итак, поместите ваши любимые сервера имен в голову следующим образом
nameserver 8.8.8.8
и вы сделали.
NetworkManager
(как указано в первой строке). Этот файл заново генерируется при каждой загрузкеNetworkManager
. Это зависит от вашего linux-дистрибутива (о котором вы не упоминали), как получить к нему доступNetworkManager
.