Skip to main content

網路拓撲與路由概念:Private IP、NAT、DDNS 與 CGNAT

私有 IP(RFC 1918)vs 公用 IP​

私有 IP 網段僅供區域網路內部使用,無法直接在網際網路(Public Internet)上路由:

  • 10.0.0.0/8(10.0.0.0 - 10.255.255.255)
  • 172.16.0.0/12(172.16.0.0 - 172.31.255.255)
  • 192.168.0.0/16(192.168.0.0 - 192.168.255.255)

錯誤根源分析:當你在外面嘗試執行 ssh admin@192.168.0.156 時,Mac 會向當前的 Wi-Fi 或行動網路尋找這個 IP,而不會連到家裡的設備。

NAT 與通訊埠轉發(Port Forwarding)​

家用路由器使用 NAT(網路位址轉譯)將單一對外公用 IP 分享給內網多台設備。

  • 對外發起連線:路由器會記住狀態表並自動轉發回應。
  • 外部主動連入:路由器不知道外部送來的 Port 2266 應該交給哪台設備,因此預設直接丟棄。
  • 解決方式:必須在路由器設定 Port Forwarding(虛擬伺服器),明確指定「凡是訪問外部 TCP 2266 的流量,全部轉發給 192.168.0.156:2266」。

DDNS(動態網域名稱系統)​

家用寬頻通常是動態實體 IP(重開機或週期性變更)。DDNS 客戶端(如 QNAP 的 myQNAPcloud)會定期偵測公用 IP,並自動更新網域紀錄(wmd-316.myqnapcloud.com → 當前實體 IP)。

CGNAT(電信級 NAT/大內網)​

若電信業者(ISP)分配給路由器 WAN 口的 IP 不是公用 IP,而是以 100.64.x.x 開頭的運營商私有網段(RFC 6598),代表你處於「大內網」中。

  • 現象:即使路由器開啟 UPnP 或 Port Forwarding,外部流量依舊進不來,nc 檢測必然 timed out。
  • 現代解決方案:
    • 內網穿透/虛擬網格 VPN:Tailscale、ZeroTier(利用 STUN/DERP 技術實現 NAT 穿透)。
    • 反向隧道(Reverse Tunnel):Cloudflare Tunnel、FRP。