rinald_未来往事

2台机器之间的端口转发iptables

Linux
2台机器之间的端口转发iptables方式实现,场景:

两台机器,A机器能正常访问,B机器不能直接被访问,所以希望用A机器进行端口转发间接访问B机器,大致思路:
路由器 —— 指定端口nat到 ———- A机器————-iptables nat 到 ——————B机器的端口

iptables -t nat -A PREROUTING -i em3 -p tcp —dport 5080 -j DNAT —to 192.168.0.230:80
(后面这个ip是B机器的ip加端口,前面的em3是A机器的数据经过的网卡 5080是访问A机器的5080端口就转发到后面机器来)

iptables -t nat -A POSTROUTING -j MASQUERADE
(MASQUERADE地址伪装封包出去,在iptables中有着和SNAT相近的效果)

iptables -t nat -L -n 查看规则

知识扩展:

iptables中可以灵活的做各种网络地址转换(NAT),地址转换主要有两种:SNAT和DNAT。
SNAT:源地址目标转换(source network address translation)
目标地址不变,重新改写源地址,并在本机建立NAT表项,当数据返回时,根据NAT表将目的地址数据改写为数据发送出去时候的源地址,并发送给主机。目前大多都是解决内网用户用同一个公网地址上网的情况。

DNAT:目标网络地址转换(destination network address translation)
和SNAT相反,源地址不变,重新修改目标地址,在本机建立NAT表项,当数据返回时,根据NAT表将源地址修改为数据发送过来时的目标地址,并发给远程主机。
在DNAT的基础上,可以根据请求数据包的端口做PNAT(端口转换,也称为端口映射),可以更句请求数据包不同的端口改写不同的目标地址,从而发送给不同的主机。

本文出自 “PHP/Linux@HeFei” 博客,请务必保留此出处http://liang3391.blog.51cto.com/178205/1946533

原文作者:rinald
原文地址:http://fity.cn/post/642.html
互联网技术更新较快,本站很多文章具有实效性,我会及时更新原文,但转载的文章无法通知更新。为了不给读者造成困惑或误导,请您在转载时保留此出处信息,尊重别人也是尊重自己。

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。