Назад | Перейти на главную страницу

Доменные имена не разрешаются после добавления порта Ethernet в Open vSwitch

Для эксперимента с 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 имеет все необходимые параметры конфигурации.

Ссылки: