Problem z graniem w gry przy użyciu OpenVPN, które korzystają z pakietów rozgłoszeniowych. Inne gry działają, gospodarze mogą pingować się nawzajem

12

Korzystam z serwera OpenVPN w trybie zmostkowanym, a klienci mogą się z powodzeniem łączyć, przeglądać folder współdzielony i grać w gry LAN, które pozwalają wprowadzić adres IP LAN. Jednak nie jestem w stanie grać w gry takie jak Sacred Underworld, ponieważ wydaje mi się, że wysyła pakiety rozgłoszeniowe. Gra nawet nie pojawia się na liście gier na komputerze klienckim.

Jestem nowy w OpenVPN, ale myślę, że może to być związane z jednym z dwóch poniższych problemów:

  1. Mogę potrzebować jakiegoś rodzaju trasy, aby umożliwić poprawną obsługę pakietów rozgłoszeniowych (chociaż nie jestem pewien, jak to skonfigurować)

  2. Moja sieć VPN działa w innej podsieci niż mój router. To znaczy moja domowa sieć jest, 192.168.1.xxa moja VPN używa czegoś takiego 10.0.0.xx. Czy to możliwe, że muszę uzyskać VPN, aby współużytkować tę samą podsieć, co moja rzeczywista sieć (tj. 192.168.1.xx)? Jeśli tak, jak mogę to skonfigurować?

Koder
źródło
Czy możesz wybrać interfejs sieciowy używany w grze? Wygląda na to, że gra domyślnie korzysta z interfejsu przewodowego i zamiast tego potrzebujesz go do korzystania z interfejsu VPN.
Zoredache,

Odpowiedzi:

11

Odnośnie do pytania 1:

Gry LAN korzystające z transmisji (UDP) zazwyczaj wybierają interfejs sieciowy, który wykorzystuje najniższą metrykę dla swojej trasy emisji (tj. Ip 255.255.255.255). Najprawdopodobniej twój domyślny interfejs sieciowy (np. Twoja karta sieciowa) ma najniższy wskaźnik, więc gry są transmitowane np. W twojej 192.168.1.0/24sieci LAN zamiast VPN. Możesz sprawdzić tabelę tras route -vnw systemie Linux lub route printWindows.

Aby uzyskać transmisje w sieci VPN, wykonaj następujące czynności na wszystkich klientach OpenVPN ( nie na serwerze):

Dodaj nową trasę emisji ( 255.255.255.255/32) do interfejsu OpenVPN z niższą wartością niż ta, której używa domyślny interfejs sieciowy. Jeśli taka trasa już istnieje w interfejsie OpenVPN, wystarczy zmienić metrykę na najniższą.

W systemie Windows trasa emisji już istnieje, więc możesz po prostu zmienić metrykę interfejsu globalnego w następujący sposób:

netsh int ip set int <name_of_your_openvpn_connection> metric=5

Jeśli połączenie zostanie ustanowione, priorytetem będzie interfejs OpenVPN. Jeśli wydaje Ci się, że masz problemy z ustawieniem metryki, spróbuj wyłączyć opcję Metryka automatyczna dla interfejsu.

W systemie Linux prawdopodobnie wystarczy dodać odpowiednią trasę (w razie potrzeby dodaj metrykę):

route add -host 255.255.255.255/32 <your_openvpn_device>

Spowoduje to, że gry takie jak WarCraft III lub Anno 1404 będą transmitować do VPN zamiast do lokalnej sieci LAN (pomyślnie przetestowane na serwerze OpenVPN Debiana i kilku klientach Windows 7).


Odnośnie do pytania 2:

Istnieje wiele z tutoriali (też pomocnicze skrypty ) dostępnych w jaki sposób skonfigurować mostków ethernetowej OpenVPN.

Pamiętaj, że nie potrzebujesz żadnego mostka Ethernet, jeśli chcesz mieć możliwość grania w gry LAN przez OpenVPN. Wystarczy użyć OpenVPN z urządzeniami z kranem, np. Do obsługi transmisji lub protokołów, takich jak IPX, które są potrzebne do starych gier.

mówca
źródło
1
Niesamowite! Pierwsza część twojej odpowiedzi rozwiązała wszystkie nasze problemy. Chociaż nie rozumiałem, co dokładnie robię. route printdał mi metrykę 286, podczas gdy twoje polecenie zmieniło ją na 261. Jak to się zgadza z metryką = 5?
AmShaegar,
2
Metryka służy do ustalania priorytetów tras, gdy istnieje podobna trasa. Nie wiem dokładnie, dlaczego system Windows nie przyjmuje podanej wartości metryki, ale zauważyłem, że użycie niskiej metryki, takiej jak metric=5trasa, tworzy trasę, która ma najniższą metrykę, jeśli istnieją inne podobne trasy. Dlatego nowa trasa będzie traktowana priorytetowo dla transmisji UPD.
przemawiający
netsh int ip set int MyTap metric=5nie ma żadnego wpływu na 32-bitowy system Windows 7. route printwciąż pokazuje starą metrykę 265
Alex G
@AlexG Czy próbowałeś ustawić niższe wartości? Dodałem również link dotyczący opcji Automatic Metric dla interfejsów sieciowych w systemie Windows, być może wyłączenie to pomaga. Poza tym nie sądzę, że powinieneś już głosować za moją odpowiedzią, jeśli nie moglibyśmy nawet omówić problemu, jaki masz z Win7 x86.
speakr
@speakr Próbowałem wszystkich możliwych sposobów, w tym wyłączając automatyczne pomiary we wszystkich interfejsach.
Alex G
-1

Istnieją dwie metryki, metryka interfejsu i metryka bramy. W przypadku IPv4 rzeczywista metryka jest sumą obu.

Jeden lub oba mogą być skonfigurowane jako automatyczne. Jeśli chcesz uzyskać dokładną wartość, musisz podać oba.

Możesz to zrobić za pomocą myszy, konfigurując zaawansowane właściwości protokołu IPv4 interfejsu.

Antonio
źródło