最近遇到困惑的問題,換上 OPNsense 後,發現 PS5 / XBOX / Nintendo Switch 在網路測試時,變成了 NAT 3(C、D)Type 連線模式,可能是 OPNsense 防火牆規則強度略高被阻擋,會造成無法多人線上連線對戰。
目錄
NAT Type 說明
- NAT 1 Type (NAT A):直接裸奔,連線到網路上,安全性比較危險。
- NAT 2 Type (NAT B):在路由器防火牆環境,連線到網路,仍保有安全性,大多使用這個模式。
- NAT 3 Type (NAT C、D):使用二層 NAT 網路(房東、社區網路),或有路由器防火牆被擋掉。
各家遊戲機 NAT Type 標示
Sony Playstation(PS4 / PS5):NAT 1、NAT 2、NAT 3 Type
任天堂(Nintendo Switch):NAT A、NAT B、NAT C、NAT D Type
前置準備
- 先關閉 DMZ、UPNP 規則(雖然它是可以這樣做無視防火牆直接全放行,但會這樣裸奔了,安全性比較危險,所以不建議這樣子做放行)。
- 綁定 DHCP IP、MAC 位址(方便讓防火牆對應 IP 列表)。
建立別名
為了要建立群組清單,將多台遊戲主機的不同 IP 位址,全部加入至一組別名裡面,在「防火牆 → 別名」新增規則以下設定後,並且套用。
- 啓用:勾選
- 名稱:自訂命名
- 類型:主機 Host
- 內容:輸入要把 PS5 / XBOX / Nintendo Switch 遊戲主機的 IP 位址加入
防火牆 NAT 放行
在建立別名完成後,接著將 NAT 連出設定規則放行,在「防火牆 → NAT → 連出」新增規則以下設定後,並且套用。
- 介面:WAN
- TCP/IP 版本:IPv4(因為遊戲主機 IPv6 吃不到)
- 協定:any(有些會走 UDP QUIC 協定,所以將 TCP、UDP 加入)
- 來源位址:剛建立的別名加入
- Static-port:勾選(一定要勾選)
實測結果
OPNsense NAT 設定完後,回到遊戲主機重新測試,會看到變成 NAT 2 Type 連線。