Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: garik24 от 28 Мая 2011, 17:40:56



Название: nodhcp и regexp - серые адреса неплательщикам
Отправлено: garik24 от 28 Мая 2011, 17:40:56
Возникла необходимость выдавать неплательщикам серые айпи адреса, вместо белых, дабы было проще ограничить им доступ к бесплатным ресурсам сети, при этом оставив доступ к сереверу статистики.
Для этого хочу менять первые два октета айпи на серую подсеть, скажем 11.22.33.44 > 192.168.33.44.

Регулярные выражения, нечто вроде:
 echo 11.22.33.44 | awk -F\. '{print 192"."168"."$3"."$4}'
или
/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\./192\.168\.$3\.$4\./

Код:
# выдаем белые адреса, как обычно, тем у кого state=on
<filtr net='11.22.33.0/24' dopdata-_mac='^(?:[[:xdigit:]]{2}[-:]){5}[[:xdigit:]]{2}\$' state='^on\$'>
        host <lat_login> {
                                        hardware ethernet <dopdata-_mac>;
                                                        fixed-address <ip>;
                                                                }
                                        </filtr> \n
# меняем первые два октета ip на "192.168.", тем у кого state=off
 <filtr net='11.22.33.0/24' dopdata-_mac='^(?:[[:xdigit:]]{2}[-:]){5}[[:xdigit:]]{2}\$' state='^off\$'>
        host <lat_login> {
                                                hardware ethernet <dopdata-_mac>;
                                                fixed-address <Здесь регулярное выражение>;
                                                                 }
                                        </filtr> \n
Как вставить регулярное выражение в шаблон, чтобы оно отрабатывало в процессе генерации конфига для dhcpd?

Спасибо!


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: 0xbad0c0d3 от 28 Мая 2011, 17:57:21
В текущей вариации никак. Но организовать можно. за $ конечно


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: ser970 от 28 Мая 2011, 18:18:30
Как вставить регулярное выражение в шаблон, чтобы оно отрабатывало в процессе генерации конфига для dhcpd?

а что мешает написать скрип и его вызывать с помощью номаке в секции релоад?
там нет ограничений только фантазия


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: garik24 от 28 Мая 2011, 18:27:09
Можно еще генерить кусок конфига с неплательщиками чтоб было проще его обрабатывать regexp'ом и включать инклюдом в основной конфиг dhcpd.
/usr/local/etc/dhcpd.conf :
Цитировать
# dhcpd.conf
include "/usr/local/nodeny/dhcpd.conf";
include "/usr/local/nodeny/dhcpd.conf.include";


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: garik24 от 28 Мая 2011, 18:52:11
Либо можно создать дополнительное поле, например "Серый ip" в тех данных и генерить его значение на основании основного айпи скриптом периодически. Тоже костыль, но проще.

А шаблон использовать вида:

Цитировать
#выдаем белые адреса, как обычно, тем у кого state=on
<filtr net='11.22.33.0/24' dopdata-_mac='^(?:[[:xdigit:]]{2}[-:]){5}[[:xdigit:]]{2}\$' state='^on\$'>
        host <lat_login> {
                                        hardware ethernet <dopdata-_mac>;
                                                        fixed-address <ip>;
                                                                }
                                        </filtr> \n
#выдаем серые ip тем у кого state=off
 <filtr net='11.22.33.0/24' dopdata-_mac='^(?:[[:xdigit:]]{2}[-:]){5}[[:xdigit:]]{2}\$' <dopdata-_grey_ip>='^регулярное выражение проверки соответствия ip\$' state='^off\$'>
        host <lat_login> {
                                                hardware ethernet <dopdata-_mac>;
                                                fixed-address <dopdata-_grey_ip>;
                                                                 }
                                          </filtr> \n


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: 0xbad0c0d3 от 28 Мая 2011, 18:58:48
Если не нужно статических адресов, тех кто не платил то есть вариант в 100500 раз удобнее.
это shared network


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: garik24 от 28 Мая 2011, 19:12:08
Это, конечно, самый очевидный и простой вариант. Но проблема в том, что необходимо чтобы после пополнения счета клиент без передергивания порта и без перезагрузки компьютера в течении пары минут получал белый айпи. А с этим по словам коллег проблема.
Т.е. если я конкретно в конфиге выставляю соответствующий определенному маку серый айпи с минимальным временем лиза, а затем конфиг обновлю при пополненнии - то все ок(человек переполучает айпи и работает).
В случае с пулом адресов без указания конкретных маков  для серых адресов в конфиге при обновлении конфига с переполучением белого айпи вместо серого - затык. Сам не проверял. Выясню.


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: 0xbad0c0d3 от 28 Мая 2011, 19:17:04
Набор слов.
max-lease-time действует как на пулл так и на статику! так что не верь тому, что говорят ))
ставь листайм в 300 сек. в течении 5-и (максимум 5+) мин. тело переполучит адресс.


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: garik24 от 28 Мая 2011, 20:06:59
Имхо, такой вариант не пойдет т. к. сеть сегментирована. В ядре L3 свич с dhcp relay. Ему, конечно, по барабану какой айпи в какой сегмент релеить... по крайней мере простой схемы не вижу.


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: 0xbad0c0d3 от 28 Мая 2011, 22:21:56
И че?


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: garik24 от 31 Мая 2011, 23:37:56
И че?
Тролишь?
Нечего сказать по существу - проходи мимо.


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: garik24 от 01 Июня 2011, 05:36:23
Набор слов.
max-lease-time действует как на пулл так и на статику! так что не верь тому, что говорят ))
ставь листайм в 300 сек. в течении 5-и (максимум 5+) мин. тело переполучит адресс.

Сам то пробовал? Или это был "Набор слов"?
По существу:
Internet Systems Consortium DHCP Server V3.1.3
ISC-DHCP Server под Linux. Клиенты - Win 7, Linux.
Ip from dynamic address pool -> Static host declaration    - ok!
Static host declaration -> Static host declaration (Another ip, same MAC)    - ok!
Static host declaration -> Ip from dynamic address pool - ФигВам!


Название: Re: nodhcp и regexp - серые адреса неплательщикам
Отправлено: 0xbad0c0d3 от 01 Июня 2011, 07:42:20
У самого-то уже минимум год такая схема ;)