Pptpd+radius

Аватар пользователя oles

Доброго времени суток.

Избитая, пожалуй, тема, но решение проблемы, появившейся у меня, я все никак не могу найти.
Сервер: RHEL4, 2.6.16; клиент: WinXP.
pptpd-1.3.0-0, ppp-2.4.3-5.rhel4, radiusclient-0.3.2-0.2.el4.rf, freeradius-1.0.5-1.2.

Использую такой /etc/ppp/options.pptpd:
name pptpd
auth
plugin radius.so
plugin radattr.so
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
mppe required
noipx
proxyarp
mtu 1492
debug
dump
lock
nobsdcomp
nologfd

При попытке коннекта, в /var/log/messages:
pptpd[11764]: CTRL: Client 192.168.43.150 control connection started
pptpd[11764]: CTRL: Starting call (launching pppd, opening GRE)
pppd[11765]: Plugin radius.so loaded.
pppd[11765]: RADIUS plugin initialized.
pppd[11765]: Plugin radattr.so loaded.
pppd[11765]: RADATTR plugin initialized.
pppd[11765]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pptpd[11764]: GRE: Bad checksum from pppd.
pppd[11765]: pptpd-logwtmp: $Version$
pppd[11765]: pppd options in effect:
pppd[11765]: debug # (from /etc/ppp/options.pptpd)
pppd[11765]: nologfd # (from /etc/ppp/options.pptpd)
pppd[11765]: dump # (from /etc/ppp/options.pptpd)
pppd[11765]: plugin radius.so # (from /etc/ppp/options.pptpd)
pppd[11765]: plugin radattr.so # (from command line)
pppd[11765]: plugin /usr/lib/pptpd/pptpd-logwtmp.so # (from command line)
pppd[11765]: require-mschap-v2 # (from /etc/ppp/options.pptpd)
pppd[11765]: refuse-pap # (from /etc/ppp/options.pptpd)
pppd[11765]: refuse-chap # (from /etc/ppp/options.pptpd)
pppd[11765]: refuse-mschap # (from /etc/ppp/options.pptpd)
pppd[11765]: name pptpd # (from /etc/ppp/options.pptpd)
pppd[11765]: pptpd-original-ip 192.168.43.150 # (from command line)
pppd[11765]: 115200 # (from command line)
pppd[11765]: lock # (from /etc/ppp/options.pptpd)
pppd[11765]: local # (from command line)
pppd[11765]: mtu 1492 # (from /etc/ppp/options.pptpd)
pppd[11765]: ipparam 192.168.43.150 # (from command line)
pppd[11765]: ms-dns xxx # [don't know how to print value]# (from /etc/ppp/options.pptpd)
pppd[11765]: proxyarp # (from /etc/ppp/options.pptpd)
pppd[11765]: 192.168.43.100:192.168.1.1 # (from command line)
pppd[11765]: nobsdcomp # (from /etc/ppp/options.pptpd)
pppd[11765]: mppe xxx # [don't know how to print value] # (from /etc/ppp/options.pptpd)
pppd[11765]: noipx # (from /etc/ppp/options.pptpd)
pppd[11765]: pppd 2.4.3 started by root, uid 0
pppd[11765]: Failed to open /dev/pts/2: No such file or directory
pppd[11765]: Exit.
pptpd[11764]: CTRL: Client 192.168.43.150 control connection finished

Клиент при этом получает ошибку 737 "Обнаружено замыкание на себя"
Если на клиенте нажимать "Повторный Звонок", то иногда на 2й раз, на 4й.. на 10й (!) раз
получаем в messages:

pppd[13348]: pppd 2.4.3 started by root, uid 0
pppd[13348]: Using interface ppp0
pppd[13348]: Connect: ppp0 <--> /dev/pts/2
pptpd[13347]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
pppd[13348]: Peer maks failed CHAP authentication
pppd[13348]: Connection terminated.
pppd[13348]: tcflush failed: Input/output error
pppd[13348]: Exit.
pptpd[13347]: CTRL: Client 192.168.43.150 control connection finished

В этом случае radius принимает участие в авторизации. Вопрос: почему возникает такая неустойчивая ситуация? Где искать причину?

Когда клиент коннектится и сервер использует авторизацию по chap-secrets - проблемы нет.
Стабильно видим:
pppd[4707]: Connect: ppp0 <--> /dev/pts/2
и продолжение авторизации.

Дополнительная информация:
mount:
/dev/hda3 on / type ext3 (rw)
/dev/proc on /proc type proc (rw)
/dev/sys on /sys type sysfs (rw)
/dev/devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
/dev/shm on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

При поиске в инете у людей с такой проблемой она исчезала при монтировании /dev/pts

RSS-материал