
Port forwarding 冇設錯但外網照樣連唔到?先查清 CGNAT
由 WAN IP 開始排查,再揀公網 IP、IPv6 或 tunnel
點解開咗 port 都冇反應
XDA Developers 提到一個幾常見嘅情況:屋企部 NAS、Home Assistant 或遊戲 server 喺 LAN 入面運作正常,router 嘅 port forwarding 同防火牆亦睇唔到問題,但外網始終連唔入。原因可以係 ISP 用咗 Carrier-grade NAT(CGNAT),多個客戶共用同一個公開 IPv4;外面打入嚟嘅連線先到 ISP 嗰層 NAT,未去到你部 router 已經冇咗路可行。
原文標題話 ISP「唔會話你知」,呢句講得太盡。實際情況係好多一般上網計劃根本唔會特別標示 IP 架構,客服第一線亦未必即刻答到。CGNAT 唔影響睇片、打機連出街同瀏覽網頁,因為呢啲連線都由屋企發起;去到自架服務要收外來連線,個分別先一次過浮面。UPnP、Nginx reverse proxy 同再改一次 port forwarding,都控制唔到 ISP 上游嗰層 NAT。

圖片:Wikimedia Commons — Hanspetm(CC BY-SA 3.0)
第一步:比較兩個 IPv4
入 router 管理頁,搵 WAN、Internet 或 External IPv4,再用公開 IP 查詢網站睇自己出街嗰個 IPv4。兩個地址相同,通常代表 router 直接拎到公開 IPv4,問題應該繼續向防火牆、服務監聽地址同 port 規則查;兩個地址唔同,就代表中間仲有一層 NAT,但未足以單憑呢點判定 CGNAT。雙 router、ISP modem 未轉 bridge mode,同樣會整出兩個唔同地址。
比較嗰陣要認住係 IPv4 對 IPv4。如果條線有 dual-stack,瀏覽器可能優先顯示公開 IPv6,攞佢同 router 嘅 WAN IPv4 比一定唔同,結果會自己嚇自己。測試外部連線亦要用手機數據或者另一條寬頻,唔好留喺同一個 Wi-Fi;部分 router 唔支援 NAT loopback,屋企內部用公開域名測試失敗,出到街反而連到。
見到呢啲 WAN 地址,先追上游 NAT
IETF 嘅 RFC 6598 將 100.64.0.0/10,即 100.64.0.0 至 100.127.255.255,預留做供應商共享地址空間。router WAN 落喺呢段,加上公開 IPv4 又唔一致,CGNAT 嫌疑已經好高。若果 WAN 係 10.x.x.x、172.16.x.x 至 172.31.x.x,或者 192.168.x.x,則只可確定前面仲有私人網絡;佢可能係 ISP 嗰層,亦可能只係屋企有兩部 router 串住。
先將 ISP modem 或上級 router 嘅 bridge mode、IP passthrough、DMZ 同防火牆設定查清楚。跟住確認服務有監聽正確 LAN IP,TCP/UDP 冇揀錯,主機防火牆真係放行,而且 port 冇俾另一個程序佔用。由外網掃指定 port 之前,服務本身亦要保持運作。呢輪都過晒,再搵 ISP 問「WAN IPv4 係咪 public routable、條線有冇 CGNAT、可唔可以退出」,會準過淨係話 port forwarding 壞咗。
香港 ISP 公開資料講到幾多
香港固網唔可以一概當成 CGNAT。HKBN 一份 2018 年住宅寬頻條款 寫明每名客戶獲派一個動態公開 IP,不過同一份條款亦限制客戶用住宅服務向其他人提供 server 類服務。網上行現時嘅 多連接寬頻產品頁 就明確寫有獨立公開 IP。兩者都只證明指定文件或產品嘅安排,唔代表每個新舊計劃、接入方式同合約完全一樣。
SmarTone Home 5G Broadband 同 3HK 5G 寬頻現有官方產品頁,分別交代用 SIM 卡配 router、數據量同合約安排,但截至 2026 年 8 月 17 日,頁面冇列明公開 IPv4、CGNAT 退出、IPv6 prefix 或固定 IP 收費。呢個空白唔等於佢哋一定用 CGNAT。簽約或改設定前,最好向客服攞書面答案,逐項問公開動態 IPv4、固定 IPv4 月費、IPv6、入站封鎖同自架服務條款;流動 5G 寬頻同固網光纖亦唔應該當成同一套 IP 政策。
四條可行出路,各自有代價
最直接係向 ISP 申請公開動態或固定 IPv4。動態地址配 DDNS 已經應付到唔少個人用途;固定地址方便公開服務,不過可能另收月費,仲要先睇合約准唔准開 server。IPv6 就可避開 IPv4 CGNAT,但 router、防火牆、服務同外面嗰部裝置都要支援;開放入站時改嘅係 IPv6 防火牆規則,唔代表有 global address 就應該任人連。只得 IPv4 嘅外部網絡,亦未必摸到你個 IPv6 服務。
服務只畀自己或幾個熟人用,Tailscale 類 mesh VPN 通常最省事:兩邊裝 client,用加密連線同存取規則控制邊部機睇到咩,穿唔到 NAT 時會改行 relay,速度同延遲可能差啲。Web app 想用普通瀏覽器開,就可以考慮 Cloudflare Tunnel;屋企嘅 cloudflared 主動連出去,唔使公開入站 port,但要配 Cloudflare Access 或服務本身嘅登入保護,亦即係接受多一間第三方處理流量同可用性。要跑特別 TCP/UDP 協定,就可能要租 VPS 做 reverse tunnel,管理成本自然高啲。
開放畀外網連線之前,先諗清楚係咪真係有需要
NAS 管理頁、SMB 445、未加固嘅 RDP 同 Home Assistant 管理介面,都唔適合直接擺上公開網絡。真係要開,就保持系統同套件更新、用 HTTPS、強密碼同 MFA,停用預設帳戶,限制來源地址,只開最少量嘅 port,再留意登入紀錄同異常流量。Reverse proxy 只幫手分流同終止 TLS,唔會自動補上認證;UPnP 方便還方便,但亦可能畀其他裝置自行開窿。排查完確認係 CGNAT,就按使用人數同協定揀公網 IP、mesh VPN 或 tunnel;唔好為咗外網連得到,就直接將 NAS 管理介面公開。
參考來源
- XDA Developers — CGNAT is silently blocking your home server, and your ISP won't tell you — original report
- RFC 6598:IANA-Reserved IPv4 Prefix for Shared Address Space — 確認 100.64.0.0/10 嘅正式用途同地址範圍。
- HKBN Residential Broadband Service Terms and Conditions — 核對 HKBN 文件所載動態公開 IP 同住宅寬頻 server 使用限制。
- NETVIGATOR Multi-Use Broadband Service — 確認指定網上行多連接寬頻產品列明獨立公開 IP。
- SmarTone Home 5G Broadband — 核對現有 Home 5G Broadband 產品公開資料。
- 3HK 5G Broadband — 核對現有 3HK 5G 寬頻產品同 SIM router 安排。
- Cloudflare Tunnel 官方文件 — 確認 tunnel 使用由內向外連線,毋須公開可路由 IP。
- Tailscale Firewall 官方文件 — 說明 NAT traversal、relay fallback 同開放防火牆規則嘅取捨。
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







