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

Исходное сообщение
"VPN pptpd PTY failed: status = -1 error = Input/output error"

Отправлено Voron , 21-Май-06 01:32 
Здравствуйте.
Перерыл форум по такой вот проблеме - решения так и не нашёл.
Ось Слака 10.2
Ядро пропатчено для поддержки MPPE. Поддержка включена в ядро, а не модульно. Демон pppd тоже пропатчен.

Необходимо создать vpn соединение.
Клиент Win2000 должен подключиться через vpn и получить ip 192.168.1.2 для доступа к сети 192.168.1.0.24.

Пока работаю в тэстовом режиме и не перенесоно на основной сервер.
На сервере имею 1 сетевую, которая имет адрес 10.10.16.20.
Имею Демона pptpd с настройками по умолчанию, в которй изменил localip 10.10.16.20 remoteip 192.168.1.2-253.
Не установлен ms-dns, ms-wins.
При запуске демона по команде netstat -n -a я вижу, что порт 1723 прослушивается и может принять подключение. Фаервол не установлен.
Я так понимаю, что при появлении подключения, pptpd передаст управление pppd, который работает с ядром для работы vpn. Ядро монолитное, без модулей, всё для работы vpn в ядре включено.
Пробывал полностью отключить шифрование, использовать просто chap для авторизации, и pap. Ощибка виндовых клиентов - удалённая система не отвечатет и устройство связи сообщило об ошибке.
Просьба не рекомендовать ssh и всё в таком случае. Нужна конкретная реализация при помощи pptpd.
Если есть другие демоны, которые организуют vpn соединение без установки дополнительного софта для виндовз систем, а сипользовать шифрование по умолчанию для виндовз клиентов - подскажите.


Содержание

Сообщения в этом обсуждении
"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено v.i.t , 21-Май-06 08:57 
>Ось Слака 10.2
>Ядро пропатчено для поддержки MPPE. Поддержка включена в ядро, а не модульно.
>Демон pppd тоже пропатчен.

в slackware 10.2 кривой pppd-2.4.4b1
1.установить pppd-2.4.3
2.не забыть удалить  старый (removepgk pppd-2.4.4b1) или  в pptp.conf
явно указать путь для нового pppd

вероятно вы не сделали п.2


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 21-Май-06 09:21 

>в slackware 10.2 кривой pppd-2.4.4b1
>1.установить pppd-2.4.3
>2.не забыть удалить  старый (removepgk pppd-2.4.4b1) или  в pptp.conf
>явно указать путь для нового pppd
>
>вероятно вы не сделали п.2

Стоит 2.4.3, так как на эту версию есть патч для виндового алгоритма криптографии. Старый был удалён, только я через pkgtool а там выбрал удаление и указал пакет. На данный момент у меня висит он в removed_pack.


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 21-Май-06 09:25 
При отсутсвии подключения к интернету и связывание двух частных сетей через vpn, что должен показывать ifconfig и чо нужно добавить для установления соеденения между сетями?



"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 21-Май-06 11:03 
Пакет portslave нужно устанавливать?



"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 07:32 
включи debug для pptpd и смотри лог, а ошибки винды могут бы и с номерами привести !  судя по всему pptpd  у тебя не стартовал или вылетел с ошибкой, проверь файл /var/log/messages и debug

"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 07:36 
если ты включил поддержку ppp в ядро, то у тебя должен болтаться интерфейс ppp0 и именно на нем будет вскакивать vpn


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 07:41 
>если ты включил поддержку ppp в ядро, то у тебя должен болтаться
>интерфейс ppp0 и именно на нем будет вскакивать vpn
etc/pptpd.conf
---
speed 115200
option /etc/ppp/options.pptpd
debug
stimeout 10
localip 10.131.75.1
remoteip 10.131.75.2-5
---
/etc/ppp/options.pptpd
---
ipparam PoPToP
name popatopa
proxyarp
bsdcomp 0
debug
lock
mtu 1400
mru 1400
ms-dns 10.131.1.6
proxyarp
auth
-pap
+chap
lcp-echo-failure 35
lcp-echo-interval 6
deflate 0
the remote IP address was specified in an option.
ipcp-accept-remote
---
ну и логин и пароль в chap-secrets

10.131.75.1 - этот адресс имеет алиасный интерфейс  eth0:2  
в такой конфигурации проверь  свой pptp  без  mppe !  если заработает будешь потом далее копать уже с  mppe.


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 22-Май-06 11:50 
Ошибка, которая в теме заголовка как раз из debug.
ppp0 интерфейс у меня не появился. Но могу его создать при помощи команды ip.
pptpd у меня 1.3.2 - конфигурация типа +chap или -chap не прокатывает, там теперь требуется указывать require или refuse. Я пробывал провести авторизацию без шифрования - убрал всё как на строне клиента так и на стороне сервера. Не прокатило.
Если нет ppp0 и не нужно его создавать - то какая ещё зависимоть должна быть в ядре, для того, чтобы появился этот интерфейс. По команде ifconfig -а я не виже его, хотя там есть tunl0, gre и чуток других.

"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 13:15 
>Ошибка, которая в теме заголовка как раз из debug.
>ppp0 интерфейс у меня не появился. Но могу его создать при помощи
>команды ip.
>pptpd у меня 1.3.2 - конфигурация типа +chap или -chap не прокатывает,
pptpd 1.3.2   - экспериментальная версия, я не юзаю  такие версии, у меня версия 1.3.0

>там теперь требуется указывать require или refuse. Я пробывал провести авторизацию
>без шифрования - убрал всё как на строне клиента так и
>на стороне сервера. Не прокатило.
>Если нет ppp0 и не нужно его создавать - то какая ещё
>зависимоть должна быть в ядре, для того, чтобы появился этот интерфейс.
>По команде ifconfig -а я не виже его, хотя там есть
>tunl0, gre и чуток других.
включи ppp в ядре в Networking device support поставь звездочку напротив  PPP (point to point protocol)  и также поставь звездочки напротив остальных опций ниже касательно PPP , пересобери ядро .



"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 22-Май-06 13:23 
>включи ppp в ядре в Networking device support поставь звездочку напротив  
>PPP (point to point protocol)  и также поставь звездочки напротив
>остальных опций ниже касательно PPP , пересобери ядро .


CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_MPPE_MPPC=y
CONFIG_PPPOE=y
CONFIG_COMX_PROTO_PPP=m
CONFIG_SYNCLINK_SYNCPPP=m
CONFIG_HDLC_PPP=y
CONFIG_PC300_MLPPP=y


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 13:25 
почитай статью - http://www.shorewall.net/PPTP.htm  там  хорошо написано


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 13:29 
в 1.3.0  опцию  -chap   pptp  в options.pptpd  хавает !

# OpenSSL licensed ppp-2.4.1 fork with MPPE only, kernel module mppe.o
# {{{
#-chap
#-chapms
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
#+chapms-v2
# Require MPPE encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
#mppe-40        # enable either 40-bit or 128-bit, not both
#mppe-128
#mppe-stateless
# }}}



"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 22-Май-06 13:41 
есть ли разница (согласно картинки в статье) - у меня PPP и все под ним опции будут включены в ядро или модульно ставить? Не будут ли одни опции перекрывать другие, т.е. например если устанвлена в Y опция PPP filtering, то она не даст возможность создать ppp0 при загрузке ядра?



"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 22-Май-06 13:53 
Теперь стало по-проще. При подключении выдаёт 738 ошибку - сервер не назначил адрес. Логи говорят, что используется для соеденения ppp0, которого у меня нет. ppp0 -> /dev/pts/2. Наводящий ещё один вопрос. Если стоит Y для PPP, то должен ли он вообще отображаться по команде ifconfig -a?


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 14:00 
>Теперь стало по-проще. При подключении выдаёт 738 ошибку - сервер не назначил адрес. Логи говорят, что используется для соеденения ppp0, которого у меня нет. ppp0 -> /dev/pts/2. Наводящий ещё один вопрос. Если стоит Y для PPP, то должен ли он вообще отображаться по команде ifconfig -a?
по идее да должен ! ну попробуй сам ручками поднять ppp0


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 14:01 
ты ядро то пересобрал и новое ядро прописал  в boot ?


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 22-Май-06 14:20 
>по идее да должен ! ну попробуй сам ручками поднять ppp0
Не отображается, млин. Сча попробую модульно и подгрузить. Если поднимать при помощи команды ip, то он всё-равно не проходит
May 22 12:23:22 voron kernel: divert: allocating divert_blk for eth0
May 22 12:23:22 voron kernel: divert: allocating divert_blk for eth1
May 22 12:23:22 voron kernel: divert: allocating divert_blk for bond0
May 22 12:23:22 voron kernel: divert: not allocating divert_blk for non-ethernet device shaper0
May 22 12:23:22 voron kernel: divert: not allocating divert_blk for non-ethernet device dummy0
May 22 12:23:22 voron kernel: divert: not allocating divert_blk for non-ethernet device eql
May 22 12:23:22 voron kernel: divert: not allocating divert_blk for non-ethernet device tunl0
May 22 12:23:22 voron kernel: divert: not allocating divert_blk for non-ethernet device gre0
May 22 12:55:19 voron kernel: divert: not allocating divert_blk for non-ethernet device ppp0
May 22 12:55:23 voron kernel: divert: no divert_blk to free, ppp0 not ethernet
May 22 13:04:02 voron kernel: divert: not allocating divert_blk for non-ethernet device ppp0
May 22 13:06:01 voron kernel: divert: not allocating divert_blk for non-ethernet device ppp0
May 22 13:06:01 voron kernel: divert: no divert_blk to free, ppp0 not ethernet

Такая вот ругня происходит, когда я пытаюсь при помощи ip поднять ppp0 и другие варианты.



"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено ipmanyak , 22-Май-06 13:56 
>есть ли разница (согласно картинки в статье) - у меня PPP и
>все под ним опции будут включены в ядро или модульно ставить?
>Не будут ли одни опции перекрывать другие, т.е. например если устанвлена
>в Y опция PPP filtering, то она не даст возможность создать
>ppp0 при загрузке ядра?
сам решай грузить модулями или сразу при загрузке ядра иметь поднятый ppp интерфейс. разницы нет. PPP filtering не должно мешать, это для фильтрации пакетов на ppp интерфейсах  (iptables)


"VPN pptpd PTY failed: status = -1 error = Input/output error"
Отправлено Voron , 22-Май-06 17:14 
Итак, хочу подвести итог.
pptpd PTY failed: status = -1 error = Input/output error - Такая ошибка вылетает, если хотя бы одна опция в файле /etc/ppp/options.pptpd or /etc/ppp/options (всё зависит от настройки в pptpd.conf) НЕ ПРАВИЛЬНАЯ. Сам демон в таком случае запускается, порт слушается демоном, но не происходит подключения. Было и такое, что демон просто зависал и не хотел запускаться. У клиента Вин2000 выскакивает таблича с ошибкой, что удалённая система не отвечает или же демон мёрт (780 ошибка вроде). Для уверенности комментируем все опции что там есть, оставляем тока самые нужные, такие как debug, locaip, remoteip, lock. после этого должна вылетать ошибка, что не поддерживается шифрование сервером и не происходит подключение - смотрим логи и пытаемся всё исправить. В случае, если PPP встроен в ядро, то по команде ifconfig -a вы не увидите подключение типа ppp0, а вот когда модульно, то в таком случае нужно будет подправить /etc/modules (смотрите readme.linux в установочном каталоге с ppp, там описано что нужно добавить в /etc/modules для успешной загрузки модуля generic_ppp). Также должна стоять опция CONFIG_NET_IPGRE - при помощи её происходит установка связи с терминалом.
У меня получилось поднять в такой завязке - pptpd - 1.3.2, ppp - 2.4.4b1 (для этой версии ppp не нужно накладывать никаких патчей для поддержки шифрования). Ядро использовал 2.4.33pre3 с заплатками OpenWall MPPE.
Спасибо всем, кто откликнулся и помог.