имею точно такую же картину, но для pppoe.
linux 2.6.10 (пробовались 2.4.29 и 2.6.9)
pppd-2.4.3 (пробовалось 2.4.2)
rp-pppoe-3.5 (пробовалось 3.3)
/etc/ppp/pppoe-server-options:
------------------------------
debug
dump
login
noccp
receive-all
logfile /var/log/pppd.log
mtu 1472
mru 1472
require-pap
refuse-chap
default-asyncmap
proxyarp
ktune
lcp-echo-interval 20
lcp-echo-failure 2
nobsdcomp
noccp
noendpoint
noipdefault
noipx
novj
запускаем:
pppoe-server -k -I eth1 -S abc -L 192.168.1.1
в логе /var/log/pppd.log:
using channel 11
Using interface ppp2
Connect: ppp2 <--> eth1
Couldn't increase MTU to 1500
Couldn't increase MRU to 1500
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x42d7b6be> <pcomp> <accomp>]
fsm_input(c021): Rcvd packet in state 1.
... так 10 раз ...
в системном логе:
Mar 3 16:53:30 abc pppoe-server[1423]: PADT: Generic-Error: RP-PPPoE: System call error: Input/output error
Mar 3 16:53:30 abc pppoe-server[1423]: Sent PADT
Mar 3 16:53:30 abc pppd[1451]: Terminating on signal 15
если использовать user-mode вместо kernel-mode, все выглядит точно так же, за исключением коннекта:
Connect: ppp2 <--> /dev/pts/6
и выдаваемых ошибок - они совпадают с цитируемым ниже исходным письмом.
кроме того, разбрасывание отладочного вывода по исходнику pppd показало, что принятые пакеты попадают внутрь правильно, обрабатываются, генерятся правильные состояния ответов и все это хозяйство отправляется через цепочку fsm_sdata() -> output() -> write() наружу. однако tcpdump -i any показывает, что в сеть ответы на confRequest запросы не попадают. при этом PADI, PADO, PADR, PADS и TERM пакеты в сеть замечательно попадают и видятся клиентом и сервером.
эксперименты с разными версиями, настройками ядер, настройками /proc/sys/net и firewall ничего не дали...
надеюсь сообщество не оставит проблему без внимания.
>pppd version 2.4.3 патченый (с поддержкой MPPE http://www.polbox.com/h/hs001/ppp-2.4.3-mppe-mppc-1.1.patch.gz)
>PoPToP v1.1.4-b4
>Ядро 2.6.10, тоже патченое с поддержкой MPPE (http://www.polbox.com/h/hs001/linux-2.6.10-mppe-mppc-1.2.patch.gz)
>как конфиги не крутил не встаёт по-нормальному.
>Клиент: XP SP2 авторизация :MSCHAP-v2.
>В логах PPPd:
>using channel 12
>Using interface ppp0
>Connect: ppp0 <--> /dev/pts/1
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x8d44c82b> <pcomp> <accomp>]
>LCP: timeout sending Config-Requests
>Connection terminated.
>---
>В /var/log/mesasges :
>Feb 25 18:43:44 host33 pptpd[6467]: MGR: Manager process started
>Feb 25 18:43:44 host33 pptpd[6467]: MGR: Maximum of 1 connections available
>Feb 25 18:43:59 host33 pptpd[6467]: MGR: No free connection slots or IPs
>- no more clients can connect!
>Feb 25 18:43:59 host33 pptpd[6470]: CTRL: Client xxx.xxx.xxx.xxx control connection started
>Feb 25 18:43:59 host33 pptpd[6470]: CTRL: Starting call (launching pppd, opening GRE)
>
>Feb 25 18:43:59 host33 pppd[6471]: pppd 2.4.3 started by root, uid 0
>
>Fepppd[6471]: Using interface ppp0
>Feb 25 18:43:59 host33 pppd[6471]: Connect: ppp0 <--> /dev/pts/1
>Feb 25 18:44:29 host33 pppd[6471]: LCP: timeout sending Config-Requests
>Feb 25 18:44:29 host33 pppd[6471]: Connection terminated.
>
>Feb 25 18:44:29 host33 pppd[6471]: Using interface ppp0
>Feb 25 18:44:29 host33 pppd[6471]: Connect: ppp0 <--> /dev/pts/1
>Feb 25 18:44:29 host33 pppd[6471]: tcflush failed: Bad file descriptor
>Feb 25 18:44:29 host33 pppd[6471]: tcsetattr: Invalid argument (line 1001)
>Feb 25 18:44:29 host33 pppd[6471]: Exit.
>Feb 25 18:44:29 host33 pptpd[6470]: GRE: read(fd=8,buffer=804d760,len=8196) from PTY failed: status =
>-1 error = Input/output error
>Feb 25 18:44:29 host33 pptpd[6470]: CTRL: PTY read or GRE write failed
>(pty,gre)=(8,9)
>Feb 25 18:44:29 host33 pptpd[6470]: CTRL: Client xxx.xxx.xxx.xxx control connection finished
>----
>Отключением шифрования не лечится.
>Кто нибудь сталкивался/куда копать?