DNS не работает,/etc/resolv.conf не перезаписывается. Почему?

У меня есть эта конфигурация в моем сервере в соединении Администратора сети:

/etc/NetworkManager/system-connections/wired-connection

[connection]
id=wired-connection
uuid=0c501f08acc5497cb7...
type=8023ethernet

[8023ethernet]

[ipv4]
method=manual
dns=8.8.8.8;
address1=192.168.1.250/24,192.168.1.1

[ipv6]
method=auto
ip6privacy=0

/etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=true

Но мой файл /etc/resolv.conf (символьная ссылка) не перезаписывается Администратором сети. Если я добавляю вручную строку nameserver 8.8.8.8 в файл это работает хорошо, но это - только временное решение. Если я открываю конфигурацию IP в интерфейсе Kubuntu, я вижу пустые поля DNS.

Я также попробовал этой командой, но она не работала dpkg-reconfigure resolvconf

Маршрут моего исходного конфигурационного файла находится в /run/resolvconf/resolv.conf

И я нашел этот файл, он принадлежит старой конфигурации /etc/resolvconf/resolv.conf.d/original

nameserver 213.60.205.175
nameserver 213.60.205.174
nameserver 212.51.33.110

Я должен удалить или отредактировать этот файл, чтобы заставить его работать?

Я могу получить доступ только удаленно к серверу, из-за этого, я хотел бы быть уверенным, что это собирается работать. Если не я мог бы повредить соединение

Заранее спасибо

Обновление 08.03.15. Вывод /usr/share/resolvconf/dump-debug-info

###### Start of debugging information for resolvconf ######
### ls -l /etc/resolvconf
total 16
-rw-r--r-- 1 root root  172 dic 13  2012 interface-order
drwxr-xr-x 2 root root 4096 jul  8 18:33 resolv.conf.d
drwxr-xr-x 2 root root 4096 jul  8 18:33 update.d
drwxr-xr-x 2 root root 4096 jul  8 19:11 update-libc.d
### cat /etc/resolvconf/interface-order
# interface-order(5)
lo.inet*
lo.dnsmasq
lo.pdnsd
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
eth*
ath*
wlan*
ppp*
*
### ls -l /etc/resolvconf/resolv.conf.d
total 8
-rw-r--r-- 1 root root   0 dic 13  2012 base
-rw-r--r-- 1 root root 151 dic 13  2012 head
-rw-r--r-- 1 root root  77 jul  8 18:21 original
-rw-r--r-- 1 root root   0 jul  8 18:26 tail
### cat /etc/resolvconf/resolv.conf.d/base
### cat /etc/resolvconf/resolv.conf.d/head
# 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
### cat /etc/resolvconf/resolv.conf.d/original
nameserver 213.60.205.175
nameserver 213.60.205.174
nameserver 212.51.33.110
### cat /etc/resolvconf/resolv.conf.d/tail
### ls -l /etc/resolvconf/run
ls: no se puede acceder a /etc/resolvconf/run: No existe el archivo o el directorio
### ls -l /run/resolvconf
total 4
-rw-r--r-- 1 root root   0 jul 29 10:10 enable-updates
drwxr-xr-x 2 root root  40 jul 29 10:10 interface
-rw-r--r-- 1 root root 151 ago  3 09:40 resolv.conf
### cat /run/resolvconf/enable-updates
### cat /run/resolvconf/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
### ls -l /run/resolvconf/interface
total 0
### ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 jul 24 12:59 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
### lsattr /etc/resolv.conf
lsattr: La operación no está soportada Mientras se leían las banderas en /etc/resolv.conf
### 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
### cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=true
###### End of debugging information for resolvconf ######

Я использую Kubuntu 14.04 между прочим

0
задан 3 August 2015 в 11:32

3 ответа

Кажется, что Вы используете dnsmasq, который является кэширующимся сервером DNS.

, Если Вы хотите добавить сервер DNS, Вы можете должностное лицо эта команда:

echo nameserver X.X.X.X | sudo resolvconf -a IFACE.PROGNAME
sudo service dnsmasq restart 

, где IFACE.PROGNAME является названием сети, Вы используете (eth0, eth1, wlan0...)

Для постоянного изменения, можно создать/etc/resolv.dnsmasq.conf с

nameserver  8.8.8.8

и отредактировать/etc/dnsmasq.conf и установить:

resolv-file=/etc/resolv.dnsmasq.conf

Другое решение, мог быть должен отключить использование dnsmasq путем комментария строки

dns=dnsmasq

в файле/etc/NetworkManager/NetworkManager.conf. И используйте/etc/resolv.conf файл.

-1
ответ дан 1 October 2019 в 06:00

То, что работало на меня, включает resolvconf сервис:

sudo systemctl enable resolvconf
sudo reboot

проблемой был resolvconf, не запускающийся при запуске после установки небольшого количества дерьма VPN.

0
ответ дан 1 October 2019 в 06:00

dnsmasq исполняемый двоичный файл включен в dnsmasq-основной пакет.

Когда dns=dnsmasq кажется непрокомментированным в NetworkManager.conf, NetworkManager выполняет dnsmasq экземпляр для служения в качестве локального передающего сервера имен.

dnsmasq пакет включает конфигурационные файлы, которые поддерживают выполнение dnsmasq экземпляра независимо от NetworkManager. Последний dnsmasq экземпляр настроен/etc/dnsmasq.conf.

resolvconf утилита используется сетевым интерфейсом configurers для управления информацией о сервере имен. На основе информации, которую этому предоставили, это пишет файл/run/resolvconf/resolv.conf, который предназначается, чтобы использоваться для конфигурирования libc сопоставителя. Файл активируется в этой роли путем создания символьной ссылки от/etc/resolv.conf до/run/resolvconf/resolv.conf.

NetworkManager и ifup отправляют информацию о сервере имен в resolvconf. Обычно/etc/resolv.conf является символьной ссылкой на/run/resolvconf/resolv.conf и все работы хорошо.

В случае, если dns=dnsmasq кажется непрокомментированным в NetworkManager.conf, NetworkManager предоставляет resolvconf адрес сервера имен 127.0.1.1, который появляется в resolv.conf; ведомое устройство NetworkManager dnsmasq процесс слушает в адресе 127.0.1.1 и вперед запрашивает к внешним серверам имен в адресах, о которых NetworkManager был настроен для знания или узнал о через DHCP.

Первый комментарий корреспондента:

But my file /etc/resolv.conf (symbolic link) is not overwritten by the Network Manager. 

Это указывает, что существует неверная конфигурация./etc/resolv.conf должен быть символьной ссылкой на/run/resolvconf/resolv.conf, и resolvconf должен обновить последнего, когда некоторый сетевой интерфейс настроен или deconfigured. Учитывая, что Вы имеете dns=dnsmasq в NetworkManager.conf, nameserver строка в resolv.conf должна быть nameserver 127.0.1.1, если у Вас нет экземпляра сервера dnsmasq, работающего, в этом случае, это могло бы быть nameserver 127.0.0.1, таким образом направляя libc сопоставитель для использования экземпляра сервера dnsmasq, который слушает в 127.0.0.1.

Последующий вопрос корреспондента:

[...] /etc/resolvconf/resolv.conf.d/original [...]
Should I remove or edit this file to make it work?

Этот файл (original) который является просто копией/etc/resolv.conf в то время, когда resolvconf пакет установлен, обычно не имеет никакого эффекта. Это сохранено resolvconf пакетом в случае, если пакет удаляется, затем это original файл отложен в/etc/resolv.conf. В некоторых случаях/etc/resolvconf/resolv.conf.d/tail является символьной ссылкой на original но это нестандартно и если это содержит для Вашей системы затем, необходимо изменить/etc/resolvconf/resolv.conf.d/tail, чтобы быть пустым файлом или символьной ссылкой на /dev/null.

1
ответ дан 1 October 2019 в 06:00

Другие вопросы по тегам:

Похожие вопросы: