Господа, помогите пожалуйста разобраться, после обновления 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
noipparam2. /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
>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.
>>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
Тогда возникает резонный вопрос , на фаерволе снаружи точно пропускаешь gre протокол номер 47 (уверен ?) , ну и порты 1723 само собйо в обе стороны?
>Тогда возникает резонный вопрос , на фаерволе снаружи точно пропускаешь 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
Полностью аналогичная проблема.
Никто не может подсказать?
>Полностью аналогичная проблема.
>Никто не может подсказать?Выполнил все советы выше, кардинально ситуацию это не изменило. С тех пор нашел баг в конфиге iptables шлюза со стороны клиента (вместо PPP-интерфейса был прописан его внешний сетевой ETH-интерфейс), в результате pptp соединяется в 60% случаев, если же не соединяется, то достаточно подождать 5-20 минут и попробовать снова - как правило соединиться удается.
При этом, ещё порядка десяти win-клиентов, подключающихся к этом серверу, как и я, из дома, соединяются без проблем, у 2-3 сходные с моими проблемы, один просто не может зайти, но там ошибка "протокол недоступен", похоже пров режет gre
У меня тоже была такая проблема! вчера заходил сегодня не могу, ошибка 619! помогло явное указание на вкалдке сеть тип соединения PPTP VPN после этого ошибка 619 пропала! подключение прошло