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

Исходное сообщение
"MPD, PPPoE, WinXP"

Отправлено rWizard , 28-Мрт-06 16:48 
Зравствуйте.
Столкнулся с проблеммой - есть MPD 3.18, FreeBSD 4.11, 5.4, 6.0 (пробовал на всех)
WinXP SP2.
не могу подключиться к PPPoE, созданнову MPD (конфиг и лог ниже). к штатному PPPoEd подключение проходит нормально.
Cудя по логам WinXP не видит (или не хочет подключаться ) к серверу.

Может-ли кто-нибуть помочь?

====mpd.conf ( табы соблюдены )
default:
        load client1
        load client2
        load client3

client1:
        new -i ng0 client1 client1
        set ipcp ranges 172.16.0.1/24 172.16.0.100/24
        load pppoe_standard

client2:
        new -i ng1 client2 client2
        set ipcp ranges 172.16.0.1/24 172.16.0.101/24
        load pppoe_standard
client3:
        new -i ng2 client3 client3
        set ipcp ranges 172.16.0.1/24 172.16.0.103/24
        load pppoe_standard

pppoe_standard:
        set iface disable on-demand
        set iface idle 0
        set bundle disable multilink
        set link max-redial -1
        set link yes chap
        set link yes pap
        set link keep-alive 60 180
        set ipcp yes vjcomp
        set ipcp dns 192.168.4.254
        set pppoe iface rl0
        set pppoe service "abc"
        set pppoe enable incoming
        set pppoe disable originate

===mpd.links ( табы соблюдены )

client1:
        set link type pppoe
client2:
        set link type pppoe
client3:
        set link type pppoe

===mpd.secret
test test-pass 172.16.0.2

===tcpdump
tcpdump: listening on rl0
04:36:33.407220 PPPoE PADI [Service-Name "abc"] [Host-Uniq UTF8]
04:36:33.410550 PPPoE PADO [AC-Name] [Service-Name "abc"] [Host-Uniq UTF8] [AC-Cookie UTF8]
04:36:38.406764 PPPoE PADI [Service-Name "abc"] [Host-Uniq UTF8]
04:36:38.409613 PPPoE PADO [AC-Name] [Service-Name "abc"] [Host-Uniq UTF8] [AC-Cookie UTF8]
04:36:43.406565 PPPoE PADI [Service-Name "abc"] [Host-Uniq UTF8]
04:36:43.409288 PPPoE PADO [AC-Name] [Service-Name "abc"] [Host-Uniq UTF8] [AC-Cookie UTF8]
04:36:48.406434 PPPoE PADI [Service-Name "abc"] [Host-Uniq UTF8]
04:36:48.409043 PPPoE PADO [AC-Name] [Service-Name "abc"] [Host-Uniq UTF8] [AC-Cookie UTF8]

и так далее

===kldstat  
Id Refs Address    Size     Name
1   11 0xc0100000 45acc8   kernel
2    1 0xc113f000 3000     ng_socket.ko
3    8 0xc1143000 9000     netgraph.ko
4    1 0xc1150000 3000     ng_iface.ko
5    1 0xc1154000 6000     ng_ppp.ko
6    1 0xc115b000 4000     ng_bpf.ko
7    1 0xc1160000 4000     ng_vjc.ko
8    1 0xc1167000 3000     if_vlan.ko
9    1 0xc116d000 3000     ng_ether.ko
10    1 0xc1170000 5000     ng_pppoe.ko
11    1 0xc1178000 3000     ng_tee.ko


Содержание

Сообщения в этом обсуждении
"MPD, PPPoE, WinXP"
Отправлено pev2000 , 28-Мрт-06 21:20 
почитать журнальчик типа /var/log/mpd.log

"MPD, PPPoE, WinXP"
Отправлено rWizard , 29-Мрт-06 00:00 
>почитать журнальчик типа /var/log/mpd.log
Читал.. забыл привести жкрнальчик.

Проблемма оказалась не в этом.  (как всегда - только напишу вопрос в форум, сразу нахожу решение )
Дело в том, что WinXP требет что-бы в PADO пакет включалось не нулевое пооле "AC-Name",
а ng_pppoe ждет что-бы "AC-Name" ему передал клиет, который хочет подключаться - в результате обратно клиету отравлялся PADO с пустым AC-Name.

Возможно это криво, но я решил проблемму пропатчив ng_pppoe, так что-бы он всегда посылал AC-Name. Если интересно патч ниже:

*** ng_pppoe.c.orig     Sun Jan 30 00:00:00 2005
--- ng_pppoe.c  Tue Mar 28 19:59:08 2006
***************
*** 869,879 ****
                         */
                        neg->ac_name.hdr.tag_type = PTT_AC_NAME;
                        neg->ac_name.hdr.tag_len =
!                           htons((u_int16_t)ourmsg->data_len);
!                       if (ourmsg->data_len)
!                               bcopy(ourmsg->data, neg->ac_name.data,
!                                   ourmsg->data_len);
!                       neg->ac_name_len = ourmsg->data_len;
                        neg->pkt->pkt_header.ph.code = PADO_CODE;
                        /*
                         * Wait for PADI packet coming from hook
--- 869,879 ----
                         */
                        neg->ac_name.hdr.tag_type = PTT_AC_NAME;
                        neg->ac_name.hdr.tag_len =
!                           htons((u_int16_t)sizeof("default"));
!                       if (sizeof("default"))
!                               bcopy("default", neg->ac_name.data,
!                                   sizeof("default"));
!                       neg->ac_name_len = sizeof("default");
                        neg->pkt->pkt_header.ph.code = PADO_CODE;
                        /*
                         * Wait for PADI packet coming from hook


"MPD, PPPoE, WinXP"
Отправлено kir , 10-Апр-06 21:24 
я что то упустил? а с каких пор XP умеет pppoe ?
насколько я знаю для этих целей используеться отдельный драйвер
а с ним у меня проблем ни на одном виндовсе небыло

"MPD, PPPoE, WinXP"
Отправлено rWizard , 11-Апр-06 15:21 
>я что то упустил? а с каких пор XP умеет pppoe ?
>
>насколько я знаю для этих целей используеться отдельный драйвер
>а с ним у меня проблем ни на одном виндовсе небыло
Вероятно, с рождения.
тут есть пример настройки http://www.anitex.by/tech_pppoe_xp.php

PS с внешним драйвером у меня тоже ничего не работало )


"MPD, PPPoE, WinXP"
Отправлено volodya , 11-Апр-06 17:23 
>>я что то упустил? а с каких пор XP умеет pppoe ?
>>
>>насколько я знаю для этих целей используеться отдельный драйвер
>>а с ним у меня проблем ни на одном виндовсе небыло
>Вероятно, с рождения.
>тут есть пример настройки http://www.anitex.by/tech_pppoe_xp.php
>
>PS с внешним драйвером у меня тоже ничего не работало )

c тех пор когда второй сервис пак вышел


"MPD, PPPoE, WinXP"
Отправлено Vault_Dweller , 20-Окт-06 15:23 
почитать бы автору http://download.microsoft.com/download/2/e/0/2e0e3caf-9005-4... касательно

PPPoE Service Names
PPPoE support in Windows XP is designed so that the user does not need to configure a PPPoE service name. A PPPoE service name is either an ISP name or a class of service that is configured on the PPPoE server. There is no facility in the properties of the PPPoE connection that allows you to discover the service name.
By default, a Windows XP PPPoE connection has a blank service name. When you click Connect to create a PPPoE connection, Windows XP attempts to connect using the blank service name. If there are no access devices using a blank service name, then Windows XP will try the connection again using the first service name from the first access device that responded to the first connection attempt. Thus, Windows XP discovers the service name during the connection attempt. This provides the simplest configuration and works for most users. If a specific service name is required, a service name can be configured on the General tab from the properties of the PPPoE connection.

и учесть дока "Published: November 2001" ;) а Вы патч... патч...


"MPD, PPPoE, WinXP"
Отправлено ig0r , 29-Мрт-07 19:09 
Сталкнулся с аналогичной проблемой.
После того как прописал hostname=test.***.ru параметр AC-Name стал нормально передаваться :
[AC-Name "test.***.ru"] [Service-Name "1"]