Для эксперимента с QoS я хотел подключить две виртуальные машины к Open vSwitch. Я создал два интерфейса подключения и подключил к ним виртуальные машины. Я добавил два интерфейса касания в Open vSwitch. Наконец, я добавил к коммутатору порт Ethernet моей хост-машины Ubuntu. Это, как и ожидалось, лишило мою хост-машину возможности подключения к Интернету. Чтобы восстановить связь, я удалил IP-адрес порта Ethernet и вместо этого отдал его порту моста. Хотя подключение к Интернету было восстановлено, DNS перестала разрешать доменные имена. В /etc/resolv.conf, Я видел
"сервер имен 127.0.1.1
search domain.name "
Проведя базовый поиск, я обнаружил, что эти строки добавлены Сетевой менеджер использовать локальный сервер имен пересылки (dnsmasq).
Я не уверен, почему разрешение имен сейчас не работает и как я могу это исправить (кроме отключения dsnmasq и добавления фиксированной записи сервера имен в resolv.conf). Я считаю, что запросы на разрешение имен не передаются на сервер имен моего поставщика услуг.
Я был бы очень признателен за помощь в этом. Заранее спасибо!
P.S. Интересно, что разрешение имен на виртуальных машинах работает нормально. Их resolv.conf настроен на IP-адрес сервера имен DNS моего поставщика услуг.
Если я правильно понял, вы включили в OVS интерфейс, управляемый Network Manager. Как правило, это не очень хорошая идея, поскольку это может привести к путанице в сетевом поведении, как в вашем случае.
К сожалению, быстро подумав, я не могу объяснить, почему именно разрешение имен не работает (я полагаю, это связано с тем, как 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-internal в / 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
Этого должно хватить. Итак, теперь ваше Ethernet-устройство управляется ifupdown и /etc/network/interfaces
и ваш внутренний порт OVS имеет все необходимые параметры конфигурации.
Ссылки: