Aruba Controller Port Mapping

Port Mapping(又名 Port Forwarding),是一種搭配NAT(Network Address Translation) Server的進階功能。

假設有一台電腦與一台無線路由器。

電腦的IP為192.168.1.1/24

無線路由器的LAN IP(Private)為192.168.1.254/24。WAN IP為123.123.123.123/24。

由於流量從LAN(內部)到WAN(外部)會進行NAT,將封包上電腦的IP轉換成路由器的WAN IP,因此使得外部的設備在看流量的IP來源時是無線路由器的WAN IP。

NAT的運作機制就是把IP轉換,(從內部)去的時候,把來源IP轉換。回來的時候,把目的IP轉換。可以想像有兩條規則,只是大多在設定的時候簡單化了,設定其中一條規則時,另一條規則也動態產生。如果是家用無線路由器,這一部份甚至不用勾選,只要把線分別接到WAN與LAN,就預設LAN=>WAN會進行NAT。

可是一旦反向,從WAN到LAN時,在外部的人想要去連到電腦的22 Port,就會因為沒有對方沒有從WAN IP到LAN IP的NAT,導致無法路由到電腦的192.168.1.1:22,最終停留在無線路由器。

回歸正題,外部的設備想要連到電腦的192.168.1.1:22,然後無線路由器有啟用NAT功能。這時我們只就需要下一條規則,例如把到目的123.123.123.123:10022轉換成192.168.1.1:22即可。

會在Routing之前,而Port Mapping之後再依照Routing Table轉送。

Port Mapping在啟用內對外NAT(PAT)時,Port Mapping的ACL只要設定單向一條,位置在外線的IN方向。

架構圖

背景:Remote Device可以Ping到Aruba Controller(192.168.1.31),但Remote Device無法Ping到Local Device。而Local Device上網透過Aruba Controller進行NAT,同時也可以Ping到Remote Device。
可以想成,在Aruba Controller上,192.168.1.31是WAN IP,192.168.20.254是LAN IP。

情境:Remote Device想要SSH到Local Device,從WAN連入,方便管理。

關鍵設定:NAT、Port Mapping。

NAT

要啟用NAT,在Aruba Controller上,只需要在LAN VLAN的IPv4選項啟用 NAT Inside即可。

Port Mapping

要先設定Policy,然後把Policy套用在外線的IN方向。

新增Policy
新增Port Mapping Rule

SSH是TCP 22,因此Service選擇TCP。到Controller的10022 Port,透過Destination NAT將目的IP轉換成192.168.20.1:22。

建議在練習時,多一條Any Any Port置底,以免套用在外線IN方向時,意外造成Controller直接失聯。

建議在練習時,多一條Any Any Port置底,以免套用在外線IN方向時,意外造成Controller直接失聯。

到連接外線的Port上,Policy選擇Per-Session,然後套用PortMapping。

套用之後,記得按 Pending Changes,讓設定生效。

接著透過Putty,SSH到192.168.1.31:10022,看看設定是否有生效?

Putty,SSH到192.168.1.31:10022

透過檢查Session IP,看看自己的IP為何。

在Aruba 2930F,show session-list可以看到目前連線該設備的IP。

或者在Controller上「show acl hits」,可以看到Policy中的Rule被命中的次數。

其他解說

Port Mapping在沒啟用內對外NAT時,Port Mapping的ACL只要設定單向雙條,位置在內線的IN方向,或是在VLAN上進定雙向轉換,實際上這兩條規則能組合成Static NAT。

NAT會在Routing之前,而Port Mapping之後再依照Routing Table轉送。

切記!有被NAT來回流量都需要經過NAT Server上。

未做Port Mapping前的封包
來源IP:Port = a.b.c.d:e
目的IP:Port = 123.123.123.123:10022
無線路由器發現目的IP在自己身上,不做路由。

做Port Mapping後的封包 ※假設沒有啟用內對外方向的NAT
來源IP:Port = a.b.c.d:e
目的IP:Port = 192.168.1.1:22
無線路由器發現目的IP不自己身上,檢查路由表做轉送。

電腦收封包後,回傳的封包
來源IP:Port = 192.168.1.1:22
目的IP:Port = a.b.c.d:e

遠端設備收到回傳的封包
來源IP:Port = 192.168.1.1:22
目的IP:Port = a.b.c.d:e
當初「寄送時目的IP 123.123.123.123:10022」與「收到時來源的IP 192.168.1.1:22」並不同,如果是TCP就會交握失敗。

在防火牆上看Port Mapping