服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

dirtysea 发表于 2010-8-23 10:57:00

Linux端口转发,并实现"双向通路"

<P><FONT size=4>假设有两台服务器,A和B。我需要把访问A服务器的8081端口的数据转发到B服务器的8081端口,并接收B服务器的响应数据。 </FONT></P>
<P><FONT size=4>命令如下:<BR><FONT color=red>#echo 1 &gt; /proc/sys/net/ipv4/ip_forward<BR>#iptables -t nat -I PREROUTING -p tcp --dport 8081 -j DNAT --to xx.xx.xx.xx<BR>#iptables -t nat -I POSTROUTING -p tcp --dport 8081 -j MASQUERADE</FONT></FONT></P>
<P><FONT color=red size=4>#service iptables save</FONT></P>
<P><FONT color=red size=4>#service iptables restart</FONT></P>
<P><FONT size=4>===========================================================<BR>第一条命令表示允许数据包转发;</FONT></P>
<P><FONT size=4>第二条命令表示转发TCP 8081到xx.xx.xx.xx;</FONT></P>
<P><FONT size=4>第三条命令表示使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道。</FONT></P>
<P><FONT size=4>第四条命令表示将规则保存到/etc/sysconfig/iptables文件</FONT></P>
<P><FONT size=4>第五条命令表示重启iptables使刚才添加的规则生效</FONT></P>
<P><BR><FONT size=4>很多人按照网上的方法作端口映射,始终没有成功的原因是没有执行第四、第五条命令。</FONT></P>
<P><BR><FONT size=4>注:如果执行上述命令,依然不能转发,可能由于iptables服务没有停止,命令无法写入iptables文件,应先执行service iptables stop,再执行上述命令,最后service iptables start再启动服务</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><BR><FONT size=4>以上为网络上摘抄,以下自写。</FONT></P>
<P><FONT size=4></FONT>&nbsp;</P>
<P><FONT size=4>公司内部有一台服务器webA,还有两台linux个人电脑BC</FONT></P>
<P><FONT size=4>A:192.168.50.10</FONT></P>
<P><FONT size=4>B:192.168.50.20</FONT></P>
<P><FONT size=4>C:192.168.50.30</FONT></P>
<P><FONT size=4>由于C员工和A管理员有个人关系上的冲突囧,A直接在web上禁止C的访问。这时候让B为他解决麻烦。通过一下命令即可。这样C只要访问192.168.50.20就和访问192.168.50.10一样。</FONT></P>
<P><FONT size=4>#echo 1 &gt; /proc/sys/net/ipv4/ip_forward<BR>#iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.50.10<BR>#iptables -t nat -I POSTROUTING -p tcp --dport 80 -j MASQUERADE<BR>#service iptables save<BR>#service iptables restart</FONT></P>
<P><FONT size=4>这样C直接访问:</FONT><A href="http://192.168.50.20/"><FONT size=4>http://192.168.50.20/</FONT></A><FONT size=4>内容和直接访问A是一模一样的。<BR></FONT></P>
页: [1]
查看完整版本: Linux端口转发,并实现"双向通路"