Nth在端口映射的應用淺析
Nth在端口映射的應用技術概述
通過Nth的原理可以實現一些特定的應用,比如應用于FTP服務的端口映射,當我們有大量信息需要向互聯網共享時,可能我們一臺FTP服務器無法承擔所有的數據流量,我們可以通過建立多臺服務器來分擔流量,在不必修改FTP端口的情況下,通過Nth均衡分流數據到3臺ftp服務器上,如下圖內網的3個FTP服務器:
我們通過建立3條nat規則,區別3個不同的服務器連接,在nat中沒有同時做Passthrough的選項,而且在nat規則中采用的是先進先出算法,所以我們只能采用先標記1/3,在標記1/2,***標記剩下的數據的方法處理3條線路的均衡操作。
網絡環境
Wan:ip 地址為 10.200.15.158/24 網關為 10.200.15.1
Lan:ip 地址為 192.168.10.1/24
內網的3個FTP服務器的IP地址分別是192.168.10.2,192.168.10.3,192.168.10.4。在配置完IP地址后,我們進入ip firewall nat配置nat規則, 首先我們需要配置基本的nat偽裝規則,將內網的私有IP地址轉換為公網IP。
/ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=wan
接著端口映射,FTP使用的是TCP,20-21端口,我們配置3條nat的Nth端口映射的規則,分別指向192.168.10.2、192.168.10.3和192.168.10.4㈢個服務器的IP地址:
通過命令行配置
標記前 1/3 的端口映射:add action=dst-nat chain=dstnat dst-address=10.200.15.158 dst-port=20-21 in-interface=wan nth=3,1 protocol=tcp to-addresses=192.168.10.2 to-ports=20-21
標記剩下1/2 的端口映射:add action=dst-nat chain=dstnat dst-address=10.200.15.158 dst-port=20-21 in-interface=wan nth=2,1 protocol=tcp to-addresses=192.168.10.3 to-ports=20-21
標記***1/3 的端口映射:add action=dst-nat chain=dstnat dst-address=10.200.15.158 dst-port=20-21 in-interface=wan protocol=tcp to-addresses=192.168.10.4 to-ports=20-21
通過Nth分流的端口映射配置完成,這樣的Nth操作僅適合于一次性提交和訪問的數據連接。如果是帶登陸驗證的訪問,不建議使用這種方式,會出現連接后在不同服務器上的反復認證。