2026年1月21日 星期三

RouterOS 端口映射設定

 在 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 規則。它將外部網路對路由器特定端口的訪問,轉換並傳送給內部網路的特定設備。

您目前是否正嘗試設定某個具體的服務(例如監視器或遠端桌面),需要我提供準確的設定指令嗎?


沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。