埠轉發因令人困惑而聞名。它出現在每個遊戲指南、每個家庭伺服器教程和每個 IP 攝像機設定指南中 - 通常隱藏在帶有神秘欄位的路由器設定中,並且沒有解釋它的實際用途。

2026 年 10 月 8 日更新: 新增了有序的故障排除清單以及 CGNAT、雙 NAT 和髮夾 NAT 指南的連結。 DHCP 網路上的

本指南跳過了術語並解釋了實際發生的情況,因此您可以就是否需要它做出正確的決定,並在需要時正確設定它。

心智模型:你的路由器是接待員

您的路由器位於家庭網路和網際網路之間。您家中的每臺裝置(電話、膝上型電腦、智慧電視、遊戲機)共享一個由 ISP 分配的公共 IP 地址。在內部,您的路由器為每個裝置提供了自己的私有 IP(例如 192.168.1.x).

可以把它想象成一家只有一個電話號碼但有很多員工的公司。當有人撥打總機號碼時,接待員需要知道將呼叫轉接到哪個分機。

埠轉發是告訴您的路由器的規則列表: “當網際網路上的某人連線到埠 25565 時,將該連線轉移到位於 192.168.1.50 的 PC。”

如果沒有這條規則,路由器不知道將傳入連線傳送到哪裡 - 因此它會丟棄它。

什麼是埠

每個網路連線都使用兩件事:IP 地址(哪臺計算機)和埠號(該計算機上的哪個應用程式)。

埠只是從 0 到 65535 的數字。您可能見過的常見埠:

連接埠 服務
80 HTTP(網路)
443 HTTPS(安全網路)
22 SSH
25565 我的世界 Java 版
3389 Remote Desktop (RDP)
32400 Plex 媒體伺服器

當你打字時 google.com 在您的瀏覽器中,您的計算機在埠 443 上連線到 Google 的 IP。當您的朋友嘗試連線到您的 Minecraft 伺服器時,他們會在埠 25565 上連線到您的公共 IP。

如果沒有埠轉發,您的路由器就不知道將 Minecraft 流量傳送到您的遊戲 PC,而不是直接丟棄它。

當你確實需要埠轉發時

執行您家以外的人連線到的伺服器。

這才是真正的答案。如果您在路由器的 IPv4 NAT 後面託管服務並想要直接入站連線,通常需要埠對映。中繼、出站隧道或覆蓋 VPN 可以提供無需手動轉發的訪問。 IPv6 使用防火牆規則而不是 IPv4 NAT 對映。

具體案例:

  • Minecraft Java 伺服器 — 埠 25565,網路之外的朋友沒有它就無法加入
  • Plex 遠端訪問 — 埠 32400,沒有它,外部 Plex 客戶端無法訪問您的伺服器
  • 從工作場所透過 SSH 連線到您的家庭伺服器 — 埠 22(或自定義埠)
  • 遠端桌面 — 通常為 TCP 3389;更喜歡透過 VPN 訪問它而不是直接暴露它
  • 網路攝像機 — 使用受支援的安全訪問方法;避免直接暴露他們的管理介面
  • 自託管 VPN(WireGuard、OpenVPN) — 需要 VPN 埠上的埠轉發

共同點: 東西 外面 您的網路正在嘗試發起連線 進入 您的網路。

當你不需要埠轉發時

這是大多數指南都會跳過的部分。

作為客戶端玩網路遊戲不需要埠轉發。 您連線到 EA 的伺服器、Steam 伺服器或 PlayStation Network — 這是您的路由器自動處理的出站連線。無需埠轉發。

現代遊戲和應用程式使用 NAT 穿越技術(STUN、ICE、UDP 打洞)來建立點對點連線,而不需要手動開啟埠。諸如此類的事情:

  • 玩《使命召喚》、《堡壘之夜》、《火箭聯盟》
  • 使用 Discord 語音聊天
  • Zoom、Teams、Google Meet 上的視訊通話
  • 在 Netflix、YouTube、Twitch 上串流

全部出站。所有工作都無需任何埠轉發。

遊戲指南告訴你開啟一堆埠“以獲得更好的 NAT 型別”?有時對非常特定的平臺(Xbox、PlayStation NAT 型別評級)很有幫助,但實際上很少需要玩線上遊戲。

UPnP 自動處理許多情況。 許多路由器預設啟用通用即插即用功能。當應用程式需要開啟埠時,它會直接詢問路由器,路由器會自動開啟它。 Plex 使用這個,很多遊戲都使用它。缺點是安全性較差——應用程式可以在您不知情的情況下開啟埠。

如何設定埠轉發

確切的 UI 因路由器品牌而異,但過程在任何地方都是相同的:

步驟 1:為您的裝置提供靜態本地 IP

埠轉發指向本地網路上的特定 IP 地址。如果您的裝置的 IP 發生變化(DHCP 租約到期並重新分配),轉發就會中斷。透過以下任一方法修復此問題:

  • 在裝置本身上設定靜態 IP(在網路設定中),或者
  • 在路由器的 DHCP 設定中為該裝置的 MAC 地址保留 IP

步驟 2:找到路由器的管理面板

通常 192.168.1.1 或 192.168.0.1 在瀏覽器中。如果不確定,請檢查路由器上的標籤。

第三步:找到埠轉發部分

查詢:“埠轉發”、“虛擬伺服器”、“NAT”或“應用程式和遊戲”——因品牌而異。

步驟 4:建立規則

您需要填寫:

  • 外部埠 (有時稱為“服務埠”或“公共埠”):傳入流量到達的埠號
  • 內部IP:您要轉發到的裝置的本地IP
  • 內部埠 (有時稱為“本地埠”):通常與外部埠相同,除非您要重新對映
  • 協議:TCP、UDP 或兩者 — 檢查文件以瞭解您的應用程式需要什麼

第五步:儲存並測試

儲存規則。埠轉發在大多數路由器上立即處於活動狀態。

驗證您的埠轉發是否確實有效

首先確認應用程式正在執行並且可以在 LAN 內訪問。然後使用 埠檢查器 與您當前的公共 IP 和 外部 TCP 埠。測試時保持服務執行。 TCP 檢查器不會驗證僅 UDP 服務,例如典型的 WireGuard 端點;與其實際的客戶端進行測試。

如果測試失敗,請按順序完成這些檢查。當您發現第一個失敗的步驟時停止。

1.確認服務正在本地監聽

找到主機當前的LAN地址,然後檢查監聽套接字。將 25565 替換為應用程式的 TCP 埠。

Windows PowerShell:

命令
Get-NetTCPConnection -State Listen -LocalPort 25565

Linux:

命令
sudo ss -lntp 'sport = :25565'

監聽器僅繫結到 127.0.0.1 接受本地連線,而不是轉發到主機 LAN 地址的普通連線。根據其文件將應用程式配置為偵聽預期的 LAN 介面。僅偵聽器並不能證明應用程式正常工作。

2. 從其他 LAN 裝置連線

使用應用程式的客戶端連線到主機當前的私有IP和內部埠。對於來自另一臺 Windows 計算機的 TCP 測試:

命令
Test-NetConnection 192.168.1.50 -Port 25565

替換為實際地址和埠。如果 LAN 訪問失敗,請先修復服務、主機防火牆或網段隔離,然後再更改路由器的轉發。僅允許所需的流量;不要禁用整個防火牆。

3.匹配轉發規則中的所有欄位

確認目的IP、外部埠、內部埠、TCP/UDP協議。首選 DHCP 預留,這樣目的地就不會移動。如果外部埠 30000 對映到內部埠 25565,則外部客戶端必須連線到 30000。

對於不熟悉的目的地,請使用我們的 裝置識別工作流程 將規則匹配到正確的計算機。

4. 檢查上游 NAT 層

將路由器的 WAN IPv4 地址與您的進行比較 當前公共 IPv4 地址,使用相同的網際網路連線,無需 VPN 或代理。不匹配表明上游轉換或不同的流量路徑;確實如此 不是 自行證明CGNAT。

WAN 地址 10.0.0.0/8, 172.16.0.0/12, 或 192.168.0.0/16 是私人的。它可能來自您控制的 ISP 閘道器或 ISP 操作的 NAT。地址位於 100.64.0.0/10 是常用於CGNAT的共享地址空間;與您的 ISP 確認安排。

  • 您控制的兩個路由器:按照 雙NAT指南.
  • ISP 運營的上行 NAT:遵循 CGNAT檢查指南 並詢問公共地址或其他支援的訪問方法。
  • 匹配WAN和公共IPv4:繼續外部測試;僅匹配並不能證明傳入流量是允許的。

5. 從真正的外部連線進行測試

在 Wi-Fi 關閉的情況下使用蜂窩資料手機,或使用線上 TCP 檢查器。從您自己的 LAN 內部測試您的公共地址可能會失敗,因為路由器不支援環回。如果外部訪問有效但內部訪問無效,請使用 髮夾NAT指南.

如果連線重新啟動,請再次檢查您的公共IP。如果您使用域名,請使用以下命令將其 A 記錄與當前公共 IPv4 進行比較 DNS 查詢。單獨檢查其 AAAA 記錄:IPv6 連線將遵循 IPv6 路由和防火牆規則,而不是 IPv4 轉發。

6. 解釋失敗而不是開啟更多埠

結果 它意味著什麼 下一步檢查
本地申請失敗 服務或應用程式配置問題 啟動服務並確認其繫結地址
本地工作正常,另一個區域網裝置出現故障 主機防火牆、隔離或錯誤目的地 檢查狹窄的防火牆規則和網段
LAN 工作,外部 TCP 測試被拒絕 端點或防火牆主動拒絕連線 確認目的地、偵聽器、對映和拒絕規則
LAN 工作,外部 TCP 測試超時 流量或回覆可能會被丟棄或錯誤路由 檢查WAN地址、上行NAT、路由器規則、ISP策略
外部工作正常,LAN 到公共 IP 失敗 可能缺少 NAT 環回 嘗試 LAN 地址或拆分 DNS
TCP埠開啟,應用仍然失敗 TCP可達性只是服務的一部分 檢查應用程式日誌、TLS、身份驗證和所需協議

請在確認本地服務和路由器對映後,向您的 ISP 詢問入站埠限制。超時本身無法識別哪個防火牆或網路丟棄了流量。我們的 TCP 握手指南 解釋了拒絕和沉默之間的區別。

關於安全的一句話

埠轉發將您裝置上的服務直接公開到網際網路。這就是重點——但它也伴隨著風險。

一些值得遵循的做法:

不要將預設埠用於敏感服務。 在埠 22 上執行 SSH 可保證持續不斷的自動登入嘗試。將其移至非標準埠可能會減少例行掃描噪音,但這不是訪問控制措施,也不會阻止發現。

使用強身份驗證。 如果您要轉發 SSH 或 RDP,請確保您使用基於金鑰的身份驗證或強密碼,如果只有少數位置需要訪問,請考慮將 IP 列入白名單。

定​​期稽核您的轉發。 偶爾檢視路由器的埠轉發列表並刪除不再需要的任何內容。指向不再存在的裝置的舊轉發只是攻擊面。

考慮使用 VPN。 如果您需要對家庭網路進行常規遠端訪問(而不僅僅是一項特定服務),那麼設定 WireGuard VPN 伺服器比開啟多個埠更安全。您公開一個 UDP 埠,其後面的所有內容都會受到保護。

底線

一旦瞭解了底層邏輯,埠轉發就很簡單了。預設情況下,您的路由器會丟棄所有未經請求的入站連線 - 埠轉發是您說“除了這個”的方式。

對於 NAT 後的直接入站 IPv4 訪問,請在本地驗證服務,確認對映和上行路徑,然後在外部進行測試。對於私人管理,請考慮使用 VPN 或支援的隧道。

設定好,然後 驗證它是否真的有效 在你花一個小時除錯錯誤的事情之前。並在開始之前檢查 CGNAT 是否是一個問題——再多的路由器配置也無法修復丟失的公共 IP。

技術參考

的 IETF 共享地址空間規範 定義 100.64.0.0/10。微軟文件 獲取 NetTCPConnection 和 測試網路連線.