URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92073
[ Назад ]

Исходное сообщение
"xl2tpd&pppd: как в ip-up скриптах определить имя пользователя?"

Отправлено vanessa , 06-Авг-11 22:36 
Настроил xl2tpd на сервере (debian) вписал в /etc/ppp/chap-secrets нескольких клиентов. Технически все работает, клиенты успешно подключаются, для них создаются pppX интерфейсы, пинги идут.... но вот нужно мне определить кто именно из chap-sectrets подключился?


файлы конфигурации сервера такике

/etc/xl2tpd/xl2tpd.conf

[global]
port = 1701
auth file = /etc/l2tpd/l2tp-secrets
access control = no
rand source = dev

[lns vanessa.org.ua]
exclusive = no
ip range = 192.168.10.2 - 192.168.10.12
lac = 0.0.0.0-255.255.255.255  здесь пишем каким адресам можно использовать наш сервер
hidden bit = no
local ip = 192.168.10.1
length bit = yes
require chap = yes
refuse pap = yes
refuse authentication = no
require authentication = no
name = vanessa.org.ua
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
flow bit = yes


файл /etc/ppp/options.l2tpd
mtu 1410
mru 1410
nodeflate
nobsdcomp
noproxyarp
lock
noauth


это мне нужно так как каждый подключенный клиент будет шлюзом в свою подсеть и если их как-то различать тогда в /etc/ip-up.d/ можно будет положить скрипт, который будет автматически прописывать маршруты к тем подсетям....


Содержание

Сообщения в этом обсуждении
"xl2tpd&pppd: как в ip-up скриптах определить имя пользователя?"
Отправлено XoRe , 08-Авг-11 00:16 
> Настроил xl2tpd на сервере (debian) вписал в /etc/ppp/chap-secrets нескольких клиентов.
> Технически все работает, клиенты успешно подключаются, для них создаются pppX интерфейсы,
> пинги идут.... но вот нужно мне определить кто именно из chap-sectrets
> подключился?

В ip-up передаются параметры:
#    Arg  Name                          Example
#    $1   Interface name                ppp0
#    $2   The tty                       ttyS1
#    $3   The link speed                38400
#    $4   Local IP number               12.34.56.78
#    $5   Peer  IP number               12.34.56.99
#    $6   Optional ``ipparam'' value    foo

Как вариант - через некий ipparam.
Ещё вариант - если у вас в chap-secrets четкая связь "юзер - внешний ip" или "юзер - внутренний ip", то по внешнему или внутреннему ip.


"xl2tpd&pppd: как в ip-up скриптах определить имя пользователя?"
Отправлено vanessa , 08-Авг-11 08:29 
>[оверквотинг удален]
>  12.34.56.78
> #    $5   Peer  IP number  
>            
>   12.34.56.99
> #    $6   Optional ``ipparam'' value  
>  foo
> Как вариант - через некий ipparam.
> Ещё вариант - если у вас в chap-secrets четкая связь "юзер -
> внешний ip" или "юзер - внутренний ip", то по внешнему или
> внутреннему ip.

Я более внимательно почитал мануал на pppd.... он должен выставлять переменную PEERNAME если аутентифицирует клиента. Начал копать в этом направлении и оказалост что оно у меня работает без аутентификации. Но если вписать в /etc/ppp/options.l2tpd вместо noauth auth то оно перестает работать, pppd говорит
/usr/sbin/pppd: The remote system is required to authenticate itself
/usr/sbin/pppd: but I couldn't find any suitable secret (password) for it to use to do so.
/usr/sbin/pppd: (None of the available passwords would let it use an IP address.)
хотя в /etc/ppp/chap-secrets на обоих компьютерах есть строчка такого вида
testuser * 123456