Як розділити трафік VPN на тунелі на Windows, MacOS, DD-WRT та Tomato


Спліт тунелювання дозволяє користувачам VPN маршрутизувати трафік із зазначених додатків або пристроїв через VPN, тоді як трафік інших програм та пристроїв проходить через мережу, що не є VPN за замовчуванням. Розбиття тунелів можна використовувати для різних цілей, включаючи:

  • Дозвіл нормального використання Інтернету при одночасному доступі до ресурсів, доступних лише для користувачів VPN, наприклад, бізнес-сервера
  • Налаштування конкретних пристроїв, таких як ігрові консолі або потокові медіа-скриньки, для використання (або не використання) VPN, не впливаючи на інші пристрої в мережі
  • Надсилання всього трафіку пристрою через VPN, за винятком доступу до вмісту чи служб, які не дозволяють з’єднання VPN, наприклад, MLB.tv або Netflix
  • Надсилання всього трафіку через VPN, за винятком вмісту та служб, які вимагають низької затримки, наприклад, VoIP-додатки та онлайн-ігри
  • Лише маршрутизатор потоку здійснюється через VPN, тоді як весь інший Інтернет-трафік переходить у мережу за замовчуванням
  • Доступ до VPN, не впливаючи на ваше з’єднання з іншими пристроями локальної мережі, такими як принтери або сервер Plex Media

Ваша уява обмежує кількість застосувань для розділеного тунелювання. Ну, це і ваше обладнання. Різні типи розділених тунелів мають різні технічні вимоги. Те, що ви можете досягти, сильно залежить від вашого пристрою, маршрутизатора wifi та послуги VPN.

Перш ніж розпочати роботу, важливо усвідомити, що розділений тунель вимагає певних передових технічних знань, а випадкова реалізація може призвести до ризиків для безпеки. Якщо ви не налаштували належним чином налаштування розділеної тунелі, ваш Інтернет-провайдер або третя сторона можуть отримати доступ до деяких ваших конфіденційних даних.

Види розділеного тунелювання

Для типових користувачів VPN існує чотири основні типи розділеного тунелювання.

Перший тип є найпростішим і корисний, якщо вам потрібно отримати доступ до віддалених ресурсів через VPN, одночасно підтримуючи нормальне, не VPN-з’єднання з Інтернетом. Ми пояснимо, як це зробити в підручниках нижче.

Друга – за пристроєм. Наприклад, якщо ви хочете, щоб ваша ігрова консоль підключалася до Інтернету без VPN, а ваш ПК та смартфон підключалися до VPN. Цей тип розділеного тунелювання зазвичай виконується на вашому маршрутизаторі wifi. У популярній мікропрограмі маршрутизатора DD-WRT це називається “маршрутизація на основі політики”.

Третій тип розділених тунелів – це застосування. Ви можете налаштувати чорний список або білий список програм і служб, які ви хочете підключити до VPN або не бажаєте відповідно підключитися до VPN. Останній іноді називають “зворотним” розділеним тунелем. Наприклад, якщо ви хочете, щоб торрент-трафік проходив лише через VPN, але всі ваші інші додатки, такі як ігри та веб-браузери, щоб підключитися до Інтернету без VPN, це метод, який ви хочете використовувати. Спліт тунелювання за допомогою програми працює лише на деяких VPN, операційних системах та мікропрограмному забезпеченні маршрутизатора.

Остаточний тип розділеного тунелювання дозволяє маршрутизувати трафік залежно від місця призначення, а не від джерела. Наприклад, якщо ви хотіли прокласти весь трафік через VPN, за винятком маршруту до Netflix або Hulu. Це називається маршрутизацією на основі IP, і це найскладніший тип розділеного тунелювання. Для цього потрібен потужний маршрутизатор або брандмауер, і навіть якщо у вас це є, на таких сайтах, як Netflix є стільки IP-адрес, що важко змусити його надійно працювати. Таким чином, ми не будемо висвітлювати маршрутизацію IP в цій статті.

Не всі операційні системи підтримують усі типи розділеного тунелювання. Фактично користувачі Windows виявлять, що їхні можливості суворо обмежені. Маки не погані, але маршрутизатори з прошивкою DD-WRT або Tomato пропонують найбільшу універсальність. На жаль, вони також є найскладнішими в налаштуванні.

Як розділити тунель на MacOS

Спочатку зверніться до свого постачальника VPN, щоб перевірити, чи містить їх додаток вбудована функція розділеного тунелювання. Хоча це не надто часто, деякі постачальники, такі як ExpressVPN, пропонують розділене тунелювання на основі додатків. З Підключення на додаток в додатку Mac ExpressVPN, ви можете створити чорний список або білий список програм для маршрутизації через VPN.

Якщо у вашому додатку VPN немає вбудованої підтримки для розділеного тунелювання, нам доведеться забруднити руки та робити все вручну.

Вам знадобляться адміністративні привілеї суперкористувача та наявне з’єднання L2TP або PPTP, а також підмережа призначення для приватного простору VPN.

  1. Йти до Налаштування системи > Мережа
  2. На лівій бічній панелі натисніть підключення VPN та перейдіть до Розширені налаштування > Параметри
  3. Зніміть прапорці для Надіслати весь трафік через VPN-з’єднаннярозділений тунель mac 3
  4. Збережіть свої зміни та підключіться до VPN
  5. Після підключення перейдіть до Застосування > Комунальні послуги > Термінал
  6. Тип ifconfig в термінал і натисніть Enter. Запишіть інтерфейс, який використовує VPN. Використовуючи L2TP, це, мабуть, буде ppp0розділений тунель mac 2
  7. Увійдіть як корінь. Простий спосіб зробити це – набрати судо су в термінал і підтвердити автентифікацію за допомогою пароля Mac.розділений тунель mac 1_2
  8. Введіть наступну команду, замінюючи >ДЕСТИНАЦІЯ СУБНЕТ< з підмережею, яку потрібно переадресувати через VPN, і >VPN INTERFACE< з інтерфейсом, переліченим у попередньому step.route add -net >ДЕСТИНАЦІЯ СУБНЕТ< -інтерфейс >VPN INTERFACE<

Дивись також: Наш список рекомендованих постачальників Mac VPN.

Як розділити тунель на Windows

Windows досить обмежена, коли мова йде про роздільне тунелювання. Ми не можемо розділити тунель за додатком чи пунктом призначення. Натомість опція розділеного тунелювання в Windows набагато ширша. Ви можете не тунелювати трафік IPv4 та IPv6, щоб лише локальний трафік проходив через VPN. Це корисно, якщо потрібно лише використовувати VPN для доступу до віддалених ресурсів, недоступних у звичайному підключенні до Інтернету, але не багато іншого.

Крім того, Windows лише розділяє тунелі протоколів VPN, для яких вона має вбудовану підтримку. Це означає, що вам потрібно спочатку налаштувати з’єднання L2TP, SSTP або PPTP. OpenVPN тут не працюватиме.

У цьому прикладі буде використано ваше локальне з’єднання для доступу до Інтернету, тоді як VPN буде використовуватися для доступу до віддалених ресурсів, таких як сервер приватного бізнесу, до якого можна отримати доступ лише через VPN. VPN використовуватиметься лише тоді, коли хост недоступний у локальній мережі.

У цьому підручнику буде використано Windows 10. Ми припустимо, що ви вже налаштували VPN-з’єднання, і вам потрібно лише включити розділене тунелювання. Вам потрібні права адміністратора та підмережа призначення для приватного простору VPN.

  1. На панелі пошуку Windows введіть Powershell і клацніть правою кнопкою миші на Запустити від імені адміністраторарозділені вікна тунелю 1
  2. Тип Get-VPNConnection і натисніть Enter, щоб відкрити список усіх доступних VPN-з’єднань. (Я перевіряю багато VPN, щоб на моєму екрані їх було декілька, але ви, ймовірно, матимете лише одне.) Запишіть Ім’я VPN ви хочете розділити тунель.розділені вікна тунелю 2
  3. Введіть наступну команду та натисніть Enter, замінивши >VPN NAME< з іменем, яке ви зазначили на попередньому кроці: Set-VPNConnection -Name “>VPN NAME<”-SplitTunneling $ True

Ви можете перевірити, чи ввімкнено розділене тунелювання, ввівши Get-VPNConnection знову командувати. Тепер розділене поле тунелювання має бути встановлено на True.розділені вікна тунелю 3

Далі введіть цю команду і зробіть помітку Опис поле:

ipconfig / всі

Якщо потрібно, додайте маршрут. Замініть >ДЕСТИНАЦІЯ СУБНЕТ< з підмережею, яку потрібно прокласти через VPN, і >ІНТЕРФЕЙС< з назвою поля Опис, яке ми згадали на останньому кроці:

netsh інтерфейс ipv4 додати маршрут >ДЕСТИНАЦІЯ СУБНЕТ< ">ІНТЕРФЕЙСЬКА НАЗВА<"

Якщо ви хочете відключити розділене тунелювання, введіть цю команду:

Set-VPNConnection -Name ">VPN NAME<" -SplitTunneling $ False

Розділіть тунелювання за допомогою власного сервера OpenVPN у Windows

Якщо ви створили свій власний сервер OpenVPN, подібний до того, що в нашому підручнику, що використовує Amazon EC2, ви можете ввімкнути розділене тунелювання в Windows, відредагувавши свої конфігураційні файли..

Видалити перенаправлення-шлюз def1 у вашому конфігураційному файлі сервера OpenVPN (ймовірно, називається server.conf). У конфігурацію клієнта (client.ovpn або client.conf) додайте такий рядок:

маршрут 12.12.12.0 255.255.255.0 vpn_gateway

Це спрямовує підмережу 12.12.12.0 через VPN-з’єднання та все інше з не-VPN-з’єднання.

Дивись також: Кращий VPN для користувачів Windows 10.

Як розділити тунель на маршрутизаторах DD-WRT

Налаштування OpenVPN та роздільне тунелювання на маршрутизаторах DD-WRT – справа втомлива і хитра, тому якщо ви хочете пройти маршрут маршрутизатора, то рекомендуємо придбати підписку на ExpressVPN. З цим ви можете встановити прошивку власного маршрутизатора ExpressVPN або придбати маршрутизатор із попередньо встановленою прошивкою. Це набагато простіше, ніж налаштувати все вручну.

маршрутизатор expressvpn

НАЙКРАЩА VPN для розбиття тунелю на маршрутизаторах DD-WRT: ExpressVPN – це наш вибір. Цей VPN лідирує завдяки своїм простим у користуванні програмами та маршрутизаторами, що не потребують суєти. У ньому розгалужена серверна мережа, яка оптимізована для швидкісних з’єднань. Важко перемогти в конфіденційності та безпеці. Працює з усіма основними потоковими службами. Існує 30-денна гарантія повернення грошей без зворотнього зв’язку, щоб ви могли спробувати її без ризику.

Якщо ви хочете зберегти кілька доларів і зробити все важким способом, ми припустимо, що ви вже налаштували своє VPN-з’єднання в DD-WRT і налагодите його належну роботу. DD-WRT дозволяє розділити трафік VPN тунелю кількома різними способами:

  • за допомогою пристрою, який називається “маршрутизація на основі політики”
  • за цільовою IP-адресою, яка називається “IP-маршрутизація”
  • за допомогою програми або порту

Маршрутизація на основі політики

На інформаційній панелі DD-WRT перейдіть до Сервіс > VPN. Знайдіть поле маршрутизації на основі політики та введіть IP-адреси для кожного з пристроїв, які ви хочете пройти через VPN. Просто як це!

Якщо ви не впевнені в IP-адресах своїх пристроїв, ви можете знайти їх, перейшовши до Статус маршрутизатора сторінки інформаційної панелі DD-WRT. Під Мережа розділ, знайти Активні IP-з’єднання. Клацніть номер поруч із цим, щоб запустити Таблиця активних IP-з’єднань. Тут ви можете переглянути IP-адреси для всіх вхідних та вихідних з’єднань на маршрутизаторі, а також протоколи та номери портів.

Маршрутизація на основі порту

Якщо ви хочете вказати, які програми або програми використовують VPN, один із способів зробити це – розділене тунелювання по порту. Кожна програма, ймовірно, використовує інший порт, наприклад, веб-браузери використовують порти TCP 80 і 443, Spotify використовує TCP-порт 4070, а Steam використовує порти UDP 27000 до 27030. Отже, визначаючи, через які конкретні порти маршрутизувати VPN-трафік, ми можемо розділити тунель за заявою.

На жаль, це складніше, ніж це звучить на DD-WRT. Вам потрібно буде ознайомитися з IPTables, який регулює правила брандмауера Linux у мікропрограмному забезпеченні. Цей підручник може бути корисним як приклад.

Йти до Адміністрація > Команди. Під Брандмауер клацніть Редагувати і введіть необхідні команди. Потім перейдіть до конфігурації клієнта OpenVPN в DD-WRT і знайдіть Додаткова конфігурація поле для зміни вашого конфігурації OpenVPN.

IP маршрутизація призначення

Якщо ви хочете тунелювати трафік за призначенням, тобто веб-сайтом чи іншим сервером, то маршрутизація IP може зробити свою справу.

Перейдіть до своєї конфігурації клієнта OpenVPN в DD-WRT і знайдіть Додаткова конфігурація ящик. Введіть наступні:

маршрут-нопул
маршрут XXX.XXX.XXX.XXX 255.255.255.255 net_gateway
маршрут YYY.YYY.YYY.YYY 255.ZZZ.ZZZ.0 vpn_gateway

Замініть X на ту саму адресу, яку ви ввели IP сервера поле вашої конфігурації OpenVPN. Замініть Ys IP-адресою сервера, на який потрібно направити трафік VPN, і Zs відповідною підмережею (остання часто буде 255.255.255.0).

Зауважте, що якщо ви хочете направити весь трафік VPN на певний веб-сайт, вам потрібно буде додати IP-адреси та підмережі для всіх серверів, якими користується веб-сайт. Наприклад, Netflix використовує кілька десятків IP-адрес, і вони можуть змінюватися в будь-який час, тому вам потрібно буде знайти оновлений список IP-адрес Netflix та регулярно оновлювати цю конфігурацію..

Як розділити тунель на томатних маршрутизаторах

У томата немає маршрутизації на основі політики, випеченої як DD-WRT, тому ви досить зациклювалися на використанні IPTables, щоб виконати роботу. На інформаційній панелі томатів, коли ваше з’єднання OpenVPN вже налаштоване та працює, це приклад того, як увімкнути вибіркове маршрутизацію.

Йти до Адміністрація > Сценарії > Брандмауер і додайте ці команди:

iptables -I Вперед, -i br0 -o tun11 -j ПРИЙМАНО
iptables -I Вперед, -i tun11 -o br0 -j ПРИЙМАНО
iptables -I INPUT -i tun11 -j ВІДМОВА
iptables -t nat -A РОЗМІСТАННЯ -o tun11 -j MASQUERADE

Перейдіть на вкладку «WAN Up» та додайте ці команди, замінюючи >ДЖЕРЕЛА ДЖЕРЕЛА IP< з локальним IP-пристроєм, на який потрібно прокласти маршрут через VPN:

сон 30
ip route flus table 200
ip route flusche cache
ip правило додати з >ДЖЕРЕЛА ДЖЕРЕЛА IP< пошук 200
VPN_GW = `ifconfig tun11 | awk ‘/ inet addr / {спліт ($ 2, A,":"); друкувати A [2]} ‘`
ip route додати таблицю 200 за замовчуванням через $ VPN_GW dev tun11

На лівій бічній панелі перейдіть до Тунелювання VPN > Клієнт OpenVPN. На конфігурації клієнта OpenVPN перейдіть до Розширений. Під Спеціальна конфігурація, додайте цю команду:

маршрут-нопул

Тунель Спліт від Paulio Geordio отримав ліцензію за CC BY 2.0

Kim Martin
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me