Я создал виртуальную подсеть, используя интерфейсы Tap & Bridge. Поверх этой подсети я установил dnsmasq, который служит DHCP-сервером.

Все работает на сервере Ubuntu 17.10.

Мой соответствующий netstat показывает активное разрешение имен:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      2729/systemd-resolv
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      3998/dnsmasq
tcp6       0      0 :::5355                 :::*                    LISTEN      2729/systemd-resolv
tcp6       0      0 :::53                   :::*                    LISTEN      3998/dnsmasq
udp     8448      0 0.0.0.0:5355            0.0.0.0:*                           2729/systemd-resolv
udp    16896      0 0.0.0.0:53              0.0.0.0:*                           3998/dnsmasq
udp        0      0 127.0.0.53:53           0.0.0.0:*                           2729/systemd-resolv
udp     6144      0 0.0.0.0:67              0.0.0.0:*                           3998/dnsmasq
udp6   52992      0 :::5355                 :::*                                2729/systemd-resolv
udp6       0      0 :::53                   :::*                                3998/dnsmasq

Хотя я не уверен, стоит ли мне просто отключить systemd-resolv и заставить netmasq обслуживать все.

соответствующая часть dnsmasq.conf:

domain-needed
bogus-priv
no-resolv
domain=server.local
interface=br0
dhcp-authoritative
dhcp-range=192.168.10.50,192.168.10.254,255.255.255.0,1d

Эта настройка дает мне очень смешанные результаты: когда я тестировал ее на локальном (настольном) Ubuntu 17.04, казалось, все работало. Но теперь, когда я "развернут" на сервере 17.10, я не получаю правильное разрешение имен:

  1. хост-машина не может найти гостей, подключенных к интерфейсу tap / bridge
  2. гости имеют частичный успех, находя других гостей (некоторые работают, некоторые нет)
  3. гости не могут найти хозяина

Я проверяю это, запустив ping host или ping guest_n

Что меня больше всего беспокоит, так это # 2: кажется, что "старые" виртуальные машины работают, а новые - нет. Единственное другое существенное отличие между ними заключается в том, что на новом работает сервер 18.04. Однако: я создал похожего гостя только вчера, и он работает?!?! Так что ... что - это всего лишь один день, чтобы имя распространялось через что-нибудь?

В любом случае, есть какие-нибудь намеки на то, что я здесь делаю неправильно? Как я могу получить правильно работающее разрешение имен?

Редактировать: получил # 2 - это была блокировка UFW (и не регистрировать те же блоки)

0