У меня есть эта конфигурация в моем сервере в соединении Администратора сети:
/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 между прочим
Кажется, что Вы используете 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 файл.
То, что работало на меня, включает resolvconf сервис:
sudo systemctl enable resolvconf
sudo reboot
проблемой был resolvconf, не запускающийся при запуске после установки небольшого количества дерьма VPN.
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
.