首页 > 系统相关 >iptables端口转发

iptables端口转发

时间:2023-01-16 13:12:31浏览次数:50  
标签:iptables 27896 端口 0.121 192.168 地址 0.163 转发

用一个例子说明:

服务器:192.168.0.121:27896
中转机:192.168.0.163:27896

192.168.0.121的端口27896上开启了一个服务器,我希望访问中转机192.168.0.163的27896也可以访问到192.168.0.121:27896
需要在163这台机器上配置两条iptables规则:

iptables -t nat -A PREROUTING -p tcp -d 192.168.0.163 --dport 27896 -j DNAT --to-destination 192.168.0.121:27896

iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.121 --dport 27896 -j SNAT --to-source 192.168.0.163

第一条规则是,对于目的地址是192.168.0.163并且目的端口是27896的数据包,将其目的地址改为192.168.0.121:27896,然后再路由转发出去。
第二条规则是,对于目的地址是192.168.0.121并且目标端口是27896的数据包,将其源地址改为192.168.0.163

这两条规则的原理是:

对于到达192.168.0.163:27896的数据包,在被路由转发之前,更改目的地址,让它从网卡转发出去,而不是留在本地。此时,它的目的地址已经改了,但是源地址还是远程地址。
这个数据包随后到达POSTROUTING链,将其源地址改成192.168.0.163,发送给192.168.0.121。不然,原来是个远程地址,会导致服务器回应的包被发送到远程地址,而不是中转机。

标签:iptables,27896,端口,0.121,192.168,地址,0.163,转发
From: https://www.cnblogs.com/wangbingbing/p/17055174.html

相关文章