Изменение правил resolvconf на лету
Случилась ситуация, когда надо было заменить содержимое /etc/resolv.conf стандартными средствами resolvconf
, используемого в Ubuntu.
Обычное вписывание дополнительных nameserver
в /etc/resolvconf/resolv.conf.d/base
и последующий перезапуск resolvconf
не дают нужного эффекта, так как данные из этого файла идут с самым низким приоритетом. И в любом случае данные прописанные в конфиге интерфейса останутся самыми важными и будут использоваться они.
Так вот, чтобы удалить локальный DNS и добавить Яндекс.DNS необходимо удалить информацию от интерфейса:
resolvconf -d eth0
и дать на вход в обычном формате resolv.conf
нужную информацию для этого же интерфейса:
echo -e "nameserver 93.158.134.213\nnameserver 213.180.204.213\n"|resolvconf -a eth0
Теперь основными NS являются Яндекс.DNS. Перезапускать ничего не нужно, меняется все на лету. Стоит учесть, что при перезагрузке эти данные будут утеряны. Поэтому стоит внести необходимые изменения в /etc/network/interfaces
и /etc/resolvconf/resolv.conf.d/base
.