Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: skol от 20 Июля 2009, 13:27:02



Название: Авторизатор + pptp
Отправлено: skol от 20 Июля 2009, 13:27:02
   Доброе время  суток.
Подскажите имеется ли  возможность одновремено  использовать программу авторизатор   и  авторизацию  pptp ? Часть  клиентов будет  авторизоваться  через  vpn, часть  использую программу авторизатор
  ЗЫ  сильно не  пинайте если не  внимательно  читал  документацию ?


Название: Re: Авторизатор + pptp
Отправлено: Maks от 20 Июля 2009, 13:44:31
Можно, у меня так и работает.

У меня вот вопрос, возможно ли чтоб абоны конектились по PPPoE на Фрю, и в авторизаторе могли смотреть свой трафик.
Авторизация проходит по PPPoe а авторизатор только выводил остаток на щету.


Название: Re: Авторизатор + pptp
Отправлено: skol от 20 Июля 2009, 13:55:25
Можно, у меня так и работает.

У меня вот вопрос, возможно ли чтоб абоны конектились по PPPoE на Фрю, и в авторизаторе могли смотреть свой трафик.
Авторизация проходит по PPPoe а авторизатор только выводил остаток на щету.
Насчет  остатка не  знаю   - только начал  разбираться  с биллингом  -  оч  мощная  штука
Я правильно  понял  -  просто   поднимаем  radius + mpd4 как в  указанов  доке ? 
Никаких  шаманств не потребовалось ? 

Да  еше  при  заведении  нового   пользователя   есть  какие  то  спец  опции  указывающие на  авторизацию  через  ВПН  ?  или  нет


Название: Re: Авторизатор + pptp
Отправлено: Maks от 20 Июля 2009, 14:02:06
Связка radius + mpd5 как в доке. Прописал модуль авторизации для PPPoE в автозагрузку.
Вот и все. если не уберать модуль go_nol2auth.sh то авторизация через ключ работает

Дополнительных опций не нужно. IP логин и пас клиенту ты пишет. вот и все что нужно.


Название: Re: Авторизатор + pptp
Отправлено: skol от 20 Июля 2009, 14:08:47
Связка radius + mpd5 как в доке. Прописал модуль авторизации для PPPoE в автозагрузку.
Вот и все. если не уберать модуль go_nol2auth.sh то авторизация через ключ работает

Дополнительных опций не нужно. IP логин и пас клиенту ты пишет. вот и все что нужно.


Что есть  модуль авторизации ??? для  PPPoE  ?
Maks можно  подробней  
Заранее спасибо  ::)


UPD нашел в 49.19   в 49.17   в поставке  таких  скриптов  нет
получается  надо  еше   обновитсяч  до  49.19   


Название: Re: Авторизатор + pptp
Отправлено: Maks от 20 Июля 2009, 14:27:10
это тебе поможет.
http://nodeny49.googlecode.com/svn/trunk/satellites/go_pppoe.sh
 
интересно что ты  в /usr/local/etc/rc.d/nodeny для запуска модуля nopppoe.pl писал


Название: Re: Авторизатор + pptp
Отправлено: skol от 20 Июля 2009, 14:36:13
 Пока ничего   не  писал 
На  данный  момент  обновился  с  49.17  на  49.19      десяток  тесовых  юзеров 
с  авторизатором  никаких  проблем не  возникло

сейчас  настриваю авт-цию по vpn 

везде PPPoE  а  мне  надо  pptp !!!  такое возможно   
мы  друг  друга правильно поняли ?


Название: Re: Авторизатор + pptp
Отправлено: versus от 20 Июля 2009, 14:40:50
mpd сервер может работать как в режиме пппое сервера, так и в режиме впн.
Настройка тривиальна, описана например на опеннет ру. Единственное надо помнить что в нем обязательно надо прописать связку с радиусом.


Название: Re: Авторизатор + pptp
Отправлено: Efendy от 20 Июля 2009, 15:54:47
Разъясню по поводу авторизации. Слегка избыточно, но будет понятно. Авторизация - это (в терминах NoDeny) средство, которое, гарантирует, что с данными сетевыми параметрами в сети присутствует легальный абонент.

В случае с авторизатором (либо DCHP) у нас любой абонент может выставить чужой ip адрес. Авторизатор защищает от такой ситуации. Вернее, запретить установить чужой ip он не может, зато может не давать доступ в интернет таким жуликам. Что делает авторизатор: он каждые (примерно) 40 секунд связывается с сервером авторизации и по шифрованному протоколу сообщает свои параметры (пароль или логин/пароль). Если произойдет обрыв связи, то сервер не дождавшись реавторизации, отключит клиента по таймауту. Бонусом в протокол авторизации включена передача состояния счета, трафика и т.д.

С случае с pppoe или vpn ситуация несколько другая. Если сессия поднята - значит данные уже легальны, никакого авторизатора не нужно - пароль был проверен на этапе поднятия сессии. Однако, ничто не совершенно и бывает сессии зависают. Поэтому совсем кстати оказался механизм реавторизации 40 секунд. Который по таймауту блокирует зависшие сессии. Вот только реавторизацию делает не авторизатор, а Радиус сервер.

В принципе запустить авторизатор поверх pppoe или vpn  - можно. Только предварительно его (nol2auth.pl) надо кастрировать в месте, где он записывает в базу событие авторизации. Если это надо - могу сделать. Ломать не строить)


Название: Re: Авторизатор + pptp
Отправлено: Maks от 20 Июля 2009, 23:01:25
Надо, и я думаю меня другие потдержат. Таким образом абоненты смогут контролировать состояния трафика онлайн.

У меня сеть не большая и наживатся на перерасходах я не хочу. И выслушивать что я случайно, не заметил... тоже не сильно хочется.
Хочется чтоб люди выдели и платили за то что использовали. Таким образом сервис выше.


Название: Re: Авторизатор + pptp
Отправлено: skol от 22 Июля 2009, 11:07:11
   Авторизация по впн  происходит :) 
Кто  подскажет  как  правильно теперь  предоставлять   доступ  в инет ?  firewall + nopppoe.pl 
не  совсем   понимаю :(   
как выглядит схема  ?  проверка имени+пароля  - радиус отдает ip адрес - дальше ? 
Заранее спасибо 


Название: Re: Авторизатор + pptp
Отправлено: versus от 22 Июля 2009, 13:38:00
дальше ядро видит авторизованного человека и добавляет правила в файрвол. проходит вачдог от радиуса, подтверждающий авторизацию, ядро все еще держит человека в онлайн. Человек откючился, ядро его отключило. Правила для ипа удаляются.


Название: Re: Авторизатор + pptp
Отправлено: skol от 24 Июля 2009, 11:10:13
  Вроде  все  заработало  ))) но   появилась новая проблема
не  считается  входящий траф клиентов  авторизованных  по pptp   ???

есть сервер с NoDeny - по локальной сети 10.0.0.1 все  ОК - авторизация по L2
есть сетевая  смотрит  в другую  сеть  10.10.4.1   клиент 10.10.4.8 к примеру   проходит авторизацию по pptp ему  выдается  адрес  назначенный  в базе - инет работает 

но траф  в биллинге  показывает только исходящий
понимаю что  где-то  траф не попадает под  правила divert.
Собственно  как правильно организовать правила ??? ведь пакеты клиента ходят через  поднятую ng ноду 

настраивал все  по  доке -  замена  только ip и netmask на  свои



Название: Re: Авторизатор + pptp
Отправлено: tramX от 29 Июля 2009, 14:33:46
У меня проблема с pptp такая. Настроил mpd5 прописал пользователя в mpd.secret с отключенным ipfw авторизируется все ок. Включаю ipfw доходит до проверки логина и пароля и выдает ошибку. В ipfw добавил правила
${f} add 40 allow tcp from any to me 1723
${f} add 41 allow tcp from me 1723 to any
Что еще нужно зделать?


Название: Re: Авторизатор + pptp
Отправлено: elite от 29 Июля 2009, 14:54:51
У меня проблема с pptp такая. Настроил mpd5 прописал пользователя в mpd.secret с отключенным ipfw авторизируется все ок. Включаю ipfw доходит до проверки логина и пароля и выдает ошибку. В ipfw добавил правила
${f} add 40 allow tcp from any to me 1723
${f} add 41 allow tcp from me 1723 to any
Что еще нужно зделать?
gre разрешил? )


Название: Re: Авторизатор + pptp
Отправлено: tramX от 30 Июля 2009, 00:54:28
Как это проверить и если нет то как разрешить?


Название: Re: Авторизатор + pptp
Отправлено: tramX от 01 Августа 2009, 12:52:32
Вы думаете дело в gre. С отключенным IPFW отлично подключается.


Название: Re: Авторизатор + pptp
Отправлено: ankos от 03 Августа 2009, 08:20:16
Вы думаете дело в gre. С отключенным IPFW отлично подключается.
Так в IPFW и нужно разрешит gre протокол, без него РРtP неработает!!!


Название: Re: Авторизатор + pptp
Отправлено: skol от 03 Августа 2009, 10:14:54
да надо  разрешить gre протокол - сам  наткнулся  на это

вообще  чтобы  исключить фаерволл   - делаю 1 правило pass all any to any и тогда  смотрю


Название: Re: Авторизатор + pptp
Отправлено: tramX от 10 Августа 2009, 02:53:53
Вот такой mpd.conf

#--- mpd5 config

startup:
<------>set user admin pass admin
#<----->set user foo1 bar1
<------>set console self 127.0.0.1 5005
<------>set console open
<------>set web self 10.1.1.200 5006
<------>set web open

default:
<------>load pptp_server

pptp_server:
<------>set ippool add pool1 192.168.1.50 192.168.1.99
<------>create bundle template B
#<----->set iface enable proxy-arp
<------>set iface idle 1800
<------>set iface enable tcpmssfix
<------>set ipcp yes vjcomp
<------>set ipcp ranges 172.16.1.1/32 ippool pool1
<------>set ipcp dns 10.1.1.6
#<----->set ipcp nbns 192.168.1.4
<------>set bundle enable compression
<------>set ccp yes mppc
#<----->set mppc yes e40
<------>set mppc yes e128
<------>set mppc yes stateless
<------>create link template L pptp
<------>set link action bundle B
<------>set link enable multilink
<------>set link yes acfcomp protocomp
<------>set link no pap chap
<------>set link enable chap
<------>load radius
<------>set link keep-alive 10 60
<------>set link mtu 1460
#<------>set pptp self 1.2.3.4
<------>set link enable incoming

radius:
#<----->set radius config /usr/local/etc/mpd5/radius.conf
<------>set radius server localhost testing123 1812 1813
<------>set radius retries 3
<------>set radius timeout 3
<------>set radius me 127.0.0.1
<------>set auth acct-update 60
<------>set auth enable radius-auth
<------>set auth enable radius-acct
<------>set radius enable message-authentic

авторизация проходит по логину и паролю пользователя в билинге, но адрес выдается не тот что в билинге а из set ippool add pool1 192.168.1.50 192.168.1.99. Что нужно исправить?


Название: Re: Авторизатор + pptp
Отправлено: Efendy от 10 Августа 2009, 09:31:36
Когда radtest делаешь, ip выдает в ответе?


Название: Re: Авторизатор + pptp
Отправлено: tramX от 10 Августа 2009, 11:33:45
нет
nodeny# radtest user 1q2w3e 127.0.0.1 0 hardpass5
Sending Access-Request of id 94 to 127.0.0.1 port 1812
        User-Name = "user"
        User-Password = "1q2w3e"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=94, length=20


Название: Re: Авторизатор + pptp
Отправлено: Efendy от 10 Августа 2009, 14:30:07
в файле /usr/local/etc/raddb/users закомментируй строку:
Framed-IP-Address = 255.255.255.254


Название: Re: Авторизатор + pptp
Отправлено: tramX от 10 Августа 2009, 20:19:26
Она и была закомментирована. Я радиус по документации NODENY настраивал. И сразу radtest выдавал нужный IP


Название: Re: Авторизатор + pptp
Отправлено: tramX от 10 Августа 2009, 22:20:05
Что то перемудрил с настройками. Все заново по документации сделал работает.
Вот такой mpd.conf теперь получился чтоб был и PPTP и PPPOE серверы. Аторизация проходит и по PPTP и по PPPOE. Скажите правильный конфиг или нужно что то подправить?
#--- mpd5 config

startup:
<------>set user admin pass admin
#<----->set user foo1 bar1
<------>set console self 127.0.0.1 5005
<------>set console open
<------>set web self 10.1.1.200 5006
<------>set web open

default:
load pptp_server
load pppoe_server


pptp_server:
<------>set ippool add pool1 192.168.1.50 192.168.1.99
<------>create bundle template B
#<----->set iface enable proxy-arp
<------>set iface idle 1800
<------>set iface enable tcpmssfix
<------>set ipcp yes vjcomp
<------>set ipcp ranges 172.16.1.1/32 ippool pool1
<------>set ipcp dns 10.1.1.6
#<----->set ipcp nbns 192.168.1.4
<------>set bundle enable compression
<------>set ccp yes mppc
#<----->set mppc yes e40
<------>set mppc yes e128
<------>set mppc yes stateless
<------>create link template L pptp
<------>set link action bundle B
<------>set link enable multilink
<------>set link yes acfcomp protocomp
<------>set link no pap chap
<------>set link enable chap
<------>load radius
<------>set link keep-alive 10 60
<------>set link mtu 1460
#<------>set pptp self 1.2.3.4
<------>set link enable incoming

pppoe_server:

        create bundle template B
        set ipcp ranges 1.2.3.4/32 127.0.0.2/32
   set ipcp dns 10.1.1.1
   set ccp yes mppc
   set mppc yes e40
   set mppc yes e56
   set mppc yes e128
   set mppc yes stateless
   set ecp disable dese-bis dese-old

        create link template common pppoe
        set link enable multilink
        set link action bundle B
        set link disable chap pap eap
        set link enable pap
        load radius
        set pppoe service "*"

        create link template em1 common
        set link max-children 1000
        set pppoe iface em1
        set link enable incoming


radius:
#<----->set radius config /usr/local/etc/mpd5/radius.conf
<------>set radius server localhost testing123 1812 1813
<------>set radius retries 3
<------>set radius timeout 3
<------>set radius me 127.0.0.1
<------>set auth acct-update 60
<------>set auth enable radius-auth
<------>set auth enable radius-acct
<------>set radius enable message-authentic


Название: Re: Авторизатор + pptp
Отправлено: tramX от 11 Августа 2009, 01:08:17
Подключаю по VPN все ок, в билинге зеленый ключ. ping ya.ru ping идет, а страницы в браузере не отображаются.


Название: Re: Авторизатор + pptp
Отправлено: Efendy от 11 Августа 2009, 10:32:58
ifconfig при подключенном клиенте


Название: Re: Авторизатор + pptp
Отправлено: tramX от 11 Августа 2009, 13:01:13
nodeny# ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST                                                                                        ,WOL_MCAST,WOL_MAGIC>
        ether 00:24:8c:e6:ff:2c
        inet 192.168.5.55 netmask 0xffffff00 broadcast 192.168.5.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:30:4f:69:13:1c
        inet 192.168.4.1 netmask 0xffffff00 broadcast 192.168.4.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:30:4f:67:d6:66
        media: Ethernet autoselect
        status: no carrier
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33204
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 576
        inet 192.168.5.55 --> 172.16.1.2 netmask 0xffffffff



nodeny# ipfw show
00040    0      0 allow tcp from any to me dst-port 1723 in
00041    0      0 allow tcp from me 1723 to any out
00042    0      0 allow gre from any to any
00050   73   6572 allow tcp from any to me dst-port 22
00051   56   8280 allow tcp from me 22 to any
00110  346 114198 allow ip from any to any via lo0
00120  142   8553 skipto 1000 ip from me to any
00130    0      0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00160  151  13390 skipto 2000 ip from any to me
00200 1453 377209 skipto 500 ip from any to any via re0
00300  866 116576 skipto 4500 ip from any to any in
00400  651 267225 skipto 450 ip from any to any recv re0
00420    0      0 divert 1 ip from any to any
00450  651 267225 divert 2 ip from any to any
00490  651 267225 allow ip from any to any
00500  701 272268 skipto 32500 ip from any to any in
00510  752 104941 divert 1 ip from any to any
00540  752 104941 allow ip from any to any
01000    0      0 allow udp from any 53,7723 to any
01010   18    936 allow tcp from any to any setup keep-state
01020   57   5964 allow udp from any to any keep-state
01100   89   5340 allow ip from any to any
02000    0      0 check-state
02010   89   5340 allow icmp from any to any
02020    0      0 allow tcp from any to any dst-port 80,443
02050   40   4363 deny ip from any to any via re0
02060    0      0 allow udp from any to any dst-port 53,7723
02100    0      0 deny ip from any to any
05000   98  10153 deny ip from not table(0) to any
05001    0      0 skipto 5010 ip from table(127) to table(126)
05002  752 104941 skipto 5030 ip from any to not table(2)
05003    0      0 deny ip from any to not table(1)
05004    0      0 pipe tablearg ip from table(21) to any
05005    0      0 deny ip from any to any
05010    0      0 pipe tablearg ip from table(127) to any
05030    0      0 deny tcp from table(15) to any dst-port 25
05400  752 104941 pipe tablearg ip from table(11) to any
32000    0      0 deny ip from any to any
32490   16   1482 deny ip from any to any
33000    0      0 pipe tablearg ip from table(126) to table(127)
33001  701 272268 skipto 33010 ip from not table(2) to any
33002    0      0 pipe tablearg ip from any to table(20)
33003    0      0 deny ip from any to any
33400  651 267225 pipe tablearg ip from any to table(10)
65535   50   5043 deny ip from any to any


nodeny# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.5.1        UGS         0     2890    re0
127.0.0.1          127.0.0.1          UH          0      533    lo0
172.16.1.2         192.168.5.55       UH          1     3871    ng0
192.168.4.0/24     link#2             UC          0        0    rl0
192.168.5.0/24     link#1             UC          0        0    re0
192.168.5.1        00:19:21:4b:91:27  UHLW        2        9    re0    694
192.168.5.32       00:50:8d:4c:5b:07  UHLW        1        3    re0   1198

Отключаю IPFW страницы грузятся.


Название: Re: Авторизатор + pptp
Отправлено: Maks от 11 Августа 2009, 16:00:32
У тебя маленький мту, как сделать нормальный расписано в этой теме
http://demo.nodeny.com.ua/forum/index.php?topic=59.0
после этого проверяй.

В ядро включил все опци перед компиляцией? а именно
options         IPFIREWALL
options         IPDIVERT
options         IPFIREWALL_FORWARD
options         DUMMYNET