Проблема
Во внутренней сети моей компании есть сервер разработки, который называетсяdevserver.mycompany.com
Обычно мне удаётся подключиться к этому серверу без проблем, но иногда (как мне кажется, это происходит случайно) Ubuntu не может определить адрес.
Другая информация и наблюдения
Когда я работаю nmcli dev list iface eth0
в терминале, я вижу, что настроены два DNS-сервера:
IP4.DNS[1]: 192.168.50.103
IP4.DNS[2]: 128.255.1.3
Второй DNS-сервер — это сервер моего интернет-провайдера.
У меня никогда не возникало подобной проблемы на моем разделе Windows, который настроен на использование тех же двух DNS-серверов.
Когда я сталкиваюсь с проблемой:
nslookup devserver.mycompany.com
терпит неудачуnslookup devserver.mycompany.com 128.255.1.3
терпит неудачувсе время (неудивительно, devserver не является публичным сервером)nslookup devserver.mycompany.com 192.168.50.103
работает
Вот фактический результат nslookup
:
Ubuntu-14:~$ nslookup devserver.mycompany.com
Server: 127.0.1.1
Address: 127.0.1.1#53
** server can't find devserver.mycompany.com: NXDOMAIN
Вопросы
- Из вышеприведенного вывода видно, что Ubuntu пытается использовать локальный DNS-сервер. Правильно? Он кэширует неудачный поиск на моей локальной машине?
- Если кэширование есть, как очистить кэш?
- Использует ли Ubuntu иногда этот второй DNS-сервер? Почему? Это балансировка нагрузки? Локальный медленнее?
- Как это исправить? Я не хочу удалять второй DNS-сервер на случай, если основной выйдет из строя.
- И наконец, почему эта проблема не возникает в Windows?
Информация о версии Ubuntu
Ubuntu 14.04 LTS без невыполненных обновлений.
Все сетевые настройки были настроены более или менее автоматически. Использование DHCP
решение1
Из вышеприведенного вывода видно, что Ubuntu пытается использовать локальный DNS-сервер. Правильно? Он кэширует неудачный поиск на моей локальной машине?
Да, Ubuntu использует то, что было предоставлено с арендой DHCP, а точнее dnsmasq
, плагин, который заботится об этом для network-manager
.
Использует ли Ubuntu иногда этот второй DNS-сервер? Почему? Это балансировка нагрузки? Локальный медленнее?
Если первый dns не может разрешиться, то dnsmasq
следует перенаправить запрос на вторичный dns. По крайней мере, такова идея.
Если вы хотите использовать свой собственный DNS-сервер
Лично я всегда использую supersede domain-name-server xxx.xx.xxx.xxx
in /etc/dhcp/dhclient.conf
, чтобы указать моей системе Ubuntu заменить любой dns, который она получает через аренду dhcp, на мой собственный сервер. Вот отрывок из этого файла:
30)serg@ubuntu[/home/xieerqi]
>_ cat /etc/dhcp/dhclient.conf
# Configuration file for /sbin/dhclient, which is included in Debian's
# dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
# man page for more information about the syntax of this file
# and a more comprehensive list of the parameters understood by
# dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
# not leave anything out (like the domain name, for example), then
# few changes must be made to this file, if any.
#
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
supersede domain-name-servers 208.67.220.220;
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers,
dhcp6.fqdn, dhcp6.sntp-servers;
После настройки и повторного подключения или перезапуска network-manager
вот что у меня получилось:
31)serg@ubuntu[/home/xieerqi]
>_ nmcli dev list | grep -i dns
IP4.DNS[1]: 208.67.220.220
Nslookup выдаст отчет Server: 127.0.1.1
, и Address: 127.0.1.1#53
поскольку именно Network-Manager dsnmasq
прослушивает этот адрес, он использует то, что было предоставлено DHCP (в данном случае, замененный DNS),