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

Все описанное проверено на дистрибутива Debain Squeeze. В прочем наверняка будет работать и в прочих дистрибутивах GNU/Linux. Мне не очень нравятся графические утилиты для настройки сети и по этому описываю как все настроить в консоли. Все команды приведенные ниже необходимо выполнять с привилегиями пользователя root, т.е. вы должны либо зайти в терминал под root'ом или воспользоваться в терминале командой "su" или перед каждой командой вводить "sudo". Конфигурационные файлы редактировать надо так же от root.

Итак имеем:

  • провайдер предоставляющий интернет через VPN соединение.
  • <ip_prov_local> - ip адрес нашего компьютера в локальной сети провайдера
  • <ip_prov_mask> - маска подсети
  • <ip_gateway> - ip-адрес шлюза
  • <ip_dns_0> - ip-адрес предпочитаемого сервера DNS
  • <ip_dns_1> - ip-адрес альтернативного сервера DNS
  • <address_vpn> - адрес VPN сервера
  • <ip_vpn_server> - ip-адрес VPN сервера. Изначально провайдер дал только адрес vpn сервера в виде vpn.providername.ru. Если вы не знаете IP адреса везде в настройках где указан данный параметр можете указать <address_vpn>. Узнать ip-адресс можно после настройки связи с локальной сетью провайдера и с указанными серверами DNS.
  • <user_name> - имя пользователя VPN соединения
  • <user_pass> - пароль пользователя VPN соединения
  • <vpn_name> - имя VPN соединения. Нужно придумать самостоятельно. Я задал по имени провайдера.
  • для правильной работы локальной сети провайдер предлагает добавить маршрут командой (синтаксис для ОС Windows !)
    route add -p <network_ip> mask <mask_ip> <ip_gateway>

Открываем в редакторе файл /etc/network/interfaces. И редактируем секцию интерфейса к которому подключен провайдер. (в качестве примера eth1)

iface eth1 inet static

# указываем адрес нашего компьютера в локальной сети провайдера
address <ip_prov_local>

# указываем маску подсети
netmask <ip_prov_mask>

# указываем адрес шлюза
gateway <ip_gateway>

# добавляем предложенное провайдером правило маршрутизации
up route add -net <network_ip> netmask <mask_ip> gw <ip_gateway>

# добавляем правило маршрутизации до VPN сервера
up route add -host <ip_vpn_server> gw <ip_gateway>

# следующая команда заставляет подключать VPN соединение (подключение к внешке)
# при подключении интерфейса т.е. соединение с внешним интернетом будет происходить
# автоматически при подключении интерфейса (в т.ч. и при загрузке ОС)
# если вам не нужно автоматическое подключение закомментируйте или удалите эту строку
post-up pon <vpn_name>

# следующая команда заставляет отключать VPN соединение (подключение к внешке) при
# отключении интерфейса если вам не нужно автоматическое подключение закомментируйте
# или удалите эту строку
pre-down poff <vpn_name>

auto eth1

Теперь необходимо задать адрес серверов DNS. Для этого открываем файл /etc/resolv.conf и добавляем следующие строки:

nameserver <ip_dns_0>
nameserver <ip_dns_1>

Теперь при перезагрузке сети (при перезагрузке системы или по команде /etc/init.d/networking restart вам будет доступна локальная сеть провайдера. И вы можете узнать IP-адрес VPN-сервера при помощи команды ping <address_vpn>

Теперь необходимо настроить VPN соединение.

В систем должен быть установлен пакет pptp-linux. Для установки воспользуйтесь вашим пакетным менеджером или введите команду:

aptitude install pptp-linux

Приступаем к настройке. Создаем файл в каталоге /etc/ppp/peers/ с именем <vpn_name>. Настройки в данном файле прописаны по рекомендации моего провайдера. Однако с небольшим исправлением: на сайте провайдера указано, что имя пользователя необходимо вводить в кавычках. У меня работает и так и так. Кроме того добавил строку noauth

noauth
mtu 1492
mru 1492
maxfail 3
lcp-echo-interval 10
lcp-echo-failure 4
name <user_name>
#имя подключения можно задать и другое
remotename vpn
pty "pptp <ip_vpn_server> --nolaunchpppd"
require-mppe-128
replacedefaultroute

Далее редактируем файл /etc/ppp/chap-secrets. В отличии от примера на сайте провайдера добавлена звездочка в конце строки.

# vpn - это имя подключения которое вы задали в конфигурационном файле подключения (выше)
<user_name> vpn <user_pass> *

Теперь можно пробовать установить соединение командой. Если вы отключили автоматическое подключение, то именно данной командой вы можете его устанавливать в дальнейшем.

pon <vpn_name>

Если все пройдет без ошибок, то ни каких сообщений не будет выведено. Наличие подключения можно проверить командой

ifconfig

В выводе этой команды должен появиться интерфейс "ppp0". В прочем на конце может быть другая цифра если у вас уже существует иное ppp-подключение.

Если у вас есть необходимость отключить используйте команду

poff <vpn_name>
Разработка ПО

Поиск

Авторизация

Регистрация
Напомнить пароль

© 2001-2012 VA-Soft
392-761-223 392-761-223