來自多個子網路的用戶端無法同時連線到伺服器

來自多個子網路的用戶端無法同時連線到伺服器

我過去為幾款遊戲設定了伺服器,本地網路外部的玩家可以加入,本地網路內部的玩家也可以加入,但不能同時加入。哪個先加入就會阻止另一個。本機和「遠端」(網路)連線都連接到伺服器主機上的相同網路介面。與第一個加入的相同「類型」(本地或網路)的其他玩家能夠連接,但來自其他「類型」的玩家無法連接。如果所有這些玩家都斷開連接,則先前無法連接的其他「類型」的玩家將能夠連接。

我故意省略了特定遊戲的名稱,因為我並不是問這些遊戲。如果事實證明是遊戲軟體造成的,那就這樣吧。這個問題是關於可能是原因的潛在網路問題。

  • 有沒有解釋為什麼網路會這樣?
  • 如果這是網路問題,是否有修復或解決方法?
  • 如果這是軟體/伺服器問題,是否有解釋如何導致這種網路行為?是否有任何一種不太具侵入性、不需要改變拓樸的解決方法?也許某種隧道/轉發來“欺騙”伺服器?

細節

免責聲明: 我不是網路專家。
我有兩個「連結」的 NAT 路由器。我認為它們是“內在”和“外在”。每個都運行 DHCP,創建兩個子網路。 (192.168.1-2.x)請注意,網路目前不存在已知問題。每個人都可以訪問互聯網以及我希望他們訪問的所有地址/服務。

網路

伺服器通常位於內部路由器後面。本機用戶位於外部路由器後面並透過連接埠轉送進行連線(它們與伺服器位於不同的子網路)。遠端/網際網路使用者也透過連接埠轉送來透過外部路由器。 再次注意,每個場景都是獨立工作的。只是當遠端和「本地」客戶端同時嘗試連線時,有人會被阻止。

讓這種情況變得更加奇怪(也許是罪魁禍首的軟體)是本地和遠端連接,因為它們都是從不同的子網路轉發的,如果我沒有記錯的話,它們應該與伺服器看起來相同。

答案1

雙重 NAT 是您的問題。

您的配置應該工作,但遇到問題也就不足為奇了。真正的路由器可以在您的設定中正常工作,但 NAT 網關「路由器」在一個接一個地堆疊時可能會引入各種不必要的行為。

想要對此進行解釋是合理的,但在配置“應該”起作用的情況下,可以在每個路由器如何實現 NAT 和/或端口轉發中找到解釋,甚至設備的用戶指南也無法提供足夠的信息有關的技術細節。

如果您將遊戲伺服器移至單一面向互聯網的路由器/網關後面的子網,您的問題就會消失。

相關內容