Решено: не получается организовать vpn по pppd over ssh (LCP: timeout sending Config-Requests)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Решено: не получается организовать vpn по pppd over ssh

Сообщение Ленивая Бестолочь »

Добрый день!

Пытаюсь настроить vpn между тонкими клиентами (на gentoo) и их сервером (debian lenny) для того,
чтобы пустить через ssh все их общение (графика X11, nfs, lpd, одна своя программа).

Решил для этого воспользоваться методом, описанным здесть: Вот.
Сделал не совсем так, как там, но принцип тот же.

Что сделал:
поставил ssh и pppd на клиент и сервер.
настроил безпарольный ssh (работает)
выключил у debian показ /etc/motd
(кстати - как его правильно выключить. чтобы bash не показывал? с ssh то понятно. в итоге сделал линк на /dev/null)
сделал юзера sshvpn на сервере, хоум ему, сделал скриптик:

Код: Выделить всё

amalthea:/opt/ssh-vpn# cat vpn.start
#!/bin/bash
/usr/bin/sudo /usr/sbin/pppd noauth 10.10.10.10:10.10.10.1

и назначил его логин-шеллом юзеру sshvpn.

настроил sudo, чтобы sshvpn мог вызывать pppd без пароля - работает.

запускаю на клиенте комманду:

Код: Выделить всё

client ~ # /usr/sbin/pppd proxyarp updetach noauth  pty "ssh -e none -o 'BatchMode=yes' -C -t -t sshvpn@amalthea.xxx.ru "

и получаю:

Код: Выделить всё

Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
LCP: timeout sending Config-Requests
Connection terminated.
Modem hangup
client ~ # Killed by signal 15.

не работает :-(

в логах сервера.
/var/log/auth.log:

Код: Выделить всё

Oct  3 15:50:05 amalthea sshd[2885]: Accepted publickey for sshvpn from 172.16.18.61 port 52690 ssh2
Oct  3 15:50:05 amalthea sshd[2885]: pam_unix(sshd:session): session opened for user sshvpn by (uid=0)
Oct  3 15:50:31 amalthea sudo:   sshvpn : TTY=pts/2; PWD=/opt/ssh-vpn; USER=root; COMMAND=/usr/sbin/pppd noauth 10.10.10.10:10.10.10.1
Oct  3 15:50:36 amalthea sshd[2885]: pam_unix(sshd:session): session closed for user sshvpn

/var/log/syslog:

Код: Выделить всё

Oct  3 15:50:31 amalthea pppd[2890]: pppd 2.4.4 started by sshvpn, uid 0
Oct  3 15:50:31 amalthea pppd[2890]: Using interface ppp0
Oct  3 15:50:31 amalthea pppd[2890]: Connect: ppp0 <--> /dev/pts/2
Oct  3 15:50:36 amalthea pppd[2890]: Modem hangup
Oct  3 15:50:36 amalthea pppd[2890]: Connection terminated.


в общем в логах ничего вразумительного.

нагуглил по этой ошибке только вот это:
Check if pty-redir works To check the pty-redir program you have to issue the following command: pty-redir /usr/bin/ssh -t -l vpn1 slave sudo /usr/sbin/pppd REMEMBER: You'll have to use the complete path to ssh (simply use what the command which ssh says)! Since you do not get any output from this command you have to have a look at the syslog on the slave if pppd fires up. You should get a similiar output like this one:

Apr 7 10:50:42 xbgh5088 sudo: vpn1 : TTY=ttyp3 ; PWD=/home/vpn1 ; USER=root ; COMMAND=/usr/sbin/pppd
Apr 7 10:50:42 xbgh5088 pppd[1879]: pppd 2.3.5 started by vpn1, uid 0
Apr 7 10:50:42 xbgh5088 pppd[1879]: Using interface ppp0
Apr 7 10:50:42 xbgh5088 pppd[1879]: Connect: ppp0 <--> /dev/ttyp3
Apr 7 10:51:12 xbgh5088 pppd[1879]: LCP: timeout sending Config-Requests
Apr 7 10:51:12 xbgh5088 pppd[1879]: Connection terminated.
Apr 7 10:51:13 xbgh5088 pppd[1879]: Exit.
Apr 7 10:51:13 xbgh5088 sshd2[1876]: Remote host disconnected: Connection closed.


комманды pty-redir у меня ни в дебиане ни в дженту нет, и я склонен считать, что, в общем то дело не в этом.

если у кого-нибудь есть какие мысли - буду очень рад их услышать, спасибо ;-)



P.S.
если ssh-ем подключиться под этим юзером, но все ок (с виду) - нас встречает радостный pppt и начинает флудить скобочками, лишнего ничего нет (типа того же motd).
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение rm_ »

не получается организовать vpn по pppd over ssh

Не получается спать на потолке, всё время падаю.

Что мешает перестать так жестоко извращаться, и просто поставить OpenVPN?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение sash-kan »

JIeHb писал(а):
03.10.2008 15:53
выключил у debian показ /etc/motd
(кстати - как его правильно выключить. чтобы bash не показывал?
показывает motd не bash, а login. man 1 login.

по поводу ssh.
есть предположение, что ssh у вас просто отрабатывает и закрывает соединение.
может быть чего-нибудь в духе -f -N надо ему подсунуть?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение sash-kan »

JIeHb писал(а):
03.10.2008 15:53
client ~ # /usr/sbin/pppd proxyarp updetach noauth pty "ssh -e none -o 'BatchMode=yes' -C -t -t sshvpn@amalthea.xxx.ru "
эта команда ввела меня в заблуждение. вы указанное вами же руководство посмотрите внимательнее:
$ sudo /usr/sbin/pppd updetach noauth \
pty ”sudo -u sshvpn ssh -t -t server.example.com \
sudo pppd noauth 192.168.254.254:192.168.254.253
обратив внимание на выделенное мною.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение Ленивая Бестолочь »

2 sash-kan:

да,да - дело в том, что в том руководстве у юзера был стандартный sshvpn шелл, и - соответственно они им логинились
и выполняли команду, поднимающую pppd.
я решил, что оставлять техническому юзеру стандартный шелл я не хочу и сделал скрипт vpn.start, который и поставил ему в шелл.

Код: Выделить всё

amalthea:/opt/ssh-vpn# cat vpn.start
#!/bin/bash
/usr/bin/sudo /usr/sbin/pppd noauth 10.10.10.10:10.10.10.1


по поводу того, что он выходит:

Код: Выделить всё

Oct  3 15:50:05 amalthea sshd[2885]: Accepted publickey for sshvpn from 172.16.18.61 port 52690 ssh2
Oct  3 15:50:05 amalthea sshd[2885]: pam_unix(sshd:session): session opened for user sshvpn by (uid=0)
Oct  3 15:50:31 amalthea sudo:   sshvpn : TTY=pts/2; PWD=/opt/ssh-vpn; USER=root; COMMAND=/usr/sbin/pppd noauth 10.10.10.10:10.10.10.1
Oct  3 15:50:36 amalthea sshd[2885]: pam_unix(sshd:session): session closed for user sshvpn

1 строчка - принят ssh ключ клиента
2 строчка - зашел
3 строчка - отработал sudo из скрипта vpr.start - значит он выполняется таки
4 строчка - юзер вышел
обратите внимание - 5 секунд чтото таки делал.

спасибо огромное за ответ, я тут уже тихонько с ума схожу :-)

2 rm_: нужно по минимому всего ставить на клиент - это очень маленькая и убогая коробочка. кроме того способ, описанный здесь очень даже популярен.
и кстати - а какже ваш любимый unix-way?
он вроде говорит пользоваться тем, что есть и не ставить openvpn. ;-)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение Ленивая Бестолочь »

опять 2sash-kan: может ли это быть связанно с параметрами терминала, который используется во время вызова всего этого? пару раз на англоязычных форумах встречался с сообщениями, вроде "...а потом я запустил это не через xterm а через eterm и все пошло".
понимаю, что уже паникую, но другого workaround-а пока нет :-(
я правда не смогу поюзать ни eterm ни xterm т.к. на клиенте нет иксов - могу только подключившись к нему по ssh иил напрямую с консоли.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение sash-kan »

к команде вызова pppd на той стороне добавьте всяких там debug-ов.

и еще. не надо ли туда же вставить и параметр nodetach? а может быть, еще и passive?
но это я так, на кофейной гуще…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение Ленивая Бестолочь »

добавил сначала nodetach, потом и passive - результат тот же.
с debug'ом на сервере в syslog попадает вот такое:

Код: Выделить всё

Oct  4 19:34:38 amalthea pppd[3354]: pppd 2.4.4 started by sshvpn, uid 0
Oct  4 19:34:38 amalthea pppd[3354]: using channel 23
Oct  4 19:34:38 amalthea pppd[3354]: Using interface ppp0
Oct  4 19:34:38 amalthea pppd[3354]: Connect: ppp0 <--> /dev/pts/3
Oct  4 19:34:38 amalthea pppd[3354]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7feae458> <pcomp> <accomp>]
Oct  4 19:34:41 amalthea pppd[3354]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x7feae458> <pcomp> <accomp>]
Oct  4 19:34:43 amalthea pppd[3354]: Modem hangup
Oct  4 19:34:43 amalthea pppd[3354]: Connection terminated.
Oct  4 19:34:43 amalthea pppd[3354]: Exit.


auth/log:

Код: Выделить всё

Oct  4 19:34:12 amalthea sshd[3350]: Accepted publickey for sshvpn from 172.16.18.61 port 50811 ssh2
Oct  4 19:34:12 amalthea sshd[3350]: pam_unix(sshd:session): session opened for user sshvpn by (uid=0)
Oct  4 19:34:38 amalthea sudo:   sshvpn : TTY=pts/3; PWD=/opt/ssh-vpn; USER=root; COMMAND=/usr/sbin/pppd debug nodetach passive noauth 10.10.10.10:10.10.10.1
Oct  4 19:34:43 amalthea sshd[3350]: pam_unix(sshd:session): session closed for user sshvpn

опять 5 секунд повисело и все...
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение sash-kan »

проблема, видимо, все-таки в вашей железяке.
только что протестировал практически такой же вызов, как и в руководстве. только без создания дополнительных аккаунтов.
заработало сразу же.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение Ленивая Бестолочь »

быстренько поставил на машину с дебианом pppd - попробовал с нее подключиться (и юзером sshvpn и просто рутом) - то же самое.
так, что (надеюсь) проблема всетаки в сервере.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: не получается организовать vpn по pppd over ssh

Сообщение Ленивая Бестолочь »

поставил connect-delay. разаботало.

Код: Выделить всё

client ~ # /usr/sbin/pppd connect-delay 10000 debug passive proxyarp updetach noauth  pty "ssh -e none  -C -t -t 172.16.42.244 -l sshvpn"


...и почему оно так не работало? :-/

п.с. айпишник поставил сгоряча - и по имени все ок, если delay есть.

п.п.с
2 rm_: отсюда
из листинга скрипта поднятия такого vpn-а:
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian GNU/Linux
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.

в общем создатель нашего с вами дистрибутива тоже любитель "поспать на потолке" ;-)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали: