在 RB450G(以及所有使用 MikroTik RouterOS 的設備)中,「端口映射」(Port Mapping),在 RouterOS 的術語中被稱為 Destination NAT (dst-nat)。
簡單來說,這個設定的意思是:告訴路由器,當有人從網際網路(外部)敲門訪問特定的服務時,該把這位訪客引導到內部網路(LAN)的哪一台電腦去。
以下我將為您詳細拆解這個概念、它的用途以及在 RouterOS 中的運作邏輯。
1. 什麼是端口映射 (Port Mapping/Forwarding)?
想像您的公司或住家像是一棟大樓:
公網 IP (Public IP): 是這棟大樓的「地址」(只有一個)。
內部 IP (Private IP): 是大樓內的「房間號碼」(例如 192.168.88.x)。
端口 (Port): 是房間的「分機號碼」或「特定的窗口」。
當外部的人(網際網路)想要寄信給內部的某個房間時,他們只能看到大樓地址(公網 IP)。路由器(RB450G)就是大樓的管理員。
如果沒有設定端口映射,管理員會把所有外部來的請求擋在門外,因為他不知道這些請求是要找誰的。
設定端口映射就是給管理員一張指令表:
「如果有人寄信到大樓地址,且上面寫著要找『分機 80 (Web服務)』,請把這封信轉交給『192.168.88.10 號房』。」
2. 為什麼需要設定它?
您通常在以下情況需要設定 RouterOS 的端口映射:
遠端桌面連線: 您想在外地用電腦控制家裡的 PC。
架設網站/伺服器: 您在內部網路架設了 Web Server 或 FTP Server,希望外部人能訪問。
監控設備 (CCTV): 您想用手機在外面觀看家裡的監視器畫面。
P2P 下載或遊戲: 某些遊戲或 BT 下載需要開放特定端口以獲得更好的速度。
3. 在 RouterOS (RB450G) 中的運作邏輯
與一般的家用路由器(如 ASUS, TP-Link)不同,RouterOS 沒有一個簡單叫「Port Forwarding」的選單。它是在 Firewall (防火牆) 的 NAT 區塊中設定的。
具體邏輯是使用 dst-nat (Destination Network Address Translation,目的地位址轉換)。
設定的關鍵五要素:
Chain (鏈): 必須選擇 dst-nat。
Dst. Address / In-Interface (目標地址/介面): 指定流量是從哪裡進來的(通常是 WAN 介面,例如 pppoe-out1 或 ether1)。
Protocol (協定): 選擇 TCP 或 UDP。
Dst. Port (目標端口): 外部訪問時使用的端口號(例如 80)。
Action (動作):
Action: 設為 dst-nat。
To Addresses: 填寫內部設備的 IP (例如 192.168.88.20)。
To Ports: 填寫內部設備實際監聽的端口。
4. 設定範例 (圖解概念)
假設您有一台網頁伺服器在內網 192.168.88.10,運作在 Port 80。您希望外部的人透過您的公網 IP 訪問它。
RouterOS 的設定指令 (CLI) 如下:
Bash
/ip firewall nat
add chain=dst-nat \
action=dst-nat \
to-addresses=192.168.88.10 \
to-ports=80 \
protocol=tcp \
in-interface=pppoe-out1 \ <-- 假設這是您的撥號上網介面
dst-port=80 \
comment="Web Server Port Mapping"
5. 常見陷阱:回流 (Hairpin NAT)
這是在 RouterOS 上最常遇到的問題。
現象: 設定好端口映射後,您在公司外部(用手機 4G)可以連上伺服器,但在公司內部(用 Wi-Fi)打公網 IP 卻連不上。
原因: RouterOS 預設只處理從外面進來的 dst-nat。當您在內網訪問公網 IP 時,流量路徑會變成「內網 -> 路由器 -> 內網」,路由器會感到困惑而丟棄封包。
解決方法: 需要設定 Hairpin NAT (或稱 NAT Loopback),這需要額外的 Masquerade 規則。
總結
RB450G 的「端口映射」就是在 IP > Firewall > NAT 中,新增一條 dst-nat 規則。它將外部網路對路由器特定端口的訪問,轉換並傳送給內部網路的特定設備。
您目前是否正嘗試設定某個具體的服務(例如監視器或遠端桌面),需要我提供準確的設定指令嗎?
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。