Как настроить VPN

Автор: CoderInside
e-mail: coder@vmail.ru
icq: 233503535

Версия 1.3

В статье описывается процесс настройки VPN клиента для организации подключения к услуге «Интернет+Дом» компании Информсвязь. Все данные которые необходимы для описанной ниже настройке выдаются на руки при подключении. Подключать будем машину с одной сетевой картой и установленной Ubuntu 6.06 LTS. Данные из карточки клиента (естественно вымышленные ;) ):

  • Ваше учетное имя для доступа в сеть (Login): coder
  • Ваш пароль для доступа в сеть: qwerty
  • Адрес PPTP сервера: 192.168.149.1
  • Адреса сервера DNS: первичный 195.98.64.65, вторичный 195.98.64.66
  • Локальный IP-адрес: 192.168.172.15
  • Маска подсети: 255.255.255.192
  • Шлюз доступа в сеть: 192.168.172.1

Для подключения к VPN серверу будем использовать pptp-linux. Переходим в терминал и устанавливаем этот пакет:

sudo aptitude install pptp-linux

Обратите внимание что вместо утилиты apt-get используется ее улучшенный вариант – aptitude. Она лучше справляется с зависимостями да и на сайте Debian ее настоятельно рекомендуют использовать вместо устаревшей apt-get.

Пакет установлен и первоначально сконфигурирован. Теперь переходим в каталог /etc/ppp, открываем только что созданный файл options.pptp, удаляем из него все строчки и добавляем следующее:

# Использовать lock в стиле UUCP для последовательного устройства
lock
# Не требовать удаленную сторону назвать себя
noauth
# Не отключаться когда соединение закрыто, пробовать открыть его снова
persist

Добавим в систему будущее соединие, назовем его ic. Для этого создадим файл /etc/ppp/peers/ic и наполним его следующим содержимым:

# При отсутствии связи всегда пытаемся подключиться
maxfail 0
# Узнаем о «самочуствии» удаленной стороны каждые 60 сек
lcp-echo-interval 60
# Если удаленная сторона не ответила 4 раза – считаем что нас отключили
lcp-echo-failure 4
# Установить маршрут по умолчанию
defaultroute
# Комманда для соединения
pty "pptp 192.168.149.1 --nolaunchpppd"
# Устанавливаем имя нашего хоста
name coder
# Устанавливаем имя удаленного хоста
remotename PPTP
# Читать дополнительные настройки из options.pptp
file /etc/ppp/options.pptp
# Дополнительный параметр для скриптов ip-up, ip-pre-up, ip-down
ipparam ic
# Включить «Deflate» сжатие (так работает заметно быстрее)
deflate 15,15
# Если переодически отваливается, следует ограничить максимальный размер пакета
mtu 1412

Теперь введем имя пользователя и пароль. Открываем файл /etc/ppp/chap-secrets и добавляем в него следующую строчку

coder PPTP qwerty *

Тунель настроен. Далее сконфигурируем сетевую карту. Правим файл /etc/network/interfaces, делам его похожим на мой (комментарии не пишу, тут и так все понятно)

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.172.15
netmask 255.255.255.192
up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.172.1 dev eth0

Проверяем правильность перезагрузкой сети

sudo /etc/init.d/networking restart

Комманда должна выполниться без ошибочных сообщений. Если ошибки есть – то скорее всего в файле /etc/network/interfaces есть опечатки. Совет – ошибка пишется вместе с номером строки где она произошла, так что сразу смотрим на сроку номер х и делам все как надо.

Проверяем интерфейсы

ifconfig

Комманда должна показать два интерфейса lo0 и eth0

Если так и есть – все хорошо. Сеть настроена. Сейчас должен идти пинг на шлюз и PPTP сервер. Проверим

ping 192.168.172.1
ping 192.168.149.1

Если не идет пинг на шлюз – проверьте подключен ли кабель, если на шлюз пинг есть а на PPTP сервер нет – смотрим правильно ли прописана маршрутизация

route -n

Если все хорошо, пингуется как шлюз так и PPTP сервер – переходим к следующему шагу.

Создаем файл /etc/resolv.conf, прописываем в нем адреса наших DNS серверов

search
nameserver  195.98.64.65
nameserver  195.98.64.66

Запускаем тунель

sudo pon ic

Проверим. Вывод ifconfig должен показать интерфейсы lo0, eth0 и новый интерфейс ppp0 с вашим IP. Это и есть тунель. Все. Можно запускать браузер и наслаждаться настроящим скоростным интернетом :)

Выключать тунель коммандой poff ic

Если подключать и отключать руками вам не хочется – то можно добавить пару строк в файл /etc/network/interfaces и тунель будет автоматически подниматься при активации сетевой карты. Открываем /etc/network/interfaces и дописываем в конец следующие строки

auto ic
iface ic inet ppp
pre-up ip link set eth0 up
provider ic

Теперь тунель будет автоматически подниматься при старте :)

Удачи!

По всем вопросам пишите на coder@vmail.ru

Хочу добавить что в KUbuntu можно очень удобно для всего этого пользоваться утилитой KVPNC, предварительно установив следующие пакеты:

sudo aptitude install pptp-linux
sudo aptitude install pptpd
sudo aptitude install kvpnc

Комментарии (37)

0
losaped - 23 Апрель, 2007 - 11:35

Ведь с диска, как я понимаю сливается все полностью? Как можно проверить установлен ли пакет?

0
dm - 23 Апрель, 2007 - 11:46
Изображение пользователя dm.

Можно проверить командой
sudo aptitude search _имя пакета_

на пример комманда:

sudo aptitude search pptp-linux

и если в результатах в самом начале будет стоять i - значит пакет установлен, если p - значит не установлен.

А вообще можно через Adept все это посмотреть, там сразу пишет установлен пакет или нет.

0
Гость - 7 Июнь, 2008 - 11:18

А если в начеле строчки стоит pi?

0
omikron - 1 Май, 2007 - 16:08

Я так и не настроил нормально pppoe. Если некоторое время не просматривать интернет страницы, инет отваливается, страницы не грузятся. Что делать? От провайдера имею только логин с паролем и DNS.

0
zheny - 15 Апрель, 2008 - 17:52
Изображение пользователя zheny.

У меня тоже самое. Только от провайдера имею логин и пароль, и все. В винде включаешь подключение по сети, везде ставишь галочки днс и айпи получить автоматом. Потом создаешь новое подключение к интернету с вводом логина и пароля и все работает. Отображается как подлючение WAN. А как быть в Кубунту?????? В KVPN ничего не могу настроить.

0
Stavropolec - 1 Июль, 2007 - 13:47

Как отредактировать файл /etc/ppp/chap-secrets ?

0
dm - 1 Июль, 2007 - 20:22
Изображение пользователя dm.

Набери в терминале:

sudo nano /etc/ppp/chap-secrets

0
Гость - 1 Сентябрь, 2010 - 12:15

Спасибо отличный материал

0
GoodHabit - 6 Июль, 2007 - 00:38

Очень важен тот факт, что у каждого провайдера свои настройки и т.д. Я бы новичкам порекомендовал бы пакет kvpnc, графический VPN под KDE, проще чем в винде настраивается.

0
stafford - 9 Июль, 2007 - 19:03

Для этого нужно создать соединение VPN, адрес VPN сервера 81.9.48.30 логин utech пароль utech. Соединение работает только из внешнего интернета (не забудьте в свойствах соединения отключить шифрование данных).
В винде работает на ура а вот что то самому настроить в Кубунте не получается
Помогите

0
FreeZ - 19 Август, 2007 - 18:48

есть для тебя вариант я сделал у себя чтоб не парится, удалил /etc/ppp/ файлы опций далее в консоли набираем:
pptp 81.9.48.30 user utech password utech
если интерфейс поднимается то пишем следующий
route add default dev ppp0

все маршрут поднят интернет должен работать!

0
Антон Шалеев (не зарегистрирован) - 28 Сентябрь, 2007 - 17:00

CoderInside, я создавал подключение по вашей инструкции в Ubuntu, всё пошло на ура.
Теперь по той же инструкции пытаюсь поднять нет на Edubuntu, вот не знаю, что там такого, но не работает!
А именно, шлюз и PPTP сервер пингуются, resolv.conf изменил.
Ввожу sudo pon ic, он вроде бы включает, но ifconfig не показывает никакого ppp0.
Что делать ума не приложу. Нужен именно Edubuntu на Ubuntu вернуться не вариант.

0
Юрий (не зарегистрирован) - 9 Октябрь, 2007 - 01:42

У меня не распаковывается kvpnc. (а также firefox и другие радости жизни)В Линуксе впервые. Может должен стоять диск с дистрибутивом?Может что-то не так делаю?

0
FreeZ - 1 Ноябрь, 2007 - 09:43

Юрий]У меня не распаковывается kvpnc. (а также firefox и другие радости жизни)В Линуксе впервые. Может должен стоять диск с дистрибутивом?Может что-то не так делаю?

apt-get install kvpnc

0
kubuntu - 1 Ноябрь, 2007 - 23:16

попробывал настроить vpn через kvpnc
выдет следующее :
"Remote Modem has hung up. Connection was terminated"

что делаю неправильно..
заранее спасибо,

0
babnik - 16 Январь, 2008 - 10:01

Настроил всё как описано и заволил сетевуху, KVPNC не могу установить и pptpd. Помогите.

0
grinder - 16 Январь, 2008 - 20:04
0
Robotex - 24 Январь, 2008 - 15:02

Все настроил. Вот вывод ifconfig
eth0 Link encap:Ethernet HWaddr 00:19:5B:32:BB:1E
inet addr:10.0.3.191 Bcast:10.0.255.255 Mask:255.255.0.0
inet6 addr: fe80::219:5bff:fe32:bb1e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:183580 errors:0 dropped:0 overruns:0 frame:0
TX packets:20146 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13146122 (12.5 MiB) TX bytes:1870091 (1.7 MiB)
Interrupt:11 Base address:0xc800

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:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:172 (172.0 B) TX bytes:172 (172.0 B)

ppp0 Link encap:Point-to-Point Protocol
inet addr:172.16.88.52 P-t-P:172.16.255.254 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1412 Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:352 (352.0 B) TX bytes:360 (360.0 B)

При этом внешние адреса не пингуются. В чем проблема?

0
Route - 16 Июнь, 2008 - 17:04

та же проблема что и у Robotex. в чем дело?

0
Гость - 17 Июль, 2008 - 13:07

Мне помогло sudo route add default ppp0
А как его прописать в автозагрузку? А то как то не удобно. Или возможен такой вариант: Я создаю ярлык на рабочем столе для запуска Интернета. Если да то как он должен быть написан (хоть примерно).

0
Гость - 22 Июнь, 2008 - 20:06

Респект !!!
Все заработало после:
sudo route add default dev ppp0

0
Scairon - 27 Декабрь, 2008 - 11:06
Изображение пользователя Scairon.

Умня такая проблема адрес шлюза присваеваеться автоматически dpch(с абривиатурой мог напутать)в итоге ничего по данному мануалу не настраиваеться.Помогите с этим dpch разобраться.

0
picaro - 27 Декабрь, 2008 - 15:01
Изображение пользователя picaro.

Если комп стационарный и не предполагается использование dhcp, то его просто можно снести. Например так:
aptitude search ~idhcp # Ищем кандидатов на снос
sudo aptitude purge dhcp3-client # Сносим (пакет может иметь другое название)

0
Scairon - 28 Декабрь, 2008 - 01:22
Изображение пользователя Scairon.

эт борода присваеваеться на стороне првайдера!

0
polenich - 25 Январь, 2009 - 17:18
Изображение пользователя polenich.

Спасибо большое!!! Отлично работает!!!

0
Jazzman - 22 Июнь, 2009 - 17:45
Изображение пользователя Jazzman.

Запускаем terminal - sudo pppoeconf
Там везде нажимаем ДА, в поля вписываем адрес сервера, логин, пасворд... ну еще можно ДНСы.

(Kubuntu 9.04)

0
Lang - 22 Июнь, 2009 - 18:59
Изображение пользователя Lang.

Почему то многие путают ВПН и ПППоЕ (или я чего то не догоняю),но это разные технологии и разные протоколы

0
Гал - 24 Июнь, 2009 - 13:22
Изображение пользователя Гал.

Именно! Сам удивился когда разговор зашел о pppoeconf :)

0
urusha - 26 Июль, 2009 - 10:35
Изображение пользователя urusha.

или я чего то не догоняюВидимо так;) ВПН - не протокол, а, так скажем, понятие - Виртуальная частная сеть. И протокол pppoe подходит под это понятие, позволяя создавать впн внутри одного сегмента сети. Путают все, тк pptp и pppoe имеют много общего (методы аутентификации, сжатия, шифрования и др), однако инкапсуляция происходит на разных уровнях модели OSI (pptp - инкапсуляция в IP пакеты, pppoe- инкапсуляция в ethernet фреймы).

0
Гал - 26 Июль, 2009 - 07:07
Изображение пользователя Гал.

Мда... После поднятия ВПН в Кубунту 8.10; 9.04 и Убунту 8.04 не думал что возникнут проблемы в Кубунту 8.04.2. Просидел около трех часов - нифига ничего. Интерфейс ррр0 поднимается, а вот ни один внешний ип не пингуется. :( пользовался материалами данной статьи и вот этим мануалом. Сначала каждый в отдельности, затем комбинировал. Результат один и тот же. Подскажите, вобще реально поднять ВПН в Кубунту 8.04.2? А то у меня уже мозг закипел. :(

0
urusha - 26 Июль, 2009 - 10:37
Изображение пользователя urusha.

Скажите свои днс, шлюз и адрес впн сервера. И дайте вывод route -n до и после подключения.

0
Гал - 26 Июль, 2009 - 11:03
Изображение пользователя Гал.

днс 10.7.0.2
впн 10.7.0.1
а вот со шлюзом некоторые затруднения, так как ip присваивается dhcp. И с маршрутами смогу сказать только завтра.(временно нет доступа к компу)
дело в том что в перечисленных выше версиях дистрибутива впн настраивал по мануалу с сайта желтых, и все заводилось без проблем с первого раза. Не думаю что в данном случае мог что-то напортачить. :) но на всякий случай обязательно завтра выложу маршруты.

0
Гал - 27 Июль, 2009 - 12:09
Изображение пользователя Гал.

до подключения
gall@homestation:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.7.30.0       0.0.0.0         255.255.254.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         10.7.30.1       0.0.0.0         UG    100    0        0 eth0

после
gall@homestation:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.1     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.7.30.0       0.0.0.0         255.255.254.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
0.0.0.0         10.7.30.1       0.0.0.0         UG    100    0        0 eth0
\

dns 10.7.0.2
vpn 10.7.0.1
gatewey (подозреваю) 10.7.30.2 - с ним не совсем все ясно

0
urusha - 27 Июль, 2009 - 14:52
Изображение пользователя urusha.

можете попробывать пока от рута:
route del default
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.7.30.1

еще на всякий
route add 10.7.0.2 gw 10.7.30.1
route add 10.7.0.1 gw 10.7.30.1

можете дальше попробывать так:
в выводе ifconfig ppp0 будет строчка
inet addr:x.x.x.x P-t-P:y.y.y.y  Mask:255.255.255.255
так вот напишите после этого
route add default gw y.y.y.y
по идее должно заработать
Не заработает, дайте вывод ifconfig ppp0
route -n
после всех махинаций, и заодно проверьте пингуется ли днс, шлюз, и впн.
Можете так же дать вывод route print в винде при работающем инете.

0
Гал - 27 Июль, 2009 - 23:35
Изображение пользователя Гал.

Вобщем не знаю что сделал, но заработало. :) но маршруты тоже перезабил. Спасиб

только теперь новая проблема: при перезагрузке маршруты на ДНС и ВПН сервера пропадают. Каким образом можно исправить?

0
urusha - 28 Июль, 2009 - 00:02
Изображение пользователя urusha.

Настроить pptp через файл /etc/interfaces
там после настройки ppp0 (iface ppp0 inet ppp ; provider такой-то) добавить строки вида
up route add ........
down route del ........
up при подъеме интерфейса, down - при отключении.
man interfaces
или команды route add/del добавить в исполняемый файл и положить его в каталог /etc/ppp/ip-up.d и /etc/ppp/ip-down.d
первый вариант, конечно, красивее...

0
Гал - 28 Июль, 2009 - 00:24
Изображение пользователя Гал.

ок, буду пробовать, спасибо