Мои настройки
У меня огромная сеть l2 с различными / 24 IP-подсетями. Чтобы получить доступ к каждому хосту в сети, отправьте пакеты на номер 255.255.255.255
Что я хочу
Принудительно dnsmasq предлагает IP-адрес (например, 203.0.113.228), даже если машина, на которой установлен dnsmasq работает, не имеет IP в этом (например, 203.0.113.0/24) su bnet.
Почему я хочу это
Так как у меня много / 24 подсетей, я не хочу тратить один IP-адрес для каждой сети только для работы dnsmasq.
Пока успех
Нет успеха. dnsmasq говорит:
dnsmasq-dhcp: недоступен диапазон адресов для запроса DHCP через eth0
Мне удалось найти аналогичный вопрос на форуме openwrt с нулевыми ответами: https://forum.openwrt.org/t/dnsmasq-give-out-any-ip-address-on-certain-interface/1866
Я, конечно, знаю, что то, что я хочу, возможно в протоколе DHCP, так как я успешно создал предложения DHCP через scapy. Конечно, я не хочу писать свой собственный DHCP-сервер на основе scapy ...
Похоже, проблема в том, что я не могу указать маску сети 0.0.0.0 для моего dhcp-диапазона. т.е. это работает: --dhcp-range=tag0,123.123.123.123,static,0.0.0.1
(123.123.123.123 - это IP интерфейса dnsmasq). Dnsmasq работает и может выдавать предложения для подсетей 203.0.113.0/24, 192.168.100.0/24 и др. c. Но если я укажу маску подсети 0.0.0.0
, dnsmasq завершится неудачно, я думаю, из-за различных проверок в коде c (if (netmask.s_addr != 0
). Интересно, смогу ли я избежать использования такой маски ...