Подключенный к нескольким сетям, как выбрать который сервер DNS?

У меня есть ноутбук под управлением Ubuntu 16.04, подключенная к двум различным сетям (на самом деле, у меня есть 5 различных моделей ноутбука все испытание этого). Каждый - беспроводная сеть, которая не другой. В этих двух сетях у меня есть различные серверы DNS.

Я регулярно испытываю это при попытке проверить с помощью ping-запросов или установить соединение SSH к известному хосту, я получаю 'неизвестный хост' ошибка, я могу выполнить пять команд ping в секунду независимо, и иногда все пять проходят, иногда только один или два (или ни один). Я испытываю то же, когда я использую 'nslookup' на имени хоста. При использовании SSH с IP-адресом я никогда не получаю ошибок. Это приводит меня полагать, что Ubuntu случайным образом выбирает который сервер DNS сетей использовать.

Так существует ли способ выбрать, какой сервер DNS сетей должен использоваться или иметь Ubuntu, спрашивают они оба, если один из них не знает хост?

'IP список маршрутов' перечисляет различные метрики для сетей с одним набором к 100 и одним к 600.

Если существует информация, которая могла бы быть релевантной, сообщите мне.

Содержание/etc/resolv.conf:

Динамический resolv.conf (5) файл для glibc сопоставителя (3) сгенерированный resolvconf (8) НЕ РЕДАКТИРУЕТ ЭТОТ ФАЙЛ ВРУЧНУЮ - ВАШИ ИЗМЕНЕНИЯ будут ПЕРЕЗАПИСАНЫ
сервер имен 127.0.1.1
поиск xx.yy.zz

Вывод IP списка маршрутов

значение по умолчанию через 10.80.0.1 dev enp0s25 первичная статическая метрика 100
значение по умолчанию через 10.125.64.1 dev wlo1 первичная статическая метрика 600
10.80.0.0/24 dev enp0s25 первичная ссылка объема ядра src 10.80.0.54 метрики 100
10.125.64.0/19 dev wlo1 первичная ссылка объема ядра src 10.125.83.244 метрики 600
10.220.2.16 через 10.80.0.1 dev enp0s25 первичная dhcp метрика 100
Канальная метрика объема 169.254.0.0/16 dev enp0s25 1000
192.0.2.1 через 10.125.64.1 dev wlo1 первичная dhcp метрика 600

user@host:~$ nmcli dev show enp0s25 | grep DNS
IP4.DNS[1]:                             10.220.2.5

user@host:~$ nmcli dev show wlo1 | grep DNS
IP4.DNS[1]:                             10.220.2.24
1
задан 31 May 2017 в 12:56

2 ответа

Сама Ubuntu всегда использует все, что это - DNS. Если это не найдет один адрес на первом DNS, то это попробует второй, который доступен ему.

, Таким образом, Ваше решение, так как мы видели, что Ваш /etc/resolv.conf пусто - но Вы предоставили информацию, что у Вас есть сервер DNS, правильно распределенный Вашим dhcp.

Теперь можно или отключить NetworkManager и просто использовать интерфейсы, которые устранили бы проблему сразу же, или Вы изучаете Ваш /etc/NetworkManager/NetworkManager.conf и ищете строку dns=XXXXXX и удаляете ту строку или комментируете ту строку.

Перезапуск Ваш NetworkManager sudo systemctl restart NetworkManager.service и теперь Ваш DNS должен быть установлен в /etc/resolv.conf

2
ответ дан 7 December 2019 в 13:32

Я думаю, что Вы пропускаете статическую маршрутизацию на обеих сетевых платах, потому что модель, которую Вы используете, требует статической маршрутизации на уровне сетевой платы.

можно отредактировать сетевые интерфейсы как данный ниже:

автоматический eth1

iface eth1 inet, статичный

адрес 10.0.0.100

сетевая маска 255.255.255.0

пост, маршрут добавляет 10.0.0.100 через 10.0.0.1 dev eth1

автоматический eth2

iface eth2 inet, статичный

адрес 10.0.1.100

сетевая маска 255.255.255.0

пост, маршрут добавляет 10.0.1.100 через 10.0.1.1 dev eth2

таким образом, это направит запросы к различным сетям.

0
ответ дан 7 December 2019 в 13:32

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

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