PPPoE (пустой CID в статистике)

Установка, настройка, поддержка
Ответить
LKharlamov
Сообщения: 142
Зарегистрирован: Пт окт 24, 2008 4:22 pm
Откуда: Челябинск
Контактная информация:

PPPoE (пустой CID в статистике)

Сообщение LKharlamov »

День добрый!

Решил попробывать к работающему PPTP добавить PPPoE, установил пакет, настроил конфиг:

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

logfile /var/log/pppoe-server.log

auth
login
default-asyncmap

ms-dns 78.29.2.23
ms-dns 78.29.2.24

plugin radius.so
plugin radattr.so
Всё авторизуется через радиус и соединяется, но вот в статистике (DV) не пишется мак адрес, в логе радиуса нету для этого подключения Calling-Station-Id почемуто...?

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

rad_recv: Access-Request packet from host 127.0.0.1 port 45663, id=74, length=135
        Service-Type = Framed-User
        Framed-Protocol = PPP
        User-Name = "testvpn"
        MS-CHAP-Challenge = 0xc2848390b86fdfd40ef60435d25c8a22
        MS-CHAP2-Response = 0xbd00143bdacde2afcdd59fce0fb56ed29f170000000000000000a46bc27663b346d4fbb8a11961170a70c9cc4282bae35b80
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 1
+- entering group authorize {...}
++[preprocess] returns ok
Exec-Program output: Cleartext-Password := "1122"
Exec-Program-Wait: value-pairs: Cleartext-Password := "1122"
Exec-Program: returned: 0
++[abills_preauth] returns ok
++[chap] returns noop
[mschap] Found MS-CHAP attributes.  Setting 'Auth-Type  = mschap'
++[mschap] returns ok
[suffix] No '@' in User-Name = "testvpn", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[unix] returns notfound
[files] users: Matched entry DEFAULT at line 172
++[files] returns ok
Exec-Program output: Acct-Interim-Interval = 60, Session-Timeout = 816781, Octets-Direction = 2, Framed-IP-Address = 172.16.0.77, Session-Octets-Limit = 0, Framed-IP-Netmask = 255.255.255.255,
Exec-Program-Wait: value-pairs: Acct-Interim-Interval = 60, Session-Timeout = 816781, Octets-Direction = 2, Framed-IP-Address = 172.16.0.77, Session-Octets-Limit = 0, Framed-IP-Netmask = 255.255.255.255,
Exec-Program: returned: 0
++[abills_auth] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] Found existing Auth-Type, not changing it.
++[pap] returns noop
Found Auth-Type = MSCHAP
+- entering group MS-CHAP {...}
[mschap] Told to do MS-CHAPv2 for testvpn with NT-Password
[mschap] adding MS-CHAPv2 MPPE keys
++[mschap] returns ok
+- entering group post-auth {...}
++[exec] returns noop
Sending Access-Accept of id 74 to 127.0.0.1 port 45663
        Framed-Protocol = PPP
        Framed-Compression = Van-Jacobson-TCP-IP
        Acct-Interim-Interval = 60
        Session-Timeout = 816781
        Octets-Direction = 2
        Framed-IP-Address = 172.16.0.77
        Session-Octets-Limit = 0
        Framed-IP-Netmask = 255.255.255.255
        MS-CHAP2-Success = 0xbd533d35443232383842314439333337333545393737414536303638363746313342413145443845443241
        MS-MPPE-Recv-Key = 0x92a9858caa467248e713f769a733ca21
        MS-MPPE-Send-Key = 0x831695e86ff1ef4f6a8c16b54090e831
        MS-MPPE-Encryption-Policy = 0x00000001
        MS-MPPE-Encryption-Types = 0x00000006
Finished request 1.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host 127.0.0.1 port 58405, id=75, length=99
        Acct-Session-Id = "4A8F9913482900"
        User-Name = "testvpn"
        Acct-Status-Type = Start
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Acct-Authentic = RADIUS
        NAS-Port-Type = Virtual
        Framed-IP-Address = 172.16.0.77
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 1
        Acct-Delay-Time = 0
+- entering group preacct {...}
++[preprocess] returns ok
Exec-Program output:
Exec-Program: returned: 0
++[abills_acc] returns ok
[acct_unique] Hashing 'NAS-Port = 1,Client-IP-Address = 127.0.0.1,NAS-IP-Address = 127.0.0.1,Acct-Session-Id = "4A8F9913482900",User-Name = "testvpn"'
[acct_unique] Acct-Unique-Session-ID = "8178ae2041d5cd61".
++[acct_unique] returns ok
[suffix] No '@' in User-Name = "testvpn", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
++[files] returns noop
+- entering group accounting {...}
        expand: /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d -> /var/log/freeradius/radacct/127.0.0.1/detail-20090822
[detail] /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d expands to /var/log/freeradius/radacct/127.0.0.1/detail-20090822
        expand: %t -> Sat Aug 22 13:06:59 2009
++[detail] returns ok
++[unix] returns ok
        expand: /var/log/freeradius/radutmp -> /var/log/freeradius/radutmp
        expand: %{User-Name} -> testvpn
++[radutmp] returns ok
        expand: %{User-Name} -> testvpn
 attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] returns updated
Sending Accounting-Response of id 75 to 127.0.0.1 port 58405
Finished request 2.
Cleaning up request 2 ID 75 with timestamp +43
Going to the next request

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

Re: PPPoE (пустой CID в статистике)

Сообщение NiTr0 »

Мои конфиги:

/etc/ppp/options

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

auth
crtscts
lock
hide-password
modem
proxyarp
usepeerdns
lcp-echo-interval 30
lcp-echo-failure 4
noipx
/etc/ppp/pppoe-server-options (в LEAF он так зовется)

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

require-pap
require-chap
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 1.2.3.4

plugin radius.so
plugin radattr.so

LKharlamov
Сообщения: 142
Зарегистрирован: Пт окт 24, 2008 4:22 pm
Откуда: Челябинск
Контактная информация:

Re: PPPoE (пустой CID в статистике)

Сообщение LKharlamov »

Вот мой ppp конфиг /etc/ppp/options:

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

asyncmap 0
noauth
crtscts
lock
hide-password
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx
/etc/ppp/pppoe-server-options в первом посте приведён.

Впринципе они вроде как идентичны, видемо дело в другом... :roll:

Версия сервера pppoe - rp-pppoe_3.8-3

После подключения клиента, в процессах вот например пишется:
ps ax | grep pppoe

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

18874 ?        S      0:00 /usr/sbin/pppoe-server -I wan -S gw349 -L 172.16.0.1
24673 pts/2    T      0:00 grep pppoe
24728 ?        Ss     0:00 pppd pty /usr/sbin/pppoe -n -I wan -e 3:00:17:31:2e:68:06 -S 'gw349' file /etc/ppp/pppoe-server-options 172.16.0.1:10.67.15.3 nodetach noaccomp nobsdcomp nodeflate nopcomp novj novjccomp default-asyncmap
24729 ?        S      0:00 sh -c /usr/sbin/pppoe -n -I wan -e 3:00:17:31:2e:68:06 -S 'gw349'
24730 ?        S      0:00 /usr/sbin/pppoe -n -I wan -e 3:00:17:31:2e:68:06 -S gw349
24759 pts/2    R+     0:00 grep pppoe
Мак то какбы есть ведь, каким путём он попадает в абиллс?... думаю если двигаться по этому же пути и проверить на каждом этапе то можно и до причины добраться...

LKharlamov
Сообщения: 142
Зарегистрирован: Пт окт 24, 2008 4:22 pm
Откуда: Челябинск
Контактная информация:

Re: PPPoE (пустой CID в статистике)

Сообщение LKharlamov »

Тема оказывается уже поднималась...
viewtopic.php?f=6&t=3932&start=15

LKharlamov
Сообщения: 142
Зарегистрирован: Пт окт 24, 2008 4:22 pm
Откуда: Челябинск
Контактная информация:

Re: PPPoE (пустой CID в статистике)

Сообщение LKharlamov »

Пересобрал пакет с поддержкой Use kernel-mode PPPoE
3. Настройка PPPoE-сервера в режиме ядра

Здесь, казалось бы, всё просто: добавляем серверу опцию -k и вперёд, но оказалось всё не так просто. В Debian pppoe-server собран без поддержки режима ядра и наотрез отказывается принимать опцию -k. Я решил собрать pppoe самостоятельно из deb-src. Направление для мыслей задал вот этот багрепорт: #298185 - pppoe-server: invalid option -- k - Debian Bug report logs. После долгого процесса копания по опциям получилось такое mini-how-to:

Устанавливаем зависимости для построения pppoe:

apt-get build-dep pppoe

Скачиваем и распаковываем в текущий каталог исходники:

apt-get source pppoe

Переходим в каталог rp-pppoe-3.8/src и выполняем конфигурирование:

cd rp-pppoe-3.8/src
./configure

Теперь в только что созданном файле config.h нужно заменить строчку
/* #undef HAVE_LINUX_KERNEL_PPPOE */

на строчку
#define HAVE_LINUX_KERNEL_PPPOE 1

Теперь выходим из каталога src и выполняем сборку, указав путь к плагину rp-pppoe.so, который как раз и реализует поддержку PPPoE-сеансов на уровне ядра:

cd ..
./debian/rules PLUGIN_PATH=/usr/lib/pppd/2.4.4/rp-pppoe.so

Собираем пакет и устанавливаем его:

./debian/rules binary
cd ..
dpkg -i pppoe_3.8-3_i386.deb

Для запуска сервера в этом режиме, к команде описанной в предыдущем разделе нужно добавить опцию -k
Взял от сюда http://vladimir-stupin.blogspot.com/200 ... ebian.html

Появились маки в статистике :) :) :)

LKharlamov
Сообщения: 142
Зарегистрирован: Пт окт 24, 2008 4:22 pm
Откуда: Челябинск
Контактная информация:

Re: PPPoE (пустой CID в статистике)

Сообщение LKharlamov »

Ещо вопрос про пппое, вот указал я параметр: -S gw349

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

-S name
              Offer  a service named name.  Multiple -S options may be specified; each one causes the named service to be advertised in a Service-Name tag in the PADO frame.  The first -S option specifies the default service, and is used if the PPPoE client requests a Service-Name of length zero.
Подключение к серверу происходит если в настройках клиента указать либо имя службы gw349, либо ничего не указывать.
Вопрос, возможно ли сделать так чтобы если не указано имя службы то pppoe сервер не отвечал на запрос подключения. Может кто знает, поделитесь...

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

Re: PPPoE (пустой CID в статистике)

Сообщение ran »

Вопрос, возможно ли сделать так чтобы если не указано имя службы то pppoe сервер не отвечал на запрос подключения. Может кто знает, поделитесь...
нет - в соответствии с RFC по протоколу пппое (номер не помню) любой доступный сервер доступа обязан ответить на бродкаст PADI запрос и сообщить свои имя сервиса, имя концентратора и т.п. а вот уж клиент должен выбрать из доступных концентраторов один и дльше общаться с ним уникастово по маку
Любой тупик - это тщательно замаскированный выход.

LKharlamov
Сообщения: 142
Зарегистрирован: Пт окт 24, 2008 4:22 pm
Откуда: Челябинск
Контактная информация:

Re: PPPoE (пустой CID в статистике)

Сообщение LKharlamov »

Ran, мерси за консультацию.

Ответить