场景
假如你在用resin调试一个Web程序,需要频繁地重启resin。这个Web程序需要开在80端口上,而Linux限制1024以下的端口必须有root权限才能开启。但是你又不愿意在调程序的时候总是开着一个root终端。在这种情况下,你可以把resin开在默认的8080端口上,然后使用iptables来实现和真的把服务开在80端口上一样的效果。
方法
将与80端口的TCP连接转接到本地的8080端口上。使用DNAT(DestinationNetworkAddressTranslation)技术可以满足这一要求。因为iptables在处理本地连接和远程连接的方法不同,所以需要分开处理。下面假设本机的IP是192.168.4.177。
远程连接
远程连接指的是由另外一台机器连接到这台机器上。这种连接的数据包在iptables会首先经过PREROUTING链,所以只需在PREROUTING链中作DNAT。
复制代码