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

Главная категория => Разработка => Тема начата: stix от 12 Января 2012, 16:28:10



Название: nomake pf
Отправлено: stix от 12 Января 2012, 16:28:10
собрался делать pf.conf через nomake
binat через такую шляпу
Код:
<filtr dopdata-_realip='^([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$'>binat on em0 from <ip> to any -> <dopdata-_realip>
</filtr>
как насчет реализации выдачи реальных ip через шаблон доп.поля биллинга?


Название: Re: nomake pf
Отправлено: Redmen от 13 Января 2012, 09:59:05
Ето надо написать в 52 фичреквест +++


Название: Re: nomake pf
Отправлено: stix от 13 Января 2012, 13:46:32
Ето надо написать в 52 фичреквест +++

не, я уже сделал, все работает.

но смущает постоянный pf reload
бяки не будет?


Название: Re: nomake pf
Отправлено: smallcms от 13 Января 2012, 15:34:51
Может и будет, т.к. в релоаде прописан сбос (flush), считайте всех правил.
можно для начала обойтись pfctl -f (он же service pf resync).


Название: Re: nomake pf
Отправлено: stix от 13 Января 2012, 16:27:56
Может и будет, т.к. в релоаде прописан сбос (flush), считайте всех правил.
можно для начала обойтись pfctl -f (он же service pf resync).
сенкс, это я и имел ввиду


Название: Re: nomake pf
Отправлено: stix от 13 Января 2012, 16:38:15
Пример кому может пригодится nopf

Не забудьте создать дополнительное поле в шаблоне "Технические данные".

Например:
Название поля: [13]Реальный-адрес
Алиас: _realip
Тип поля: строковое однострочное
допускается пустое значение
убирать все пробелы

регулярное выражение:
Код:
^\d+\.\d+\.\d+\.\d+$

з.ы.в теле скрипта использую другое регулярное выражение.
^([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

Код:
<file>/etc/pf.conf</file>
<template>1</template>
<reload>/sbin/pfctl -f /etc/pf.conf</reload>
set limit states 128000
set optimization aggressive
int_if="em1"
ext_if="em0"
nat1="46.75.2.161"
nat2="46.75.2.162"
nat3="46.75.2.163"
nat4="46.75.2.164"
nat5="46.75.2.165"
nat6="46.75.2.166"
nat7="46.75.2.167"

table <localnet1> const {192.168.96.0/19}
table <localnet2> const {192.168.128.0/19}
table <localnet3> const {192.168.160.0/19}

scrub in all

<filtr dopdata-_realip='^([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$'>binat on em0 fro
</filtr>
no nat from 192.168.0.0/16 to 46.75.2.0/24
nat on $ext_if from <localnet1> to any -> $nat2
nat on $ext_if from <localnet2> to any -> $nat3
nat on $ext_if from <localnet3> to any -> $nat4

Тему можно перенести в Разработку


Название: Re: nomake pf
Отправлено: stix от 21 Января 2012, 23:17:07
я вот думаю создать в настройках пункт - список реальных ip:
допустим даже не сеть: 195.5.55.0/27, а пусть каждый перечислю как /32
195.5.55.1
195.5.55.2
195.5.55.3
и.т.д.
они же будут хранится в sql в трех полях
id,realip,status
в поле статус будет хранится true || false

в технических данных будет выпадающий список из свободных ip

какие проблемы могут обломать меня?


Название: Re: nomake pf
Отправлено: stix от 21 Января 2012, 23:35:08
впринципе сделать так:

Код:
CREATE TABLE IF NOT EXISTS `p_realip` (
  `id` int(11) NOT NULL auto_increment,
  `realip` tinytext NOT NULL,
  `status` mediumint(9) NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=0 ;
настройка шаблонов
Алиас -
Код:
p_realip:id:realip
осталось реализовать, чтобы не отображались те, у которых статус 1 (true)
ну и для кавайности сделать аналог o_str.pl


Название: Re: nomake pf
Отправлено: ser970 от 22 Января 2012, 00:11:15
я вот думаю создать в настройках пункт - список реальных ip:
допустим даже не сеть: 195.5.55.0/27, а пусть каждый перечислю как /32
195.5.55.1
195.5.55.2
195.5.55.3
и.т.д.
они же будут хранится в sql в трех полях
id,realip,status
в поле статус будет хранится true || false

в технических данных будет выпадающий список из свободных ip

какие проблемы могут обломать меня?

апи для общего ната.
нужно скажем апи на дом или подсеть
их тоже както надо пометить ну и прочее.

з.ы. у меня этому модулю уже больше года. в неск.ольких вариациях (для нескольких сетей)


Название: Re: nomake pf
Отправлено: stix от 22 Января 2012, 00:25:50
я вот думаю создать в настройках пункт - список реальных ip:
допустим даже не сеть: 195.5.55.0/27, а пусть каждый перечислю как /32
195.5.55.1
195.5.55.2
195.5.55.3
и.т.д.
они же будут хранится в sql в трех полях
id,realip,status
в поле статус будет хранится true || false

в технических данных будет выпадающий список из свободных ip

какие проблемы могут обломать меня?

апи для общего ната.
нужно скажем апи на дом или подсеть
их тоже както надо пометить ну и прочее.

з.ы. у меня этому модулю уже больше года. в неск.ольких вариациях (для нескольких сетей)
на роутере с этим проблем нет, правила зеркалируются на все роутеры, а т.к. Ip уникальные, то проблем не испытываю с натом.
хотя с февраля на 6500 циске все буду мудрить.

пока трабла с выводом в тех данных информации учитывая статус, не хочется кардинально пилить логику выборки из шаблонов