Я хочу использовать dnsmasq для обслуживания DHCP на мосту Linux:
Ниже приведена конфигурация I' m с использованием:
port=0
bind-interfaces
interface=br0
dhcp-range=10.0.0.2,static,255.255.0.0
dhcp-host=52:54:00:d1:82:c4,10.0.0.2,infinite
Проблема в том, что мне кажется, что я должен дать мосту IP-адрес в подсети (, например 10.0.0.1/16), чтобы все это заработало. Если я не укажу никакого IP-адреса на мосту или просто укажу фиктивный IP-адрес (, например 169.254.x.x/16), моя виртуальная машина не получит никакого IP-адреса от DHCP.
Итак, есть ли какая-либо опция/флаг dnsmasq, которую я могу использовать, чтобы заставить это работать? Большое спасибо!
DHCP требует связи между клиентом и сервером в локальной подсети.
Начальное DISCOVER, OFFER, REQUEST и ACK выполняются между 0.0.0.0 и 255.255.255.255, но сервер отвечает со своего собственного IP-адреса. Любое обновление, однако, передается непосредственно на IP-адрес сервера.
Итак, то, что вы хотите сделать, немного не соответствует спецификации, с учетом сказанного, это может быть возможно с дополнительным уровнем ретрансляции DHCP.
После копания в исходном коде dnsmasq функция общей сети, похоже, работает для меня. Добавлено shared-network=...
Line сделала свое дело, хотя я не уверен на 100%, что это правильный/безопасный путь.
port=0
bind-interfaces
interface=br0
shared-network=br0,10.0.0.101
dhcp-range=10.0.0.101,static,255.255.0.0
dhcp-host=52:54:00:d1:82:c4,10.0.0.101,infinite