iptables 端口转发

将本地接口IP 61.144.14.72 的3389端口 转发到 116.6.73.229的3389
(主要访问到61.144.14.72的3389端口,就会跳转到116.6.73.229的3389)

echo 1 > /proc/sys/net/ipv4/ip_forward  
#首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0    这样允许iptalbes FORWARD。
service iptables stop 

#TCP
iptables -t nat -A PREROUTING --dst 61.144.14.72 -p tcp --dport 3389 -j DNAT --to-destination 116.6.73.229:3389
iptables -t nat -A POSTROUTING --dst 116.6.73.229 -p tcp --dport 3389 -j SNAT --to-source 61.144.14.72

#UDP
iptables -t nat -A PREROUTING --dst 61.144.14.72 -p udp --dport 3389 -j DNAT --to-destination 116.6.73.229:3389
iptables -t nat -A POSTROUTING --dst 116.6.73.229 -p udp --dport 3389 -j SNAT --to-source 61.144.14.72

service iptables save 

service iptables start
一 从一台机到另一台机端口转发  
启用网卡转发功能  
#echo 1 > /proc/sys/net/ipv4/ip_forward  
举例:从192.168.0.132:21521(新端口)访问192.168.0.211:1521端口  
a.同一端口转发(192.168.0.132上开通1521端口访问 iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT)  
iptables -t nat -I PREROUTING -p tcp --dport 1521 -j DNAT --to 192.168.0.211  
iptables -t nat -I POSTROUTING -p tcp --dport 1521 -j MASQUERADE  
b.不同端口转发(192.168.0.132上开通21521端口访问 iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21521 -j ACCEPT)  
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 21521 -j DNAT --to-destination 192.168.0.211:1521  
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.211 -p tcp -m tcp --dport 1521 -j SNAT --to-source 192.168.0.132  
  
以上两条等价配置(更简单[指定网卡]):  
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 31521 -j DNAT --to 192.168.0.211:1521  
iptables -t nat -A POSTROUTING -j MASQUERADE  
保存iptables  
#service iptables save  
#service iptables restart  
二 用iptables做本机端口转发  
代码如下:  
  iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080  
估计适当增加其它的参数也可以做不同IP的端口转发。  
如果需要本机也可以访问,则需要配置OUTPUT链(********特别注意:本机访问外网的端口会转发到本地,导致访不到外网,如访问yown.com,实际上是访问到本地,建议不做80端口的转发或者指定目的 -d localhost):  
  iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080  
原因:  
外网访问需要经过PREROUTING链,但是localhost不经过该链,因此需要用OUTPUT。  

参考资料http://blog.csdn.net/sigangjun/article/details/17412821

转载于:https://www.cnblogs.com/jkcx/p/7649817.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值