Имена доменов не разрешаются после добавления порта Ethernet в Open vSwitch
Для эксперимента QoS я хотел подключить две виртуальные машины к Open vSwitch. Я создал два интерфейса крана и подключил к ним виртуальные машины. Я добавил два интерфейса к Open VSwitch. Наконец, я добавил порт Ethernet моей хост-машины Ubuntu на коммутатор. Это, как и ожидалось, привело к тому, что мой компьютер потерял связь с Интернетом. Чтобы восстановить связь, я удалил IP-адрес порта Ethernet и вместо этого передал его мосту. Хотя подключение к Интернету восстановилось, DNS прекратил разрешать доменные имена. В /etc/resolv.conf я видел
"nameserver 127.0.1.1
поиск domain.name"
При выполнении базового поиска я обнаружил, что NetworkManager добавляет эти строки для использования локального сервера пересылки имен (dnsmasq).
Я не уверен, почему разрешение имен не работает сейчас и как я могу это исправить (кроме отключения dsnmasq и добавления фиксированной записи сервера имен в resolv.conf). Я считаю, что запросы разрешения имен не передаются на сервер имен моего поставщика услуг.
Я был бы очень признателен за помощь в этом. Заранее спасибо!
PS Интересно, что разрешение имен работает нормально на виртуальных машинах. Их resolv.conf настроен на IP-адрес DNS-сервера моего поставщика услуг.
1 ответ
Если я правильно понял, вы включили интерфейс, управляемый сетевым менеджером, в OVS. Как правило, это не очень хорошая идея, так как это может привести к путанице в работе сети, как в вашем случае.
К сожалению, после быстрого размышления я не могу объяснить, почему именно разрешение имен не работает (я полагаю, это связано с тем, как NM обрабатывает конфигурацию интерфейса). Я советую вам исключить ваше устройство Ethernet из управляемых интерфейсов NM и использовать ifupdown (/etc/network/interfaces) вместо этого для управления этим устройством. Вы сможете безопасно отменить все изменения позже, когда закончите тестирование.
Итак, вот как это можно сделать:
редактировать
/etc/NetworkManager/NetworkManager.conf
включить следующие разделы:[ifupdown] managed=false [keyfile] unmanaged-devices=interface-name:your-iface-name
Перезагрузите сетевой менеджер
sudo service network-manager restart
Поместите конфигурацию вашего интерфейса в
/etc/network/interfaces
, Должно быть что-то вродеallow-ovs0 eth0 iface eth0 inet manual ovs_bridge ovs0 ovs_type OVSPort
добавлять
dns-nameservers
директива для конфигурации внутреннего порта ovs в /etc/network/interfaces (интерфейс, которому принадлежит ваш внешний IP-адрес). Пример:allow-ovs0 ovs0 iface ovs0 inet static address 10.4.4.254 netmask 255.255.255.0 ovs_bridge ovs0 ovs_type OVSIntPort dns-nameservers 8.8.8.8 8.8.4.4
Наконец, переведите внешний интерфейс и внутренний порт ovs и сделайте резервную копию:
sudo ip link set down dev your-iface sudo ip link set down dev your-ovs-internal-port sudo ifup your-iface sudo ifup your-obs-internal-port
Этого должно быть достаточно. Итак, теперь ваше сетевое устройство управляется ifupdown и /etc/network/interfaces
и ваш внутренний порт OVS имеет все необходимые параметры конфигурации.
Ссылки: