Доброго дня. Подскажите, что я делаю не так.
Есть три машины.
1. Виндовая, которая по OVPN c preshared key цепляется через tap интерфейс со статическим адресом
10.20.27.5/24, получаемым от OpenVPN ко второй, с этой первой всё хорошо.
2. Виртуалка на Ubuntu 19.04, на которой поднято два OpenVPN сервера через tap на разных портах. Оба тап интерфейса объединены в бридж, подняты в promisc mode, на бридже стоит статика
10.20.27.1/24. С этой машиной тоже всё хорошо.
3. Линуксовая машина, на которой поднят туннель на второй OpenVPN через тап. tap0 получает от OpenVPN
10.20.27.10/24, поднят тоже в promisc mode. Все машины друг-друга пингуют, всё прекрасно.
На третьей машине подключен eth интерфейс (пусть для простоты будет eth1), без адреса, tap0 и eth1 закинуты в один бридж. Моднят dnsmasq c простейшим конфигом:
user=nobody
group=nogroup
interface=tap0
port=0
dhcp-range=
10.20.27.100,
10.20.27.150,12h
dhcp-option=1,
255.255.255.0dhcp-option=6,
8.8.8.8dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases
dhcp-authoritative
Насколько я понял по ворнингам в логе, DNSMASQ отказывается подниматься на интерфейсе, на котором нет адреса, поэтому выставил его на tap0. Подключаем проприетарную железку, которая получает по DHCP адрес к свичу, подключенному к нашему eth1. Травлю tcpdump на общий бридж и вижу DHCP запросы с железки. dnsmasq молчит как килька в томатном соусе, leases пуст. Как добиться назначения адреса железке, подключенной к интерфейсу через мост? Что я делаю неправильно?
P.S.: В ebtables пока к сожалению, не разобрался.