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操作仅适合于一次性提交和访问的数据连接。如果是带登陆验证的访问,不建议使用这种方式,会出现连接后在不同服务器上的反复认证。