На этот вопрос уже есть ответ здесь:
Я пытался изменить свой dns на 8.8.8.8
8.8.4.4
, но, похоже, не могу этого сделать.
В /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.0.1
В /etc/resolvconf/resolv.conf.d/base
я добавил
nameserver 8.8.8.8
nameserver 8.8.4.4
и перезагрузил с помощью sudo resolvconf -u
но ничего не меняется в /etc/resolv. conf
Если я неправильно пишу что-то в /etc/resolvconf/resolv.conf.d/base
например добавляю ameserver 8.8.8.8
и перезагружаю cat /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.0.1
ameserver 8.8.8.8
Что я должен сделать, чтобы изменить dns и как я могу проверить, сработало ли это?
Чтобы подробно остановиться на другом ответе здесь и разрешить некоторые беспорядки здесь при использовании Администратора сети для управления подключениями, это также включает небольшую версию dnsmasq. Это что 127.* адрес находится в Вашем resolv.conf - IP-адрес localhost, где dnsmasq связал с.
Администратор сети при конфигурировании с серверами DNS скажет dnsmasq что серверы DNS к релейным запросам к.
Если Вы устанавливаете 8.8.8.8, поскольку Ваш сервер DNS в настройках Администратора сети, dnsmasq передаст все запросы, которые не кэшируются к 8.8.8.8 для фактического разрешения, в то время как Ваш компьютер отправляет запросы DNS непосредственно в dnsmasq для обработки.
Сбивающий с толку, я знаю, но Вы не можете полагаться на resolv.conf для показа серверов DNS, используемых при использовании Администратора сети для управления подключениями.
Сначала отмените все, что мы сделали в комментариях.
Используйте:
$ nmcli device
, чтобы получить статус диспетчера сети:
DEVICE TYPE STATE CONNECTION
enp3s0 ethernet connected myConnection
Итак, мой интерфейс - enp3s0
, а имя моего подключения - myConnection
.
Я могу проверить, какой DNS-сервер использует мое соединение:
$ nmcli -f IP4.DNS connection show myConnection
Для вас, я думаю, он покажет:
ipv4.dns: 127.0.0.1
Теперь давайте установим нужные вам DNS-запросы: [ 1125]
nmcli connection modify myConnecion ipv4.dns "8.8.8.8, 8.8.4.4"
После всех перезагрузите соединение:
nmcli connection down myConnecion
nmcli connection up myConnecion
Затем проверьте /etc/resolv.conf
:
cat /etc/resolv.conf
Если он все еще говорит, что вы используете 127.0.0.1
как ваш DNS-сервер, то есть большая вероятность того, что вы используете "dnsmasq", чтобы убедиться, что запустите:
sudo ss -pln sport = 53
Вы должны получить имя dnsmasq
как процесс, прослушивающий порт 53, так что все хорошо, и вы используете правильные DNS-имена, 127.0.0.1 - это просто слой между вами и серверами, которые вы установили.
Если вы хотите увидеть «8.8.8.8» в /etc/resolv.conf
, то вам следует отключить «dnsmasq».
Открыть этот файл:
/etc/NetworkManager/NetworkManager.conf
Измените dns=dnsmasq
на #dns=dnsmasq
.
Наконец:
sudo systemctl restart NetworkManager
Теперь снова проверьте /etc/resolv.conf
.