LINUX.ORG.RU
ФорумAdmin

VPN в Ubuntu 10.04


0

1

Здравтвуйте! Такой вопрос...

У меня компьютер подключен к сети. Адрес получается по dhcp (dhclient или NetworkManager, не важно).

Далее приведу результаты вывода некоторых команд.

[code=bash]
w63f@mozart-laptop:~/work/doc$ sudo dhclient eth0
Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:1e:8c:bc:0f:17
Sending on LPF/eth0/00:1e:8c:bc:0f:17
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPOFFER of 10.7.241.99 from 10.195.2.131
DHCPREQUEST of 10.7.241.99 on eth0 to 255.255.255.255 port 67
DHCPNAK from 10.2.72.222
DHCPACK of 10.7.241.99 from 10.7.0.1
bound to 10.7.241.99 — renewal in 36360 seconds.


w63f@mozart-laptop:~/work/doc$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:1e:8c:bc:0f:17
inet addr:10.7.241.99 Bcast:10.7.255.255 Mask:255.255.0.0
inet6 addr: fe80::21e:8cff:febc:f17/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:96093 errors:0 dropped:0 overruns:0 frame:0
TX packets:85566 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:94937313 (94.9 MB) TX bytes:8335887 (8.3 MB)
Interrupt:17 Base address:0xd400

w63f@mozart-laptop:~/work/doc$ route -nv
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
10.195.1.36 10.7.0.1 255.255.255.255 UGH 0 0 0 eth0
10.7.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
[/code]

Дальше я пробую настроить vpn. Настраиваю его с помощью данного скрипта:

[code=bash]
#!/bin/bash

PPPDIR=/etc/ppp
CONFDIR=$PPPDIR/peers

RUNAS=$(id -u)

if [ $RUNAS -ne 0 ]
then
echo «Запустите скрипт с правами суперпользователя»
exit 0
fi

echo «Введите имя VPN подключения:»
read CONNAME

if [ -e $CONFDIR/$CONNAME ]
then
echo «Удалить существующий файл конфигурации?»
echo «default: yes»
read DELCONF
case $DELCONF in
y|yes|1) cat /dev/null >$CONFDIR/$CONNAME;;
n|no|0) exit 0;;
*) cat /dev/null >$CONFDIR/$CONNAME;;
esac
else
touch $CONFDIR/$CONNAME
fi

echo «Ведите адрес VPN сервера:»
read SERVER
echo «Введите имя пользователя:»
read USER
echo «Введите пароль:»
read PSWD

for i in «pty \„pptp $SERVER --nolaunchpppd\“» «lock» «noauth» «nobsdcomp» «nodeflate» «noccp» «nomppe» «nomppe-40» «refuse-pap» «refuse-eap» «refuse-chap» «refuse-mschap» «require-mppe-128» «name $USER» «remotename $CONNAME» «ipparam $CONNAME»
do
echo $i >>$CONFDIR/$CONNAME
done

echo «Установить как маршрут по умолчанию?»
echo «default: yes»
read DEFROUTE
case $DEFROUTE in
y|yes|1) echo -e «defaultroute\nreplacedefaultroute» >>$CONFDIR/$CONNAME;;
n|no|0) : ;;
*) echo -e «defaultroute\nreplacedefaultroute» >>$CONFDIR/$CONNAME;;
esac

echo «Использовать DNS сервера получаемые от VPN сервера?»
echo «default: yes»
read USEPEERDNS
case $USEPEERDNS in
y|yes|1) echo «usepeerdns» >>$CONFDIR/$CONNAME;;
n|no|0) : ;;
*) echo «usepeerdns» >>$CONFDIR/$CONNAME;;
esac

echo «Восстанавливать соединение после сбоя?»
echo «default: yes»
read PERSIST
case $PERSIST in
y|yes|1) echo «persist» >>$CONFDIR/$CONNAME;;
n|no|0) : ;;
*) echo «persist» >>$CONFDIR/$CONNAME;;
esac

echo -e «\n#Добавлено скриптом настройки PPTP соединения» >>$PPPDIR/chap-secrets
echo «$USER $CONNAME \»$PSWD\" *" >>$PPPDIR/chap-secrets

echo «*** Для запуска соединения используейте команду \„sudo pon $CONNAME\“ ***»
echo «*** для отключения \„sudo poff $CONNAME\“ ***»
echo «»
echo «Запустить соединение сейчас?»
echo «default: no»
read CONNECT
case $CONNECT in
y|yes|1) pon $CONNAME; sleep 10; ifconfig ppp0;;
n|no|0) : ;;
*) : ;;
esac
exit 0
[/code]

После чего запускаю pon:

[code=bash]
w63f@mozart-laptop:~/work/doc$ sudo pon bashtel

w63f@mozart-laptop:~/work/doc$ route -nv
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
10.195.1.36 10.7.0.1 255.255.255.255 UGH 0 0 0 eth0
10.7.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
10.7.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0

w63f@mozart-laptop:~/work/doc$ tail /var/log/messages
Jan 12 19:57:19 mozart-laptop pppd[10869]: pppd 2.4.5 started by root, uid 0
Jan 12 19:57:19 mozart-laptop pppd[10869]: Using interface ppp0
Jan 12 19:57:19 mozart-laptop pppd[10869]: Connect: ppp0 <--> /dev/pts/4

w63f@mozart-laptop:~/work/doc$ ping ya.ru
ping: unknown host ya.ru
[/code]

То есть, тут он никаких ошибок не выдаёт и интерфейс ppp0 вроде как занят, однако в ifconfig не высвечивается и вообще ни один IP-адрес, кроме локальных не пингуется..

Если же попробовать установить соединение полностью с помощью NetworkManager (как получение IP, так и установление соединения VPN), то там вообще ничего, связанного с VPN не работает:

[code=bash]
w63f@mozart-laptop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1e:8c:bc:0f:17
inet addr:10.7.241.99 Bcast:10.7.255.255 Mask:255.255.0.0
inet6 addr: fe80::21e:8cff:febc:f17/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2045 (2.0 KB) TX bytes:4082 (4.0 KB)
Interrupt:17 Base address:0xd400


w63f@mozart-laptop:~$ route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
10.195.1.36 10.7.0.1 255.255.255.255 UGH 0 0 0 eth0
10.7.241.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
10.7.0.0 0.0.0.0 255.255.0.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0

w63f@mozart-laptop:~$ grep CONFIG_TUN /boot/config-`uname -r`
CONFIG_TUN=y


w63f@mozart-laptop:~$ ping vpn.bashtel.ru
PING vpn.bashtel.ru (83.174.193.219) 56(84) bytes of data.
64 bytes from game2.bashtel.ru (83.174.193.219): icmp_seq=1 ttl=55 time=22.4 ms
64 bytes from game2.bashtel.ru (83.174.193.219): icmp_seq=2 ttl=55 time=20.0 ms
64 bytes from game2.bashtel.ru (83.174.193.219): icmp_seq=3 ttl=55 time=20.9 ms


root@mozart-laptop:/etc/openvpn# tail -n 20 /var/log/syslog
Jan 12 17:34:08 mozart-laptop NetworkManager: <info> VPN connection 'VPN-соединение 1' (Connect) reply received.
Jan 12 17:34:08 mozart-laptop pppd[4838]: Plugin /usr/lib/pppd/2.4.5//nm-pptp-pppd-plugin.so loaded.
Jan 12 17:34:08 mozart-laptop pppd[4838]: pppd 2.4.5 started by root, uid 0
Jan 12 17:34:08 mozart-laptop pppd[4838]: Using interface ppp0
Jan 12 17:34:08 mozart-laptop pppd[4838]: Connect: ppp0 <--> /dev/pts/3
Jan 12 17:34:08 mozart-laptop NetworkManager: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jan 12 17:34:08 mozart-laptop NetworkManager: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
Jan 12 17:34:08 mozart-laptop pptp[4842]: nm-pptp-service-4836 log[main:pptp.c:314]: The synchronous pptp option is NOT activated
Jan 12 17:34:11 mozart-laptop pptp[4844]: nm-pptp-service-4836 warn[open_inetsock:pptp_callmgr.c:329]: connect: No route to host
Jan 12 17:34:11 mozart-laptop pptp[4844]: nm-pptp-service-4836 fatal[callmgr_main:pptp_callmgr.c:127]: Could not open control connection to 10.7.0.1
Jan 12 17:34:11 mozart-laptop pptp[4842]: nm-pptp-service-4836 fatal[open_callmgr:pptp.c:479]: Call manager exited with error 256
Jan 12 17:34:11 mozart-laptop pppd[4838]: Modem hangup
Jan 12 17:34:11 mozart-laptop pppd[4838]: Connection terminated.
Jan 12 17:34:11 mozart-laptop NetworkManager: <info> VPN plugin failed: 1
Jan 12 17:34:11 mozart-laptop NetworkManager: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jan 12 17:34:11 mozart-laptop pppd[4838]: Exit.
Jan 12 17:34:11 mozart-laptop NetworkManager: <info> VPN plugin failed: 1
Jan 12 17:34:11 mozart-laptop NetworkManager: <info> VPN plugin state changed: 6
Jan 12 17:34:11 mozart-laptop NetworkManager: <info> VPN plugin state change reason: 0
Jan 12 17:34:11 mozart-laptop NetworkManager: <WARN> connection_state_changed(): Could not process the request because no VPN connection was active.
[/code]



Последнее исправление: w63f (всего исправлений: 1)

Итак по порядку:

1) Вывод

ip -4 a

после получения dhcp

2) VPN подключается элементарно без всяких скриптов

[jugatsu@lenovo ~]$ cat /etc/ppp/peers/provider 
pty "pptp <ip-адрес vpn-сервера> --nolaunchpppd"
connect /bin/true
name <логин>
password "пароль"
file /etc/ppp/options.pptp
[jugatsu@lenovo ~]$ egrep -v '^#|^$' /etc/ppp/options.pptp
lock
noauth
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
require-mppe-128
persist
maxfail 10

А далее исходя из того, кто будет шлюзом. Если пир шлюз (из подсети vpn, скажем 172.12.0.1), то добавляем в /etc/ppp/peers/provider

defaultroute
replacedefaultroute

А далее уже на усмотрение /etc/ppp/ip-up.d/ вписывать маршруты.

Ах да, чуть не забыл. Запускать поначалу

sudo pon provider nodetach debug

чтобы было ясно.

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

Ну, да. Я это всё делал. Но, я дубина. Потому что там никакого VPN не было. Там было DSL-соединение =)

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