LINUX.ORG.RU
решено ФорумAdmin

Настройка VPN между VPS и компьютером

 , ,


0

1

Уже несколько дней мучаюсь с настройкой VPN на сервере. Делал по этой инструкции. Вместо eth0 указал venet0. На обоих машинах Ubuntu 13.04. В какую сторону копать? Кто виноват - сервер, или клиент?
Вывод tail -f /var/log/syslog
01:49:01 NetworkManager[1303]: <info> VPN plugin state changed: starting (3)
01:49:01 pppd[6974]: Plugin /usr/lib/pppd/2.4.5/nm-pptp-pppd-plugin.so loaded.
01:49:01 NetworkManager[1303]: <info> VPN connection 'VPN connection 1' (Connect) reply received.
01:49:01 pppd[6974]: pppd 2.4.5 started by root, uid 0
01:49:01 pppd[6974]: Using interface ppp0
01:49:01 pppd[6974]: Connect: ppp0 <--> /dev/pts/0
01:49:01 pptp[6977]: nm-pptp-service-6970 log[main:pptp.c:314]: The synchronous pptp option is NOT activated
01:49:01 NetworkManager[1303]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
01:49:01 NetworkManager[1303]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
01:49:01 NetworkManager[1303]: <warn> /sys/devices/virtual/net/ppp0: couldn't determine device driver; ignoring...
01:49:02 pptp[6986]: nm-pptp-service-6970 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
01:49:02 pptp[6986]: nm-pptp-service-6970 log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
01:49:02 pptp[6986]: nm-pptp-service-6970 log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
01:49:03 pptp[6986]: nm-pptp-service-6970 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
01:49:09 pptp[6986]: nm-pptp-service-6970 log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
01:49:09 pptp[6986]: nm-pptp-service-6970 log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 1024).
01:49:14 pptp[6986]: nm-pptp-service-6970 log[pptp_read_some:pptp_ctrl.c:544]: read returned zero, peer has closed
01:49:14 pptp[6986]: nm-pptp-service-6970 log[callmgr_main:pptp_callmgr.c:258]: Closing connection (shutdown)
01:49:14 pptp[6986]: nm-pptp-service-6970 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request'
01:49:14 pptp[6986]: nm-pptp-service-6970 log[pptp_read_some:pptp_ctrl.c:544]: read returned zero, peer has closed
01:49:14 pptp[6986]: nm-pptp-service-6970 log[call_callback:pptp_callmgr.c:79]: Closing connection (call state)
01:49:14 pppd[6974]: Modem hangup
01:49:14 pppd[6974]: Connection terminated.


Судя по этому логу нет прохождения GRE-пакетов, а уж кто виноват — разбиратся вам, начните с правил iptables.

mky ★★★★★ ()

Интереснее логи с сервера.

Adjkru ★★★★★ ()
Ответ на: комментарий от anonymous

попробуй по этой инструкции http...

У автора openvz, судя по всему. А значит для openvpn нужно обращаться к хостеру с просьбой включить TUN. Для pptp же tun не нужен.

Adjkru ★★★★★ ()
Ответ на: комментарий от Adjkru

Я уже писал раньше и мне включили TUN/TAP :)
Настройки фаервола: /etc/rc.local
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o venet0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.3.0/24 -j TCPMSS --set-mss 1056

sudo ifconfig
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:57081 errors:0 dropped:0 overruns:0 frame:0
TX packets:55045 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:24648275 (24.6 MB) TX bytes:24444901 (24.4 MB)

venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:87.65.43.20 P-t-P:87.65.43.20 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

venet0:1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:87.65.43.21 P-t-P:87.65.43.21 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

Насчет статьи - не хочется сразу за PPTP и OpenVPN хвататься, настроить бы одно.

usr13 ()
Ответ на: комментарий от Adjkru

Логи сервера:
13:00:18 iz pptpd[2740]: CTRL: Client 85.3.2.1 control connection started
13:00:19 iz pptpd[2740]: CTRL: Starting call (launching pppd, opening GRE)
13:00:19 iz pppd[2741]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
13:00:19 iz pppd[2741]: Couldn't open the /dev/ppp device: No such file or directory
13:00:24 iz pppd[2741]: You need to create the /dev/ppp device node by executing the following command as root: ^Imknod /dev/ppp c 108 0
13:00:24 iz pptpd[2740]: GRE: read(fd=6,buffer=6075a0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
13:00:24 iz pptpd[2740]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
13:00:24 iz pptpd[2740]: CTRL: Reaping child PPP[2741]
13:00:24 iz pptpd[2740]: CTRL: Client 85.3.2.1 control connection finished^C

Как тут предложено, запустил:
user@iz:~$ sudo mknod /dev/ppp c 108 0
Теперь в логах:
13:04:17 iz pptpd[2760]: CTRL: Client 85.3.2.1 control connection started
13:04:18 iz pptpd[2760]: CTRL: Starting call (launching pppd, opening GRE)
13:04:18 iz pppd[2761]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
13:04:18 iz pppd[2761]: Couldn't open the /dev/ppp device: Permission denied
13:04:48 iz pptpd[2760]: CTRL: Reaping child PPP[2761]
Попробовал изменить права на /dev/ppp, но в логах ничего не изменилось
sudo chown user /dev/ppp
sudo chmod 777 /dev/ppp

То есть, видимо, в OpenVZ модуль ppp не включен. Опять надо в саппорт писать? Что-то за $3.30 в месяц я много от них требую :D надо порообовать OpenVPN тогда.

usr13 ()

Да сделай опенвпн и не парь моск. Ни себе, ни техподам.

slamd64 ★★★★★ ()
Ответ на: комментарий от usr13

Видимо, в любом случае придётся писать в саппорт. Хоть для PPP, хоть для TUN/OpenVPN. Т.к. обычно модуль tun на openvz выключен.

Adjkru ★★★★★ ()
Последнее исправление: Adjkru (всего исправлений: 1)
Ответ на: комментарий от Adjkru

поставил OpenVPN AS, при попытке запустить сервер пишет «iptables service not started because of error (SVC_RUN_EXCEPT)». То есть все равно придется писать в саппорт, чтобы включили iptables? Я уже раздумываю, не перейти ли на хостинг на XEN с моими требованиями :) А то у этих даже самой банальной панели управления нет

usr13 ()
Ответ на: комментарий от Adjkru

Хм, похоже, что все-таки NAT в iptables у меня включен.
user@iz:~$ sudo iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 24374 packets, 3921K bytes)
pkts bytes target prot opt in out
source destination
Chain POSTROUTING (policy ACCEPT 13535 packets, 2246K bytes)
pkts bytes target prot opt in out
source destination
Chain OUTPUT (policy ACCEPT 13535 packets, 2246K bytes)
pkts bytes target prot opt in out
source destination

Насчет TUN/TAP я им еще раньше писал, они включили (так и должно быть)
user@iz:~$ sudo cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state
В чем же тогда проблема? Хм

usr13 ()
Ответ на: комментарий от usr13

ipt_state iptable_nat в iptables должны быть включены.

http://poiuty.ru/img/29c932fa71f772b2bc133484dd8f.png

# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:143030 errors:0 dropped:0 overruns:0 frame:0
          TX packets:143030 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:16091192 (15.3 MiB)  TX bytes:16091192 (15.3 MiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:8598 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8870 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:803848 (785.0 KiB)  TX bytes:1517796 (1.4 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:x.x.x.x  P-t-P:x.x.x.x  Bcast:x.x.x.x  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
/etc/init.d/openvpn status
[ ok ] VPN 'server' is running.

Так же нужно запилить правила в iptables

iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to IP_SERVER
iptables -A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT

poiuty ()
Ответ на: комментарий от poiuty

В общем, мне это надоело, и я купил за $4.98 сервер XEN http://lowendbox.com/blog/pzea-4-98month-512mb-xen-vps-in-4-usa-locations/
Потратил 5 минут на настройку OpenVPN AS по ссылке анонима, все работатет отлично, скорость даже выше чем на моем ADSL (видимо, сжатие работает).

usr13 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.