Позвольте мне рассказать вам мою небольшую историю:
Итак, прямо сейчас я использую дистрибутив Ubuntu 16.04 LTS в своей лаборатории. После установки Ubuntu я попытался просто проверить свой доступ в Интернет с помощью Google. Однако это оказалось невозможным. Поэтому сначала я пытаюсь пинговать сервер Google:
ping 8.8.8.8
Этот первый пинг был успешным. Поэтому во-вторых, я пробую пинговать сайт Yahoo:
ping yahoo.com
Ответ был таков: имя неизвестно, поэтому я решил проверить файл resolv.conf в /etc:
# 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.0.1
search <www.some-sites>
Проблема в nameserver. Мои коллеги сказали мне, что они скопировали некоторые строки в /etc/resolvconf/resolv.config.d/base:
domain bla.bla
search <www.some-sites>
nameserver 111.222.3333.4444
nameserver 555.666.7777.8888
Они предложили мне перезагрузиться или просто выполнить следующие команды
resolvconf --enable-updates
resolvconf -u
Когда я проверил /etc/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 <www.some-sites>
Так как мне ввести домен и два моих новых определенных сервера имен??? Я действительно не знаю, как настраивать интерфейсы и возможно ли это. Я также не могу понять, почему это произошло, поскольку base - это файл, который должен быть скопирован в файл resolv.conf. Не могли бы вы объяснить мне, почему произошла эта ошибка?
Спасибо
решение1
NetworkManager — это программа, которая (через утилиту resolvconf) вставляет адрес 127.0.1.1
в resolv.conf
. NM вставляет этот адрес, если и только если он настроен на запуск экземпляра программы dnsmasq для работы в качестве локального сервера имен пересылки. Этот экземпляр dnsmasq прослушивает запросы по адресу 127.0.1.1.
Если вы хотите увидеть, что DNS
вы используете в данный момент, введите команду
nmcli device show <interfacename> | grep IP4.DNS
Вы можете задать разные DNS
параметры для каждого соединения.
Если вы не хотите использовать локальный сервер имен пересылки, то настройте NetworkManager так, чтобы он не запускал экземпляр dnsmasq и не вставлял этот адрес. Закомментируйте /etc/NetworkManager/NetworkManager.conf
строкуdns=dnsmasq
sudo nano /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
и перезапустите службу NetworkManager.
sudo systemctl restart network-manager
В этом режиме NetworkManager обновляется /etc/resolv.conf
(все еще через resolvconf), чтобы включить адреса серверов имен, которые NetworkManager имеет для активных подключений.
Если вы хотите отключить механизм resolvconf для обновления resolv.conf и просто использовать статический файл resolv.conf, выполните следующие действия.
sudo rm -f /etc/resolv.conf # Delete the symbolic link
sudo nano /etc/resolv.conf # Create static file
# Content of static resolv.conf
nameserver 8.8.4.4
nameserver 8.8.8.8