最近遇到个需求,就是内部服务器需要通过公网地址来访问其他的内部服务器。一开始采用的是在路由器内网接口做NAT的方式来解决的,后来多ISP接入后,一些映射的服务器就需要采用源进源出来达到出入一致。但是NE路由器本身不支持源进源出,通过MQC重定向的方式来实现的,但是最终需要在出口的NAT实例中再次做重定向,这样就会导致其他服务器无法通过公网地址访问内部服务器了,导致了内网接口上的NAT失效。
由于内部服务器都是Linux系统,所以采用iptables的NAT表来实现该功能,命令如下:
iptables -t nat -A OUTPUT -d 公网地址 -p tcp --dport 8080 -j DNAT --to-destination 私网地址:8080