ppp.log
Причина - не создается запись в таблице маршрутизации для выдаваемого адреса, т.к. она уже создана (не была корректно удалена после разрыва соединения)Oct 8 05:55:26 ns ppp[81939]: Warning: iface add: ioctl(SIOCAIFADDR, 10.0.0.1 -> 10.0.0.10): File exists
Oct 8 05:55:26 ns ppp[81939]: Warning: iface add: ioctl(SIOCAIFADDR, 10.0.0.1 -> 10.0.0.10): File exists
Вручную решается так: route delete 10.0.0.10 (т.е. наш адрес из настроек пользователя)
костыли в скриптах linkup.ppp не спасают, т.к. скрипт запускается на стадию позже, чем добавление маршрута.
мне помогло такое решение: (не для rlm_perl)
в /usr/abills/rauth.pl после строки %RAD_REPLY (находите поиском. в 4.0rel версии это примерно 170 строка) вставляем вот такой кусок кода:
Код: Выделить всё
if (defined $RAD_REPLY{'Framed-IP-Address'}) {
my $framed_ip = $RAD_REPLY{'Framed-IP-Address'};
my $del_route = `sh -c "/sbin/route -v delete $framed_ip" >> /var/log/ppp_route.log`;
}
netstat -r #посмотреть список маршрутов
route get 10.0.0.0 #маршрут для конкретного адреса
/usr/local/sbin/radiusd -X #запуск Radiusd сервера в режиме мониторинга