Изменения в manad для работы с одним pipe на множество IP адресов

Материал из BiTel WiKi

Перейти к: навигация, поиск

В версии 4.4 для клиентов, имеющих анлимитный тариф и некоторое количество адресов использовались персональные наборы правил для ipfw. Появление конструкции LOOP в 4.5 проблемы тоже не решило, так как биллинг продолжал генерировать новые номера pipe для каждой итерации.

После изменения в manad:

while ( $rule =~ /\{P([0-9]+)\}/ )
на
while ( $rule =~ /\{P([AB0-9]+)\}/ )

и

while ( $rule =~ /\{N([0-9]+)\}/ )
на
while ( $rule =~ /\{N([AB0-9]+)\}/ )

Стала возможна конструкция:

pipe {PA} config bw ${speed}
pipe {PB} config bw ${speed}
<LOOP>
add {NA} pipe {PA} ip from any to {A}
add {NA} pipe {PB} ip from {A} to any
</LOOP>

позволяющая автоматически получать один pipe на произвольное количество адресов и один номер правила ipfw на все адреса.

Личные инструменты