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

Исходное сообщение
"pptpd не пускает win-клиентов, ошибка 619"

Отправлено biffant , 24-Сен-07 09:21 
Господа, помогите пожалуйста разобраться, после обновления pptpd/pppd до свежих стабильных версий, удаленный доступ сотрудникам работает раз через десять! :(

Все клиенты Windows XP, в случае успеха все стадии подключения проходят за секунду (редко, в среднем 1 раз из 10, причем в определенные интервалы времени в течение дня, закономерностей с cron'ом и запущенными в такие моменты сервисами не вижу). В остальных случаях, сервер ждет 30 секунд до таймаута и отключает клиента с 619-ой ошибкой ("Порт закрыт"). Насколько я понял, клиент по какой-то причине не присылает серверу данные о способе аутентификации, причины сего поведения не вижу, с этими же настройками клиента он заходит без проблем на другой шлюз с аналогичными настройками PopTop!

iptables с обоих сторон настроены на пропуск всех пакетов между этими реальниками, между сетью 192.168.10.100 и локальными подсетями. Я протоколирую все пакеты какие сбрасываются брандмауэром - между этими адресами ничего не режется.

===
ПО: Debian Sarge, kernel 2.6.22.6 (проверял и на 2.6.16), pptpd v1.3.0, pppd 2.4.4
===

Симптомы:
Sep 24 08:38:22 gateway pptpd[5944]: MGR: Launching /usr/sbin/pptpctrl to handle clie
nt
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: local address = 192.168.10.1
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: remote address = 192.168.10.100
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: pppd options file = /etc/ppp/pptpd-options
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Client ... control connection star
ted
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Received PPTP Control Message (type: 1)
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Made a START CTRL CONN RPLY packet
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: I wrote 156 bytes to the client.
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Sent packet to client
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Received PPTP Control Message (type: 7)
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Set parameters to 100000000 maxbps, 64 win
dow size
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Made a OUT CALL RPLY packet
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Starting call (launching pppd, opening GRE
)
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: pty_fd = 6
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: tty_fd = 7
Sep 24 08:38:22 gateway pptpd[5945]: CTRL (PPPD Launcher): program binary = /usr/sbin
/pppd
Sep 24 08:38:22 gateway pptpd[5945]: CTRL (PPPD Launcher): local address = 192.168.10
.1
Sep 24 08:38:22 gateway pptpd[5945]: CTRL (PPPD Launcher): remote address = 192.168.1
0.100
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: I wrote 32 bytes to the client.
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Sent packet to client
Sep 24 08:38:22 gateway pptpd[5944]: GRE: Bad checksum from pppd.
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Received PPTP Control Message (type: 15)
Sep 24 08:38:22 gateway pptpd[5944]: CTRL: Got a SET LINK INFO packet with standard A
CCMs
Sep 24 08:38:52 gateway pptpd[5944]: GRE: read(fd=6,buffer=8058640,len=8196) from PTY
failed: status = -1 error = Input/output error, usually caused by unexpected termina
tion of pppd, check option syntax and pppd logs
Sep 24 08:38:52 gateway pptpd[5944]: CTRL: PTY read or GRE write failed (pty,gre)=(6,
7)
Sep 24 08:38:52 gateway pptpd[5944]: CTRL: Reaping child PPP[5945]
Sep 24 08:38:52 gateway pptpd[5944]: CTRL: Client ... control connection fini
shed
Sep 24 08:38:52 gateway pptpd[5944]: CTRL: Exiting now
Sep 24 08:38:52 gateway pptpd[5933]: MGR: Reaped child 5944

===

Настройки:
1. /etc/pptp.conf:
ppp /usr/sbin/pppd
option /etc/ppp/pptpd-options
debug
stimeout 20
noipparam

2. /etc/ppp/pptpd-options:
name gateway
domain ...
chapms-strip-domain
refuse-pap
refuse-chap
refuse-mschap (пробовал разрешать)
require-mschap-v2 (пробовал комментировать)
require-mppe-128 (пробовал комментировать)
ms-dns 192.168.30.1
ms-wins 192.168.30.3
proxyarp
nodefaultroute
lock
nobsdcomp
nodeflate (пробовал комментировать)
noccp (пробовал комментировать)

3. /etc/ppp/options
asyncmap 0
auth
crtscts (пробовал менять на xonxoff)
lock
hide-password
modem
debug
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx

===

Параметры ядра:
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=y
CONFIG_PPPOE=y


Содержание

Сообщения в этом обсуждении
"pptpd не пускает win-клиентов, ошибка 619"
Отправлено ipmanyak , 24-Сен-07 10:56 
>Sep 24 08:38:22 gateway pptpd[5944]: GRE: Bad checksum from pppd.

--------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Возможно канальные проблемы.
>Sep 24 08:38:52 gateway pptpd[5944]: GRE: read(fd=6,buffer=8058640,len=8196) from PTY
> failed: status = -1 error = Input/output error, usually caused by
>unexpected termination of pppd, check option syntax and pppd logs
>Sep 24 08:38:52 gateway pptpd[5944]: CTRL: PTY read or GRE write failed
>(pty,gre)=(6,

pppd упал, а pptpd  не может сообщить причину. pppd может упасть, из-за неверной опции в синатаксисе options.pptpd, попробуй запустить pppd вручную с нужными опциями , не используя options.pptpd.
Еще 1 момент который тут не виден в /etc/ppp/pptpd-options - какой стоит mtu и mru ? Попробуй явно указать их как 1400.


"pptpd не пускает win-клиентов, ошибка 619"
Отправлено biffant , 24-Сен-07 12:22 
>>Sep 24 08:38:22 gateway pptpd[5944]: GRE: Bad checksum from pppd.
>Возможно канальные проблемы.

Сервер multi-homed, каналы нормальные, пакеты не теряют - такие вещи мониторим... Сколько помню, этот сервер всегда Bad checksum пишет на обоих внешних интерфейсах, где-то читал что это некритичная несовместимость форточного pptp-клиента...

>>Sep 24 08:38:52 gateway pptpd[5944]: GRE: read(fd=6,buffer=8058640,len=8196) from PTY
> pppd упал, а pptpd  не может сообщить причину. pppd может упасть,
> из-за неверной опции в синатаксисе options.pptpd, попробуй запустить pppd вручную с
> нужными опциями , не используя options.pptpd.
> Еще 1 момент который тут не виден в /etc/ppp/pptpd-options - какой стоит
> mtu и mru ? Попробуй явно указать их как 1400.

===
Вручную сейчас попробую запустить, сработает ли указание mtu/mru проверить смогу только вечером т.к. домашнюю машину выключил, ведь доступ настроен через тот же PPTP который пока не работает... Спасибо за идею!

Подобное поведение наблюдал когда ядро неправильно поддерживало MPPE, а также когда клиент с сервером не могли договориться о сжатии потока... Но в данном случае эти версии проверены и похоже дело не в этом :(

===
Что интересно, когда я стучусь по PPTP из локалки на внешний интерфейс сервера, он пускает Windows XP при тех же настройках клиента на ура:

Sep 24 12:13:33 gateway pptpd[21179]: MGR: Launching /usr/sbin/pptpctrl to handle client
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: local address = 192.168.10.1
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: remote address = 192.168.10.100
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: pppd options file = /etc/ppp/pptpd-options
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Client 192.168.30.2 control connection started
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Received PPTP Control Message (type: 1)
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Made a START CTRL CONN RPLY packet
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: I wrote 156 bytes to the client.
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Sent packet to client
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Received PPTP Control Message (type: 7)
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Set parameters to 100000000 maxbps, 64 window size
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Made a OUT CALL RPLY packet
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Starting call (launching pppd, opening GRE)
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: pty_fd = 6
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: tty_fd = 7
Sep 24 12:13:33 gateway pptpd[21180]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd
Sep 24 12:13:33 gateway pptpd[21180]: CTRL (PPPD Launcher): local address = 192.168.10.1
Sep 24 12:13:33 gateway pptpd[21180]: CTRL (PPPD Launcher): remote address = 192.168.10.100
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: I wrote 32 bytes to the client.
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Sent packet to client
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Received PPTP Control Message (type: 15)
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Got a SET LINK INFO packet with standard ACCMs
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #0
Sep 24 12:13:33 gateway pptpd[21179]: GRE: Bad checksum from pppd.
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #1
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #2
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #3
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #4
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #5
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #6
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #7
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #8
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #9
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #10
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #11
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Received PPTP Control Message (type: 15)
Sep 24 12:13:33 gateway pptpd[21179]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Sep 24 12:13:33 gateway pptpd[21179]: GRE: accepting packet #12
Sep 24 12:13:36 gateway pptpd[21179]: GRE: accepting packet #13
Sep 24 12:14:03 gateway pptpd[21179]: GRE: accepting packet #14
Sep 24 12:14:33 gateway pptpd[21179]: CTRL: Received PPTP Control Message (type: 5)
Sep 24 12:14:33 gateway pptpd[21179]: CTRL: Made a ECHO RPLY packet
Sep 24 12:14:33 gateway pptpd[21179]: CTRL: I wrote 20 bytes to the client.
Sep 24 12:14:33 gateway pptpd[21179]: CTRL: Sent packet to client
Sep 24 12:14:33 gateway pptpd[21179]: GRE: accepting packet #15
Sep 24 12:14:59 gateway pptpd[21179]: CTRL: Received PPTP Control Message (type: 15)
Sep 24 12:14:59 gateway pptpd[21179]: CTRL: Got a SET LINK INFO packet with standard ACCMs
Sep 24 12:14:59 gateway pptpd[21179]: GRE: accepting packet #16
Sep 24 12:14:59 gateway pptpd[21179]: CTRL: Received PPTP Control Message (type: 12)
Sep 24 12:14:59 gateway pptpd[21179]: CTRL: Made a CALL DISCONNECT RPLY packet
Sep 24 12:14:59 gateway pptpd[21179]: CTRL: Received CALL CLR request (closing call)
Sep 24 12:14:59 gateway pptpd[21179]: CTRL: Reaping child PPP[21180]
Sep 24 12:15:00 gateway pptpd[21179]: CTRL: Client 192.168.30.2 control connection finished
Sep 24 12:15:00 gateway pptpd[21179]: CTRL: Exiting now
Sep 24 12:15:00 gateway pptpd[8301]: MGR: Reaped child 21179


"pptpd не пускает win-клиентов, ошибка 619"
Отправлено ipmanyak , 24-Сен-07 12:34 
Тогда возникает резонный вопрос , на фаерволе снаружи точно пропускаешь gre протокол номер 47 (уверен ?) , ну и порты 1723 само собйо в обе стороны?



"pptpd не пускает win-клиентов, ошибка 619"
Отправлено biffant , 24-Сен-07 13:29 
>Тогда возникает резонный вопрос , на фаерволе снаружи точно пропускаешь gre протокол
>номер 47 (уверен ?) , ну и порты 1723 само собйо
>в обе стороны?

Ну раньше ведь работало извне? :) Привожу правила (из дома симметричные, там шлюзом Debian Etch 2.4):

# pptpd-сервер
iptables -A good_packets_input -p tcp -s $ANYWHERE -d $IPADDR1 --dport 1723 -j ACCEPT
iptables -A good_packets_output -p tcp ! --syn -s $IPADDR1 --sport 1723 -d $ANYWHERE --dport $UNPRIVPORTS -j ACCEPT

# Разрешаем GRE
iptables -A FORWARD -p gre -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p gre -m state --state ESTABLISHED,RELATED -j ACCEPT

# Пакеты от моего реальника
iptables -A good_packets_output -p tcp -d ... -j ACCEPT
iptables -A good_packets_input -p tcp -s ... -j ACCEPT

...

# Протоколирование и затем отклонение всех оставшихся пакетов
iptables -A INPUT -s 0.0.0.0/0 -j LOG --log-prefix INPUT-DROP:
iptables -A OUTPUT -s 0.0.0.0/0 -j LOG --log-prefix OUTPUT-DROP:
iptables -A FORWARD -s 0.0.0.0/0 -j LOG --log-prefix FORWARD-DROP:

iptables -A INPUT -s 0.0.0.0/0 -j DROP
iptables -A OUTPUT -s 0.0.0.0/0 -j DROP
iptables -A FORWARD -s 0.0.0.0/0 -j DROP


"pptpd не пускает win-клиентов, ошибка 619"
Отправлено Yaten , 19-Дек-07 00:31 
Полностью аналогичная проблема.
Никто не может подсказать?

"pptpd не пускает win-клиентов, ошибка 619"
Отправлено biffant , 19-Дек-07 10:32 
>Полностью аналогичная проблема.
>Никто не может подсказать?

Выполнил все советы выше, кардинально ситуацию это не изменило. С тех пор нашел баг в конфиге iptables шлюза со стороны клиента (вместо PPP-интерфейса был прописан его внешний сетевой ETH-интерфейс), в результате pptp соединяется в 60% случаев, если же не соединяется, то достаточно подождать 5-20 минут и попробовать снова - как правило соединиться удается.

При этом, ещё порядка десяти win-клиентов, подключающихся к этом серверу, как и я, из дома, соединяются без проблем, у 2-3 сходные с моими проблемы, один просто не может зайти, но там ошибка "протокол недоступен", похоже пров режет gre


"pptpd не пускает win-клиентов, ошибка 619"
Отправлено serga37011 , 23-Дек-12 10:14 
У меня тоже была такая проблема! вчера заходил сегодня не могу, ошибка 619! помогло явное указание на вкалдке сеть тип соединения PPTP VPN после этого ошибка 619 пропала! подключение прошло