Запрос функционала: оперативное освобождение ip-адресов

Предложения и запрос функционала
Ответить

Нужен-ли данный функционал?

Да
15
100%
Нет
0
Голосов нет
 
Всего голосов: 15

Аватара пользователя
marvin
Сообщения: 77
Зарегистрирован: Сб мар 24, 2007 11:18
Откуда: Нижняя Тура

Запрос функционала: оперативное освобождение ip-адресов

Сообщение marvin »

Предлагаю ввести системную переменную, управляющую освобождением динамически распределённых ip-адресов. Обозвать её, к примеру, dynaddr_free_ip_on_stop.

Значение по умолчанию - ноль (освобождать адрес непосредственно при новом распределении).

При dynaddr_free_ip_on_stop=1 - освобождать адрес непосредственно при получении accounting stop.


Суть проблемы: использую схему с прерыванием ppp-соединений методом запуска скрипта из rfw. При первом подключении, когда адрес не распределён, он распределяется, соединение устанавливается нормально. После отключения, при последующих попытках подключения на этот-же адрес (если он не успел перекочевать к другому пользователю) сначала выполняется команда rfw на отключающее правило, потом, практически мгновенно, на включающее. При использовании вместо правил файрвола скриптов, из-за асинхронности, возникает коллизия с отключением свежесозданного соединения (где-то в форуме проблема уже описывалась).

Полагаю, моё предложение не приведёт к потере совместимости и сколько-нибудь существенному снижению производительности, поскольку сводится к минимальному изменению кода модуля коммутируемых соединений.


P.S. Используемая конфигурация:

asp-linux 11.2; rp-pppoe-3.7; utm5-5.2.1-004;

правило включения: <нет>
правило отключения: UIP


radius.cfg:

radius_auth_vap=1
interim_update_interval=60
...

rfw5.cfg:

firewall_type=local
firewall_path=/netup/utm5/bin/ppp-down.sh
...

ppp-down.sh:

#!/bin/bash
USER_IP="$1"
PID_DIR=/var/run

test -z "$USER_IP" && exit 1
IF=`/sbin/ifconfig | grep -B 1 "${USER_IP} " | head -n1 | awk {'print $1'}`;
PID=`cat ${PID_DIR}/${IF}.pid 2>/dev/null`;
test -z "${PID}" && exit 1
kill -HUP ${PID};
exit 0;

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

угу, заодно правила для пользователя удалять, если правило прописалось

Аватара пользователя
marvin
Сообщения: 77
Зарегистрирован: Сб мар 24, 2007 11:18
Откуда: Нижняя Тура

Сообщение marvin »

mikkey finn писал(а):угу, заодно правила для пользователя удалять, если правило прописалось
У меня для диапазона динамических адресов прописаны правила

-A FORWARD -s 192.168.40.0/255.255.255.0 -i ppp+ -j ACCEPT
-A FORWARD -d 192.168.40.0/255.255.255.0 -o ppp+ -j ACCEPT

т.е. от манипулирования правилами я в данной схеме отказался.

skywing
Сообщения: 4
Зарегистрирован: Вс май 20, 2007 12:18

Сообщение skywing »

Да, это очень нужная фича.

Ответить