У меня есть следующее в моем dnsmasq.conf:
dhcp-range=set:red,10.1.1.2,10.1.1.69,72h,static
dhcp-range=set:blue,10.1.1.70,10.1.1.100,72h,static
dhcp-range=set:white,10.1.1.101,10.1.1.200,12h
dhcp-range=10.1.1.201,10.1.1.250,12h
Я бы подумал, что первые два диапазона будут недоступны для всех, кто не находится в файле hosts, то есть зарезервирован для статического IP-резервирования.
Однако, когда я добавляю случайное устройство в сеть, он, кажется, назначает IP в красном диапазоне, например, даже если для него нет статического резервирования IP. Я ожидал, что IP будет назначен в диапазоне от 10.1.1.101 до 10.1.1.250.
Эта функция работает не так, как я ожидаю?
Старое сообщение, но я дам этому движение....
Это вызвано тем, что все диапазоны имеют ту же подсеть..
, Если бы eth0 был 10.1.1.1 затем, он обеспечил бы адреса в 10.1.1.2 к 10.1.1.254, который вошел через тот интерфейс. Поэтому все новые машины получают адреса в том ниже (красном) диапазоне.
, Но если у Вас был второй физический интерфейс (eth1/wlan0 на 10.1.2.1) затем все запросы, входящие через это; был бы дан адреса в 10.1.2.x диапазон, , если настроено тот путь . Это - единственный способ, о котором я знаю; из разделения трафика легко с брандмауэром управляет и т.д.
, поскольку все диапазоны имеют ту же подсеть; dnsmasq просто присваивает дюйм/с, которые являются в его собственной сети интерфейсов слушания. 10.1.1.x
В man dnsmasq
о диапазонах DHCP это указывает If you have more than one network, you will need to repeat this for each network on which you want to supply DHCP service.
. Это мне; средства, которые - другой физический интерфейс и именование их цветом то, как я отличаю сети, при помощи различных цветных кабелей. :)
Чтение больше в dnsmasq документацию, я думаю, что/etc/hosts используется в качестве части сервера имен и не присвоения DHCP, поскольку статический IP обычно требует, чтобы название машины или MAC-адрес функционировали правильно.
Сообщение является еще более старым теперь, но я просто столкнулся с этим сам...
, Если начальный и конечный адрес используется:
dhcp-range=set:red,10.1.1.2,10.1.1.69,static
Адреса будут розданы, иногда даже на неправильной подсети.
Вместо этого попробуйте только сетевой адрес и маску подсети:
dhcp-range=set:red,10.1.1.0,static,255.255.255.0
Нет необходимости явно определять статические диапазоны в вашем dnsmasq.conf
, если они принадлежат к подсети, определенной в dhcp-range
: просто определите статические аренды с помощью dhcp-host
(например, dhcp-host=[MAC-адрес],[IP-адрес]
. Определение статических диапазонов необходимо только в том случае, если необходимо назначить статические IP-адреса в подсети, где динамические IP-адреса также не назначаются.
С страницы man:
Адреса, выделенные следующим образом [т.е. с помощью
dhcp-host
], не ограничены для нахождения в диапазоне, заданном параметром-dhcp-range
, но они должны находиться в той же подсети, что и некоторые допустимыеdhcp-range
. Для подсетей, которым не требуется пул динамически выделяемых адресов, используйте ключевое слово "static" в объявлении-dhcp-range
.
Итак, чтобы назначить 10.1.1.70
в качестве статического IP-адреса машине с MAC-адресом 00:11:22:33:44:55
с 72-часовой арендой и пометьте его тегом blue
, use:
dhcp-range=10.1.1.201,10.1.1.250,12h
dhcp-host=00:11:22:33:44:55,set:blue,10.1.1.70,72h