iptable实现端口转发

Posted xiaopaipai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptable实现端口转发相关的知识,希望对你有一定的参考价值。

利用iptables的规则来实现端口转发:

第一步需要将内核参数的net.ipv4.ip_forward=1 

场景一:实现本地端口转发

本地端口转发实在PREROUTING链中将端口做NAT转换:

# iptable -t nat -A  PREROUTING -p tcp --dport   "$原端口"  -j REDIRECT --to-port  "$目标端口"

场景二、实现端口远程端口转发

远程端口转发原理,是在本地PREROUTING链中将端口进行NAT转换,然后通过FORWARD链转至POSTROUTING链中,然后在POSTROUTING中将原client地址进行SNAT的转换

1、 DNAT转换  iptable -t nat -A PREROUTING -p tcp -m tcp --dport   "$原端口" -j DNAT --to-destination xxx:xxx:xxx:xxx:$目标端口          note:xxx:xxx:xxx:xxx为客户端访问的具体IP地址,即中间机器的提供接口访问的IP地址

2、FORWARD放行: iptable -t filter -A FORWARD -j ACCEPT      ### 此处可设置其他的过滤条件

3、SNAT转换: iptable -t nat -A POSTROUTING -p tcp -m tcp --dport $目标端口 -j SNAT --to-source "xxx:xxx:xxx:xxx"

以上是关于iptable实现端口转发的主要内容,如果未能解决你的问题,请参考以下文章

iptables端口复用和端口转发

2个机器之间的端口转发 iptables实现

配置iptables实现本地端口转发的方法详解

通过iptables实现共享上网及端口代理转发

Linux下使用Rinetd来实现端口转发

利用iptables做端口转发