mpd 4.3, ipn и static ip

Ответить
Turbid
Сообщения: 91
Зарегистрирован: Пт мар 21, 2008 10:54 am

mpd 4.3, ipn и static ip

Сообщение Turbid »

Cитуация такая: У меня 1 NAS - mpd4 с External Accounting: IPN и IP POOL 192.168.252.1-192.168.255.253. Есть один пользователь с прописанным в / Клиенты/ Логины/ Информация/ Сервисы/ Dialup / VPN/ для него ip: 192.168.252.13. Но при подключении этот пользователь получает ip 192.168.252.0:

Код: Выделить всё

#radiusd -x
Starting - reading configuration files ...
Using deprecated naslist file.  Support for this will go away soon.
Module: Loaded exec
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded PAP
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
Module: Loaded MS-CHAP
Module: Instantiated mschap (mschap)
Module: Loaded System
Module: Instantiated unix (unix)
Module: Loaded eap
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
rlm_eap: Loaded and initialized type gtc
rlm_eap: Loaded and initialized type mschapv2
Module: Instantiated eap (eap)
Module: Loaded preprocess
Module: Instantiated preprocess (preprocess)
Module: Instantiated exec (pre_auth)
Module: Loaded realm
Module: Instantiated realm (suffix)
Module: Loaded files
Module: Instantiated files (files)
Module: Loaded Acct-Unique-Session-Id
Module: Instantiated acct_unique (acct_unique)
Module: Loaded detail
Module: Instantiated detail (detail)
Module: Loaded radutmp
Module: Instantiated radutmp (radutmp)
Module: Instantiated exec (post_auth)
Initializing the thread pool...
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
rad_recv: Access-Request packet from host 127.0.0.1:65505, id=29, length=182
        NAS-Identifier = "su.uss.ru"
        NAS-IP-Address = 127.0.0.1
        Message-Authenticator = 0xcb29b150c34c4130d9a8303e219c0af5
        NAS-Port = 0
        NAS-Port-Type = Virtual
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Calling-Station-Id = "192.168.1.101"
        User-Name = "test"
        MS-CHAP-Challenge = 0xbb1e684f10625e573d1e775052b79da8
        MS-CHAP2-Response = 0x0100710fe6ccee260ea839ca19ac5fc27e40000000000000000002bafcd39625ec4017045599ea79e8f2ae59588f84c5577f
Exec-Program-Wait: value-pairs: User-Password == "testpass"
Exec-Program: returned: 0
Exec-Program-Wait: plaintext: Session-Timeout = 604800, MS-MPPE-Encryption-Types = 0x00000006, Session-Octets-Limit = 0, MS-CHAP2-SUCCESS = 0x01533d31413844414630393935413134453232323242453533424236344339364445343441443942363643, MS-MPPE-Encryption-Policy = 0x00000001, Acct-Interim-Interval = 60, Framed-IP-Address = 192.168.252.13, Framed-IP-Netmask = 255.255.255.255,
Exec-Program: returned: 0
Sending Access-Accept of id 29 to 127.0.0.1 port 65505
        MS-CHAP2-Success = 0x01533d31413844414630393935413134453232323242453533424236344339364445343441443942363643
        MS-MPPE-Recv-Key = 0xd5d40d08ef0d3e24b7c053f694beb8c4
        MS-MPPE-Send-Key = 0xa42291a963e513d4f3266b5165e16c59
        MS-MPPE-Encryption-Policy = 0x00000001
        MS-MPPE-Encryption-Types = 0x00000006
rad_recv: Accounting-Request packet from host 127.0.0.1:55205, id=152, length=136
        NAS-Identifier = "su.uss.ru"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
        NAS-Port-Type = Virtual
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Calling-Station-Id = "192.168.1.101"
        Acct-Status-Type = Start
        Framed-IP-Address = 192.168.252.0
        User-Name = "test"
        Acct-Session-Id = "2946182-pptp0"
        Acct-Multi-Session-Id = "2946182-pptp0"
        Acct-Link-Count = 1
        Acct-Authentic = RADIUS
Sending Accounting-Response of id 152 to 127.0.0.1 port 55205
config.pl:

Код: Выделить всё

$conf{IPN_DETAIL}=1;
$conf{IPN_STATIC_IP}=1;
$conf{UNKNOWN_IP_LOG}=1;
$conf{IPN_DETAIL_CLEAN_PERIOD}=90;
$conf{IPN_DEPOSIT_OPERATION}=1;
mpd.conf:

Код: Выделить всё

#cat /usr/local/etc/mpd4/mpd.conf
startup:
    # enable TCP-Wrapper (hosts_access(5)) to block unfriendly clients
    set global enable tcp-wrapper
    # configure the console
    set console port 5005
    set console ip 127.0.0.1
    set console user admin secretpass
    set console open
    #Netflow options
    set netflow export 127.0.0.1 9996
    set netflow source 127.0.0.1 9990
    #set netflow timeouts inactive active
    #set netflow node nodename

#Radius Config
radius:
    set radius config /etc/radius.conf
    set radius retries 3
    set radius timeout 3
    set radius me 127.0.0.1
    set auth acct-update 300
    set auth enable radius-auth
    set auth enable radius-acct
    set bundle enable compression
    set ccp yes mppc
    set ccp enable mppe-policy
    set radius enable message-authentic

default:
    load pptp0
    load pptp1

pptp0:
    new -n -i ng0 pptp0 pptp0
    load pptp
pptp1:
    new -i ng1 pptp1 pptp1
    load pptp

#Incoming PPTP link config
pptp:
#        new -i ng0 pptp pptp
    set iface disable on-demand
    #set iface enable proxy-arp
    set iface idle 1800
    set iface enable tcpmssfix
    set bundle enable multilink

# use RADIUS servers
    load radius
    set link yes acfcomp protocomp
    set link no pap chap
    set link enable chap
    set link keep-alive 10 60
    set link mtu 1460
    set ipcp yes vjcomp
    set ipcp ranges 192.168.255.254/32 192.168.252.0/22
    set ipcp dns 192.168.1.2
    #set ipcp nbns 192.168.1.4

#
# The five lines below enable Microsoft Point-to-Point encryption (MPPE) using
# the ng_mppc(8) netgraph node type.
#
    set bundle enable compression
    set ccp yes mppc
    set ccp yes mpp-e40
    set ccp yes mpp-e128
    set ccp yes mpp-stateless
    set pptp self 192.168.1.3
    set pptp enable incoming
    set pptp disable originate
    set pptp disable windowing
По совету run добавил словарь:

Код: Выделить всё

#cat /usr/local/etc/raddb/dictionary | grep mpd
$INCLUDE        /usr/local/etc/mpd4/dictionary.mpd

Код: Выделить всё

/usr/local/etc/raddb/>cat /usr/local/etc/mpd4/dictionary.mpd
#----------------------------------------------------------
# dictionary.mpd

VENDOR          mpd             12341

ATTRIBUTE       mpd-rule        1       string          mpd
ATTRIBUTE       mpd-pipe        2       string          mpd
ATTRIBUTE       mpd-queue       3       string          mpd
ATTRIBUTE       mpd-table       4       string          mpd
ATTRIBUTE       mpd-table-static       5       string          mpd
ATTRIBUTE       mpd-filter      6       string          mpd
ATTRIBUTE       mpd-limit       7       string          mpd
ATTRIBUTE       mpd-drop-user   154     integer         mpd
#----------------------------------------------------------
- это взято отсюда. Но ничего не изменилось - лог радиуса тотже :(

p.s. Не знаю, связано ли это, но также пользователи не реагируют на hangup из веба.

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

так мабуть нужен ишо и словарь, в котором прописано усё ватета:

Код: Выделить всё

Exec-Program-Wait: plaintext: Session-Timeout = 604800, MS-MPPE-Encryption-Types = 0x00000006, Session-Octets-Limit = 0, MS-CHAP2-SUCCESS = 0x01533d31413844414630393935413134453232323242453533424236344339364445343441443942363643, MS-MPPE-Encryption-Policy = 0x00000001, Acct-Interim-Interval = 60, [b]Framed-IP-Address = 192.168.252.13, [/b]Framed-IP-Netmask = 255.255.255.255,
то бишь

Session-Timeout
Session-Octets-Limit
Acct-Interim-Interval

и вот тогда (может быть ;) ) Program-Wait: plaintext: сменит гнев на милость и станет Program-Wait: value-pairs:

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

p.s. Не знаю, связано ли это, но также пользователи не реагируют на hangup из веба.
конечно связано... хангап по ипу делается :)

Turbid
Сообщения: 91
Зарегистрирован: Пт мар 21, 2008 10:54 am

Сообщение Turbid »

run, в очередной раз большое спасибо! :)

добавил следующие строчки в /usr/local/etc/raddb/dictionary:

Код: Выделить всё

ATTRIBUTE       Session-Timeout         27      integer
ATTRIBUTE       Acct-Interim-Interval   85      integer
ATTRIBUTE       Session-Octets-Limit    227     integer
теперь лог радиуса выглядит так:

Код: Выделить всё

#radiusd -x
Starting - reading configuration files ...
Using deprecated naslist file.  Support for this will go away soon.
Module: Loaded exec
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded PAP
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
Module: Loaded MS-CHAP
Module: Instantiated mschap (mschap)
Module: Loaded System
Module: Instantiated unix (unix)
Module: Loaded eap
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
rlm_eap: Loaded and initialized type gtc
rlm_eap: Loaded and initialized type mschapv2
Module: Instantiated eap (eap)
Module: Loaded preprocess
Module: Instantiated preprocess (preprocess)
Module: Instantiated exec (pre_auth)
Module: Loaded realm
Module: Instantiated realm (suffix)
Module: Loaded files
Module: Instantiated files (files)
Module: Loaded Acct-Unique-Session-Id
Module: Instantiated acct_unique (acct_unique)
Module: Loaded detail
Module: Instantiated detail (detail)
Module: Loaded radutmp
Module: Instantiated radutmp (radutmp)
Module: Instantiated exec (post_auth)
Initializing the thread pool...
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
rad_recv: Access-Request packet from host 127.0.0.1:58571, id=165, length=182
        NAS-Identifier = "su.uss.ru"
        NAS-IP-Address = 127.0.0.1
        Message-Authenticator = 0x361aace89b176e3c50407e186889e0fc
        NAS-Port = 0
        NAS-Port-Type = Virtual
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Calling-Station-Id = "192.168.1.101"
        User-Name = "test"
        MS-CHAP-Challenge = 0xbb1e682b4e0b4482deb357d28748f222
        MS-CHAP2-Response = 0x0100332e3479dbb628b8dd3d9e29857b15dc000000000000000079797735e02dc03263a68af897522aa34ac8d56d1c08e492
Exec-Program-Wait: value-pairs: User-Password == "testpass"
Exec-Program: returned: 0
Exec-Program-Wait: value-pairs: Session-Timeout = 604800, MS-MPPE-Encryption-Types = 0x00000006, Session-Octets-Limit = 0, MS-CHAP2-SUCCESS = 0x01533d32384442424236433330343630343641383744394438374135374532333743464337383432423030, MS-MPPE-Encryption-Policy = 0x00000001, Acct-Interim-Interval = 60, Framed-IP-Address = 192.168.252.13, Framed-IP-Netmask = 255.255.255.255,
Exec-Program: returned: 0
Sending Access-Accept of id 165 to 127.0.0.1 port 58571
        MS-CHAP2-Success = 0x01533d32384442424236433330343630343641383744394438374135374532333743464337383432423030
        MS-MPPE-Recv-Key = 0xbc70d971a58653a5c30926ebba33355b
        MS-MPPE-Send-Key = 0x969027908821305bdeffd3442a9eeab6
        MS-MPPE-Encryption-Policy = 0x00000001
        MS-MPPE-Encryption-Types = 0x00000006
        Session-Timeout = 604800
        Session-Octets-Limit = 0
        Acct-Interim-Interval = 60
        Framed-IP-Address = 192.168.252.13
        Framed-IP-Netmask = 255.255.255.255
rad_recv: Accounting-Request packet from host 127.0.0.1:57452, id=52, length=142
        NAS-Identifier = "su.uss.ru"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
        NAS-Port-Type = Virtual
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Calling-Station-Id = "192.168.1.101"
        Acct-Status-Type = Start
        Framed-IP-Address = 192.168.252.13
        Framed-IP-Netmask = 255.255.255.255
        User-Name = "test"
        Acct-Session-Id = "3280444-pptp0"
        Acct-Multi-Session-Id = "3280444-pptp0"
        Acct-Link-Count = 1
        Acct-Authentic = RADIUS
Sending Accounting-Response of id 52 to 127.0.0.1 port 57452
Вроде и Exec-Program-Wait стал value-pairs, ip-шник выдается тот что нужен. А вот через хенгап ничего не происходит, админка после нажатия Hangup выглядит так.

Куда копать? Где логи почитать почему не срослось?

p.s. то что User-Password == "testpass" передается здесь в открытом виде - это нормально?

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Сообщение NiTr0 »

Turbid писал(а):А вот через хенгап ничего не происходит, админка после нажатия Hangup выглядит так.
А при чем хэнгап к радиусу? :shock:
Радиус-клиент сам порвет соединение по истечении лимита трафа/времени (с небольшой оверквотой), а хэнгап по требованию - реализуется сторонними скриптами...

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

А вот через хенгап ничего не происходит
ну... видимо все внешние тулзы, которые вызываются из abills/Abills/nas.pl (и к которым там прописаны явно абсолютные пути) должны и быть там где ему хочется их видеть :D или там где ему хочется их видеть должны быть симлинки на туда где они на самом деле ;)

ващет это не только нас.пл касается :D

Ответить