Поиск по сайту:
Пока компьютер еще не научился самостоятельно мыслить, доверять ему можно. (Илья Герчиков) МЫСЛЬ РАЗУМ

Выборочная маршрутизация сети или разделенное туннелирование через VPN

16.12.2020
Как использование VPN может принести пользу SEO

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

Мы пытались найти способ использовать VPN специально для сервера и позволить другому трафику двигаться нормально. Вот тогда-то мы и наткнулись на это решение. В этом блоге мы объясним решение шаг за шагом.

ps.: В конце этого блога вы сможете выбрать, какой веб-сайт или IP-адреса вы хотите маршрутизировать через VPN.

Требования:

  • Ubuntu (должен работать и на других дистрибутивах Linux)
    • Если вы используете windows, Этот метод работает с подсистемой Windows для Linux. Убедитесь, что у вас есть WSL2, прежде чем продолжить.
  • Openfortivpn
    • Убедитесь, что вы можете подключиться к VPN, используя его.

 

Шаги для выборочной маршрутизации

1. конфигурационный файл VPN

Этот файл сообщает нашему VPN-клиенту конфигурацию нашего VPN.

Сохраните приведенный ниже конфигурационный файл как vpn-config. conf в любом месте вашего компьютера

host = vpn.iiitd.edu.in
port = 10443
username = <your username>
password = <your pass>
set-routes = 0
set-dns = 0
pppd-use-peerdns = 0

 

set-routes = 0 указывает, чтобы не делать никаких маршрутов через VPN, теперь мы будем белый список веб-сайтов, чтобы использовать через VPN.

 

2. Настройка скрипта PPP

Что такое ППС?: PPP-это протокол точка-точка. Linux использует этот протокол для связи по протоколу TCP/IP с вашим интернет-провайдером.

Сейчас мы напишем скрипт, который внесет в белый список определенные домены для прохождения через VPN.

Читать  Файловая система sysfs в Linux

Для создания сценария используйте следующие команды

sudo touch /etc/ppp/ip-up.d/fortivpn
sudo chmod a+x /etc/ppp/ip-up.d/fortivpn

 

Что такое pppd? Демон PPP (pppd) — это свободно доступная реализация протокола Point-to-Point Protocol (PPP), который работает во многих системах Unix. читайте дальше

Что такое ip-up? /etc/ppp/ip-up-это shell — скрипт, выполняемый pppd при появлении ссылки/интернета. Читать далее

Отредактируйте приведенный выше скрипт с помощью вашего любимого редактора, он будет выглядеть следующим образом:

#!/bin/bash
#
# Whitelist here all domains that need to go through openfortivpn
# Domains and IPs are separated by a space
#
ips='192.168.2.217 192.168.29.151'
domains='example.com example.fr'

let resolved
for domain in $domains; do
  resolved=`dig +short $domain | tail -n1`
  ips="$ips $resolved"
done

for ip in $ips; do
  route add $ip dev ppp0
done

 

Теперь добавьте IP-адреса и домены, к которым вы хотите получить доступ через VPN.

 

3. запустите VPN

Следующая команда должна подключить вас к вашему VPN прямо сейчас.

sudo openfortivpn -c vpn-config.conf

 

Ниже вы можете увидеть маршруты, добавленные для ip-адресов. ppp0-это vpn-интерфейс, а enp2s0-ethernet.

andreyex@andreyex ~> route                                                                  (base)
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 enp2s0
one.one.one.one 0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
103.25.231.4    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp2s0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp2s0
192.168.2.217   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.29.151  0.0.0.0         255.255.255.255 UH    0      0        0 ppp0

 

Вот и все! Теперь вы можете работать на своем сервере и наслаждаться быстрым интернетом вместе с ним 🙂

Читать  Устранение скрытых уязвимостей в библиотеках программного обеспечения с открытым исходным кодом

 

Бонус: автоматический запуск VPN при загрузке

Это довольно раздражает, чтобы войти в VPN каждый раз, прежде чем начать работу. Поэтому мы создали системный сервис для автоматического подключения к VPN при загрузке. Отказ от ответственности: это не будет работать с WSL2

Выполните эти команды для настройки службы

sudo touch /etc/systemd/system/openfortivpn.service

 

Откройте его с помощью вашего любимого редактора и введите эту конфигурацию.

[Unit]
Description = OpenFortiVPN
After=network-online.target
Documentation=man:openfortivpn(1)

[Service]
Type=idle
ExecStart = /usr/bin/openfortivpn -c <path to your config file>
StandardOutput=file:<any-place-where you want to save your logs>
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

 

Чтобы запустить эту службу, просто запустите ее

sudo systemctl enable openfortivpn
sudo systemctl start openfortivpn

 

Чтобы проверить, работает ли он

andreyex@andreyex ~> sudo systemctl status openfortivpn
● openfortivpn.service - OpenFortiVPN
   Loaded: loaded (/etc/systemd/system/openfortivpn.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-04-25 13:22:26 IST; 3h 43min ago
     Docs: man:openfortivpn(1)
 Main PID: 1851 (openfortivpn)
    Tasks: 6 (limit: 4915)
   CGroup: /system.slice/openfortivpn.service
           ├─1851 /usr/bin/openfortivpn -c /home/andreyex/Documents/vpn-configs/iiitd.conf
           └─1852 /usr/sbin/pppd 38400 :1.1.1.1 noipdefault noaccomp noauth default-asyncmap nopcomp

Apr 25 13:22:26 andreyex systemd[1]: Started OpenFortiVPN.
Apr 25 13:22:26 andreyex pppd[1852]: pppd 2.4.7 started by root, uid 0
Apr 25 13:22:26 andreyex pppd[1852]: Using interface ppp0
Apr 25 13:22:26 andreyex pppd[1852]: Connect: ppp0 <--> /dev/pts/0
Apr 25 13:22:27 andreyex pppd[1852]: local  IP address 10.212.134.101
Apr 25 13:22:27 andreyex pppd[1852]: remote IP address 1.1.1.1

 

Спасибо за чтение 🙂 Если это действительно помогло вам, не стесняйтесь ставить лайки, комментировать и делиться этим блогом.

Читать  Как проверить сведения о версии Ubuntu и другую системную информацию

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
При использовании операционной системы Robotics в какой-то момент вы захотите…

Спасибо!

Теперь редакторы в курсе.