Jump to content
Калькуляторы

dnsmasq и выдача адресов через dhcp-relay agent как выдавать адреса с secondary диапазона на интерфейсе ?

Схема сети ip unnumbered. Если на loopback одна подсеть, то вроде всё работает, но допустим, что настало время добавить ещё одну подсеть в связи с исчерпанием первой. Добавляю как secondary, добавляю range в конфиг dnsmasq, запросы всёравно приходят от основного адреса loopback и dnsmasq не выдаёт ничего и ругается "no address range available for DHCP request via 192.168.20.1".

 

Пока конечно это стенд, собранный на столе. В качестве эксперимента я закомментировал в конфиге dnsmasq основной диапазон, т.к. не знаю, как сэмулировать переполнение этого основного диапазона.

 

Т.е. хотим, чтобы при исчерпании адресов из подсети 192.168.20.0/24 адреса начали выдаваться из следующей на интерфейсе 192.168.21.0/24 подсети. Ну и если что, то потом добавить другие подсети и необязательно подряд.

Т.е. пусть бы dnsmasq выдавал адреса из всех своих доступных диапазонов, как это можно сделать ?

 

!

interface Loopback20

ip address 192.168.21.1 255.255.255.0 secondary

ip address 192.168.20.1 255.255.255.0

no ip redirects

end

 

# dnsmasq.conf

interface=eth0.10

no-ping

port=0

#log-dhcp

log-async=20

log-facility=/tmp/dnsmasq.log

dhcp-hostsfile=/etc/dnsmasq/dnsmasq.hosts

dhcp-leasefile = /tmp/dnsmasq.lease

 

#dhcp-range=set:r20,192.168.20.2,192.168.20.253,255.255.255.0,12m

dhcp-range=set:r21,192.168.21.2,192.168.21.253,255.255.255.0,12m

 

#dhcp-option = tag:r20, option:router, 192.168.20.1

dhcp-option = tag:r21, option:router, 192.168.21.1

 

P.S. Опция "ip dhcp smart-relay" проблему как бы решает, но желаемого эффекта не даёт. Т.е. включенным клиентам надо давать адреса из одних сетей, отключенным за неуплату - из других, а смарт-релей продолжает "помнить" Gateway-IP успешно полученной лизы и потом всё время её шлёт. Т.е. смарт-релей так и работает, перебирает секондари адреса для пересылки dhcp запроса, а потом помнит. Хотелось бы решить проблему чисто на dnsmasq стороне.

Edited by wtyd

Share this post


Link to post
Share on other sites

1) а сеть \23 сделать не вариант?

2) что мешает вешать на разные лупбеки?

Share this post


Link to post
Share on other sites

1) а сеть \23 сделать не вариант?

2) что мешает вешать на разные лупбеки?

 

1) В общем случае на lo будет несколько блоков С реальных адресов для включенных клиентов, они вовсе не обязательно подряд будут идти. Так же там будет несколько серых "цешек" для отключенных зя неуплату клиентов. Ещё там будет серая цешка для незарегистрированных абонентов. Всем желательно быстро выдавать адрес. прям вот очень крайне желательно быстро, а то в случае со смарт-релеем ждать приходится, пока клиент несколько dhcp запросов пошлёт и цыска разродится на изменение атрибута шлюза -- чем больше блоков адресов на lo, тем медленнее этот смарт-релей будет отрабатывать.

 

2) Потому что хотим, чтобы отключенные и включенные абоненты были на одном lo :-). Чтобы вланы им не перекидывать, чтобы свичи доступа вообще не перенастраивать. Типа изоляция портов на доступе, влан на гирлянду свичей (на дом или на сколько-то последовательно включенных свичей) и такие вланы в ip unnumbered на один lo. На доступе только IPSG требуется.

 

... чё-то я размечтался похоже опять ... опять из-за какой-нибудь ерунды работать не будет ;-).

Share this post


Link to post
Share on other sites

2) Потому что хотим, чтобы отключенные и включенные абоненты были на одном lo :-). Чтобы вланы им не перекидывать, чтобы свичи доступа вообще не перенастраивать. Типа изоляция портов на доступе, влан на гирлянду свичей (на дом или на сколько-то последовательно включенных свичей) и такие вланы в ip unnumbered на один lo. На доступе только IPSG требуется.

 

я абсолютно не вижу принципиальной разницы между

int vlan 100
ip unnumbered loopback2

и

int vlan 100
ip unnumbered loopback3

и меняется так же довольно просто, просто закрепить вызов скрипта который на влане передаст новый лупбек, при изменение настроек DHCP сервера.

при этом не меняется влан, а меняется родительский намберед интерфейс.

зачем смарт релей? в чем преимущество? обычного релея недостаточно?

Edited by GrandPr1de

Share this post


Link to post
Share on other sites

2) Потому что хотим, чтобы отключенные и включенные абоненты были на одном lo :-). Чтобы вланы им не перекидывать, чтобы свичи доступа вообще не перенастраивать. Типа изоляция портов на доступе, влан на гирлянду свичей (на дом или на сколько-то последовательно включенных свичей) и такие вланы в ip unnumbered на один lo. На доступе только IPSG требуется.

 

я абсолютно не вижу принципиальной разницы между

int vlan 100
ip unnumbered loopback2

и

int vlan 100
ip unnumbered loopback3

и меняется так же довольно просто, просто закрепить вызов скрипта который на влане передаст новый лупбек, при изменение настроек DHCP сервера.

при этом не меняется влан, а меняется родительский намберед интерфейс.

зачем смарт релей? в чем преимущество? обычного релея недостаточно?

 

В схеме vlan-per-user -- да, но я рассматриваю другую схему, где в одном влане много юзеров - нельзя им всем менять лупбак.

Share this post


Link to post
Share on other sites

mac-vlan в помощь :)

 

Да не, всё получилось. Пришлось взять freeradius и запилить ему дверь dhcp :-). Выдаёт разную лизу и разные ойпи в зависимости отимени пула (unregistred, disabled, tarif1, tarif2 ...), старается выдавать те адреса, которые этому маку уже когда-то были выданы, не выпендривается в отличии от некоторых, т.е. всех остальных dhcp серверов, при наличии лизы. Пока что не совсем красиво получилось с его внутренней лизой, которую он в пул пишет -- хорошо бы её тоже менять, но с этим я может быть разберусь завтра ... ну и ещё на случай "кому-то выдавать статику" тоже надо подумать.

Share this post


Link to post
Share on other sites

Поищите на наге здесь перловый DHCP. Он как и радиус работает с БД, тоже должно быть довольно удобно.

А у себя использую isc-dhcp.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this