Проблема гри в ігри з використанням OpenVPN, які використовують широкомовні пакети. Інші ігри працюють, господарі можуть пінг один одного


12

Я запускаю сервер OpenVPN в мостовому режимі, і клієнти можуть успішно з'єднуватися, бачити спільну папку та грати в локальні ігри, які дозволяють ввести IP-адресу локальної мережі. Однак я не в змозі грати в ігри, як Sacred Underworld, я вважаю, тому що він надсилає широкомовні пакети. Гра навіть не відображається у списку ігор на клієнтській машині.

Я новачок у OpenVPN, але, думаю, це може бути пов’язано з одним із наступних двох питань:

  1. Мені може знадобитися якийсь маршрут, щоб дозволити коректному обробці пакетів широкомовної передачі (хоча я не впевнений, як це налаштувати)

  2. Мій VPN працює в іншій підмережі, ніж у мого маршрутизатора. Тобто моя домашня мережа є, 192.168.1.xxа мій VPN використовує щось подібне 10.0.0.xx. Чи можливо мені потрібно змусити свою VPN поділитися тією ж підмережею, що і моя фактична мережа (тобто 192.168.1.xx)? Якщо так, як я можу це налаштувати?


Чи можете ви вибрати, який мережевий інтерфейс використовується в грі? Здається, що гра за замовчуванням відповідає дротовому інтерфейсу, і замість цього вам потрібно використовувати інтерфейс VPN.
Зоредаче

Відповіді:


11

Щодо питання 1:

Локальні ігри, що використовують (UDP) трансляції, зазвичай вибирають мережевий інтерфейс, який використовує найнижчий показник для свого маршруту трансляції (тобто ip 255.255.255.255). Швидше за все, ваш мережевий інтерфейс за замовчуванням (наприклад, ваш NIC) має найнижчий показник, тому ігри транслюються, наприклад, у вашій 192.168.1.0/24локальній мережі замість VPN. Ви можете перевірити таблицю маршрутів за допомогою route -vnLinux або route printWindows.

Щоб отримувати трансляції на VPN, виконайте такі дії на всіх клієнтах OpenVPN ( не на сервері):

Додайте новий маршрут трансляції ( 255.255.255.255/32) у свій інтерфейс OpenVPN з меншою метрикою, ніж той, який використовує мережевий інтерфейс за замовчуванням. Якщо такий маршрут вже існує у вашому інтерфейсі OpenVPN, просто змініть показник на найнижчий.

В Windows маршрут трансляції вже існує, так що ви можете просто змінити метрику глобального інтерфейсу, як це:

netsh int ip set int <name_of_your_openvpn_connection> metric=5

Це надасть пріоритет інтерфейсу OpenVPN, якщо встановлено з'єднання. Якщо вам здається, що у вас є проблеми з налаштуванням показника, спробуйте вимкнути параметр « Автоматична метрика» для інтерфейсу.

В Linux вам, мабуть, просто потрібно додати відповідний маршрут (при необхідності додати метрику):

route add -host 255.255.255.255/32 <your_openvpn_device>

Це отримає такі ігри, як WarCraft III або Anno 1404 для трансляції в VPN замість локальної локальної мережі (успішно протестовано на сервері Debian OpenVPN та кількох клієнтах Windows 7).


Щодо питання 2:

Є багато з підручників (також допоміжні скрипти ) , доступних на те , як налаштувати підтримку бриджів в OpenVPN.

Зауважте, що вам взагалі не потрібне з'єднання з мережею, якщо ви просто хочете мати можливість грати в локальні ігри через OpenVPN. Достатньо використовувати OpenVPN з пристроями з краном, наприклад, також для обробки трансляцій або протоколів, таких як IPX, які потрібні для старих ігор.


1
Дивовижно! Перша частина вашої відповіді вирішила всі наші проблеми. Хоча я не розумів, що саме роблю. route printдав мені показник 286, тоді як ваша команда змінила його на 261. Як це узгоджується з метрикою = 5?
AmShaegar

2
Метрика використовується для пріоритету маршрутів, коли існує подібний маршрут. Я точно не знаю, чому Windows не приймає заданого значення для показника, але я помітив, що за допомогою низького показника, як-от, metric=5створюється маршрут, який має найнижчий показник, якщо існують інші подібні маршрути. Тому новий маршрут буде надавати пріоритет для передач UPD.
лектор

netsh int ip set int MyTap metric=5не має жодного ефекту для Windows 7 32-розрядної. route printяк і раніше показує старий показник 265
Алекс G

@AlexG Ви спробували встановити нижчі значення? Я також додав посилання щодо параметра " Автоматична метрика " для мережевих інтерфейсів у Windows, можливо, відключення цього допомагає. Крім того, я не думаю, що ви вже повинні спростувати мою відповідь, якщо ми навіть не змогли обговорити проблему, яку, здається, у вас з Win7 x86.
доповідач

@speakr Я спробував усі можливі способи, включаючи відключення автоматичної метрики у всіх інтерфейсах.
Alex G

-1

Є дві метрики, метрика інтерфейсу та метрика шлюзу. Для IPv4 реальна метрика - це сума обох.

Один або обидва можуть бути налаштовані як автоматичні. Якщо ви хочете точне значення, ви повинні уточнити обидва.

Ви можете зробити це за допомогою миші, налаштувавши розширені властивості протоколу IPv4 інтерфейсу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.