Здравствуйте!
Имеем FreeBSD 5.4, поставленный из портов PPTPD с нативным PPP(точнее exppp), радиус (freeradius)...Все работает на ура. но возникает 2 вопроса:
1. как получить ИП адрес пользователя, откуда он пришел (а не который получил - это не проблема). В какой переменной или чего там надо сделать?
2. вторично - как сказать в PPP, что ИП адреса надо получать от радиуса?Конфиг ППП:
===== ppp.conf ==========
loop:
set timeout 600000
set device localhost:pptp
set dial
set login
set ifaddr 192.168.5.1 192.168.5.2-192.168.5.254 255.255.255.255
set server /tmp/loop "" 0177pptp:
load loop
set timeout 600000
enable chap chap81
disable pap
set radius /etc/ppp/radius.conf
add proxy
enable proxy
accept dns
set dns 192.168.3.254
set nbns 192.168.3.55
set device !/etc/ppp/secure
enable MPPE
accept MPPE
set rad_service_type 11
set rad_alive 60
===================================================Заранее спасибо.
ЗЫ: man ppp читал, про радиус мало, про внешний ИП клиента - вообще ничего не нашел...
>Заранее спасибо.
>ЗЫ: man ppp читал, про радиус мало, про внешний ИП клиента -
>вообще ничего не нашел...
Я выдергивал айпи-шник скриптом /etc/ppp/ppp.linkup (A file to check when ppp establishes a network level connection.), множество переменных есть там интересных :)
>
>>Заранее спасибо.
>>ЗЫ: man ppp читал, про радиус мало, про внешний ИП клиента -
>>вообще ничего не нашел...
>
>
>Я выдергивал айпи-шник скриптом /etc/ppp/ppp.linkup (A file to check when ppp establishes
>a network level connection.), множество переменных есть там интересных :)Или типа того - путаю я юзер ппп и кернел ппп - сам глянь в мане все есть.
[root@k.com.ua] /usr/local/script/lib/:ps auxww | grep pptp
root 27850 0,0 0,4 2812 1836 ?? S 17:27 0:01,79 /usr/sbin/ppp -direct pptp
root 27849 0,0 0,1 996 724 ?? S 17:27 0:00,55 pptpctrl : pptpd [82.144.xxx.xxx:EDE3 - 0000] (pptpctrl)
root 732 0,0 0,1 916 652 ?? Is 13:19 0:00,05 /usr/local/sbin/pptpd /etc/ppp/options.pptpd
[root@k.com.ua] /usr/local/script/lib/:как ответ? Можно еще посмотерть логи radius, он очень хорошо все логирует. Но как по мне, то это быстрее
>
>[root@k.com.ua] /usr/local/script/lib/:ps auxww | grep pptp
> : pptpd [82.144.xxx.xxx:EDE3 - 0000]
>как ответ? Можно еще посмотерть логи radius, он очень хорошо все логирует.
>Но как по мне, то это быстреене... выше правильно посоветовали про ppp.linkup. мне надо сразу проверять, с наружи это подключились, или нет... вот только не могу найти в манах имя этой переменной, что бы ее подсунуть скрипту...
>>
>>[root@k.com.ua] /usr/local/script/lib/:ps auxww | grep pptp
>> : pptpd [82.144.xxx.xxx:EDE3 - 0000]
>>как ответ? Можно еще посмотерть логи radius, он очень хорошо все логирует.
>>Но как по мне, то это быстрее
>
>не... выше правильно посоветовали про ppp.linkup. мне надо сразу проверять, с наружи
>это подключились, или нет... вот только не могу найти в манах
>имя этой переменной, что бы ее подсунуть скрипту...Ну блин вы даете.... - делаем ppp.linkup шелывым скриптом который делает env > /tmp/1 и изучаем результат.
Значится так.
По умолчанию НЕТ накой фигулины в poptop+ppp, как внешний ИП (т.е. с которого пришли). Но лечится :)
Берем pptpd не ниже версии 1.2.3 (на момент написания в свеженких порта именно такая). Берем exppp http://nibs.net.ua/src/radpppd/exppp-0.2.5.1.tar.gz. Можно им заменить штатный ppp, можно не менять - по желанию. но в сарцах энтого exppp есть pptpctrl.patch (несовсем достоверный, видать для каких-то предыдущих версий pptpctrl, тама строчки немного смещены, но все рядышком). Собственно натравляем его и получаем еще одну переменную HISMACADDR, которая содержит внешний ИП.Теперь пошел с приколами по радиусу разгребаться :)
>Значится так.
>По умолчанию НЕТ накой фигулины в poptop+ppp, как внешний ИП (т.е. с
>которого пришли). Но лечится :)
>Берем pptpd не ниже версии 1.2.3 (на момент написания в свеженких порта
>именно такая). Берем exppp http://nibs.net.ua/src/radpppd/exppp-0.2.5.1.tar.gz. Можно им заменить штатный ppp, можно
>не менять - по желанию. но в сарцах энтого exppp есть
>pptpctrl.patch (несовсем достоверный, видать для каких-то предыдущих версий pptpctrl, тама строчки
>немного смещены, но все рядышком). Собственно натравляем его и получаем еще
>одну переменную HISMACADDR, которая содержит внешний ИП.
>
>Теперь пошел с приколами по радиусу разгребаться :)Pi..шь :) Контрольный pptp-процесс запускается с опцией адреса с которого коннект, оный процесс является папкой процесса ппп который запускает скрипт. Узнать эту опцию - плевое дело.
А менять сырцы кор-системы - действие на грани разумного!