Sự cố khi chơi trò chơi bằng OpenVPN sử dụng các gói phát sóng. Các trò chơi khác hoạt động, máy chủ có thể ping nhau


12

Tôi đang chạy máy chủ OpenVPN ở chế độ bắc cầu và khách hàng có thể kết nối thành công, xem thư mục dùng chung và chơi các trò chơi LAN cho phép bạn nhập địa chỉ IP LAN. Tuy nhiên tôi không thể chơi các trò chơi như Holy Underworld tôi tin vì nó gửi các gói phát sóng. Trò chơi thậm chí không hiển thị trong danh sách các trò chơi trên máy khách.

Tôi mới sử dụng OpenVPN nhưng tôi nghĩ điều này có thể liên quan đến một trong hai vấn đề sau:

  1. Tôi có thể cần một tuyến đường nào đó để cho phép các gói tin được xử lý chính xác (mặc dù không chắc chắn cách thiết lập này)

  2. VPN của tôi chạy trên một mạng con khác với bộ định tuyến của tôi. Tức là mạng gia đình của tôi là 192.168.1.xxvà VPN của tôi sử dụng một cái gì đó như 10.0.0.xx. Có thể tôi cần phải có VPN để chia sẻ cùng mạng con với mạng thực tế của mình 192.168.1.xxkhông? Nếu vậy làm thế nào tôi có thể thiết lập này?


Bạn có thể chọn giao diện mạng nào được sử dụng trong trò chơi không? Có vẻ như trò chơi đang mặc định cho giao diện có dây và thay vào đó bạn cần nó để sử dụng giao diện VPN.
Zoredache

Câu trả lời:


11

Về câu hỏi 1:

Các trò chơi LAN sử dụng chương trình phát sóng (UDP) thường chọn giao diện mạng sử dụng số liệu thấp nhất cho tuyến phát sóng của nó (tức là ip 255.255.255.255). Rất có thể giao diện mạng mặc định của bạn (ví dụ: NIC của bạn) có số liệu thấp nhất để các trò chơi phát sóng, ví dụ như trên 192.168.1.0/24mạng LAN của bạn thay vì VPN. Bạn có thể kiểm tra bảng lộ trình của mình với route -vntrên Linux hoặc route printtrên Windows.

Để nhận được phát sóng trên VPN của bạn, hãy làm như sau trên tất cả các máy khách OpenVPN ( không phải trên máy chủ):

Thêm một tuyến phát sóng mới ( 255.255.255.255/32) trên giao diện OpenVPN của bạn với số liệu thấp hơn so với giao diện mạng mặc định mà bạn sử dụng. Nếu một tuyến đường như vậy đã tồn tại trên giao diện OpenVPN của bạn thì chỉ cần thay đổi số liệu thành mức thấp nhất.

Trong Windows, tuyến phát sóng đã tồn tại, do đó bạn chỉ cần thay đổi số liệu giao diện toàn cầu như thế này:

netsh int ip set int <name_of_your_openvpn_connection> metric=5

Điều này sẽ ưu tiên giao diện OpenVPN nếu kết nối được thiết lập. Nếu bạn dường như gặp sự cố khi đặt số liệu, hãy thử tắt tùy chọn Số liệu tự động cho giao diện.

Trong Linux, có lẽ bạn chỉ cần thêm tuyến tương ứng (thêm số liệu nếu cần):

route add -host 255.255.255.255/32 <your_openvpn_device>

Điều này sẽ giúp các trò chơi như WarCraft III hoặc Anno 1404 phát sóng tới VPN thay vì tới mạng LAN cục bộ (đã thử nghiệm thành công với máy chủ Debian OpenVPN và một số máy khách Windows 7).


Về câu hỏi 2:

Có rất nhiều các hướng dẫn (hay còn kịch bản helper ) có sẵn về cách thiết lập ethernet cầu nối trong OpenVPN.

Lưu ý rằng bạn hoàn toàn không cần bất kỳ cầu nối ethernet nào nếu bạn chỉ muốn có thể chơi các trò chơi LAN qua OpenVPN. Sử dụng OpenVPN với các thiết bị tap là đủ, ví dụ để xử lý các chương trình phát sóng hoặc giao thức như IPX cần thiết cho các trò chơi cũ.


1
Tuyệt vời! Phần đầu tiên của câu trả lời của bạn đã giải quyết tất cả các vấn đề của chúng tôi. Mặc dù tôi không hiểu chính xác mình đang làm gì. route printđã cho tôi một số liệu là 286 trong khi lệnh của bạn thay đổi thành 261. Làm thế nào để điều này đồng tình với số liệu = 5?
AmShaegar

2
Số liệu được sử dụng để ưu tiên các tuyến đường khi tuyến đường tương tự tồn tại. Tôi không biết chính xác lý do tại sao Windows không lấy giá trị đã cho cho số liệu, nhưng tôi nhận thấy rằng việc sử dụng số liệu thấp như metric=5tạo ra tuyến đường có số liệu thấp nhất nếu các tuyến tương tự khác tồn tại. Do đó, tuyến mới sẽ được ưu tiên phát sóng CẬP NHẬT.
speakr

netsh int ip set int MyTap metric=5không có bất kỳ ảnh hưởng nào đối với Windows 7 32-bit. route printvẫn hiển thị số liệu cũ 265
Alex G

@AlexG Bạn đã thử đặt giá trị thấp hơn chưa? Tôi cũng đã thêm một liên kết liên quan đến tùy chọn Số liệu tự động cho các giao diện mạng trong Windows, có thể vô hiệu hóa giúp. Ngoài ra, tôi không nghĩ bạn nên hạ thấp câu trả lời của tôi nếu chúng tôi thậm chí không thể thảo luận về vấn đề mà bạn dường như gặp phải với Win7 x86.
speakr

@speakr Tôi đã thử tất cả các cách có thể, bao gồm vô hiệu hóa số liệu tự động trong tất cả các giao diện.
Alex G

-1

Có hai số liệu, số liệu giao diện và số liệu cổng. Đối với IPv4, số liệu thực là tổng của cả hai.

Một hoặc cả hai có thể được cấu hình là tự động. Nếu bạn muốn một giá trị chính xác, bạn phải đặc biệt cả hai.

Bạn có thể làm điều đó bằng chuột, cấu hình các thuộc tính nâng cao của giao thức IPv4 giao diện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.