Pull to refresh

Настраиваем два одновременных VPN соединения в Linux (для доступа в инет и для доступа к локальным ресурсам ISP)

Reading time3 min
Views7.7K
Подключившись к новому провайдеру, предоставляющему доступ в сеть по впн пришлось столкнуться с кучей манов и факов на тему поднятия двух одновременно работающих впн-соединений в линях. Поднимал в убунте 9.10 и решил как-то скомпилировать инфу в один надеюсь понятный фак.

Данный FAQ будет полезен тем, кто хочет настроить два одновременных впн-соединения для локальной и внешней сети.


Для начала нужно скачать пакет, который обеспечит поддержку нужного нам протокола соединения, для этого введём в терминале:

sudo apt-get install pptp-linux

После того как пакет установлен, идём писать конфиг соединения в папку /etc/ppp/peers, для этого нам понадобятся права админа (если их уже нет), для удобства напишу стандартный терминальный вход с нужными правами в терминальном редакторе nano в создаваемый файл конфигурации соединения:

sudo nano /etc/ppp/peers/connection_name1

Где connection_name1 — имя создаваемого подключения (можете назвать как вам удобно).
Далее вводим в окно редактирования данные соединения:

pty «pptp vpn.isp.ru --nolaunchpppd»
user «ваш логин»
password «ваш пароль»
unit 0
nodeflate
nobsdcomp
noauth
replacedefaultroute
defaultroute
persist
maxfail 0


Где vpn.isp.ru — впн-сервер для доступа в интернет вашего провайдера, а логин и пароль для доступа к интернету.
Жмём ctrl+x, потом подтверждаем сохранение клавишей Y.
Итак, первый конфиг готов, далее пишем второй для локального соединения:

sudo nano /etc/ppp/peers/connection_name2

Где опять же имя соединения можете придумать своё=)
Туда пишем:

pty «pptp vpnx.isp.ru --nolaunchpppd»
user «ваш логин»
password «ваш пароль»
unit 1
lock
nodeflate
nobsdcomp
noauth
persist
maxfail 0


Где vpnx.isp.ru — впн-сервер для доступа в локальную среду вашего провайдера, а логин и пароль также для локального доступа.
Сохраняем всё это дело ctrl+x, затем Y.

Конфиги готовы.
Теперь настроим автозапуск и маршрутизацию на локалку.
Для этого редактируем /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
'up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.66.6.1

auto connection_name1
iface connection_name1 inet ppp
provider connection_name1

auto connection_name2
iface connection_name2 inet ppp
provider connection_name2


Тут вы можете внести маршруты для доступа к ресурсам непосредственно через имеющееся соединение (без впн). Пример такого маршрута я закомментировал, поэтому при добавлении маршрута Вам придётся убрать символ " ' " из данного конфига.
Где на месте 10.66.6.1 должен быть Ваш локальный шлюз.
Далее идём писать скрипты маршрутов для connection_name2.
Нам нужно создать /etc/ppp/ip-up.d/route
Пишем в терминале:

sudo nano /etc/ppp/ip-up.d/route

Пишем в открывшемся редакторе маршруты вида:

#!/bin/sh
ip route add 10.200.0.0/16 dev ppp1


Где ppp1 — ссылка на соединение connection_name2
Жмём ctrl+x, потом подтверждаем сохранение клавишей Y.

Затем делаем этот скрипт исполняемым, для этого пишем в терминале:

sudo chmod +x /etc/ppp/ip-up.d/route

Далее нужно создать скрипт на удаление маршрутов.
Пишем в терминале:

sudo nano /etc/ppp/ip-down.d/route

Пишем в открывшемся редакторе:

#!/bin/sh
ip route add default gw dev eth0


Жмём ctrl+x, потом подтверждаем сохранение клавишей Y.

Затем делаем этот скрипт исполняемым, для этого пишем в терминале:

sudo chmod +x /etc/ppp/ip-down.d/route

Всё, теперь пишем в терминале команду перезапуска сети:

sudo /etc/init.d/networking restart

И теперь инет настроен, маршруты прописаны. Конечная цель достигнута.
Надеюсь ничего не забыл.
Tags:
Hubs:
Total votes 14: ↑5 and ↓9-4
Comments18

Articles