Linux 服务器--Iptables 端口转发

平常Iptables 端口转发linux

 

  1. 需求:公司是局域网络,经过一个外网ip,进行互联网的访问。公司的云平台服务器在公网中,虚拟化平台中有一台内部服务器,用于公司某部门的使用,上面运行www 服务,ssh端口,方便平时上传网站文件。现领导要求将此内部服务器交接给此部门,并只让其在公司内部访问,外面的公网是拒绝访问的。

 

结构图:vim

 

2.解决方法:经过linux 服务器的iptables,利用端口转发,在公司内部经过A机器(或者说A表明某个部门),使其访问到B机器上的特定链接转发至内部机器C上。因为机房服务器只开放了特定端口,因此,利用B机器的9090端口和80端口分别转发到内部机器C上的22端口和80端口。服务器

修改防火墙以前,须要先修改系统内核,开启ipv4转发功能:vim /etc/sysconfig,修改如下值 ipv4_net_forward = 1 ,以后运行 sysctl -p 命令生效。网络

先备份一下防火墙的配置文件,以后编辑防火墙:vim /etc/sysconfig/iptables,追加如下规则(作转发的四条规则必须写在nat表中):ssh

*nat

:PREROUTING ACCEPT [888442:52703267]

:POSTROUTING ACCEPT [712676:42810839]

:OUTPUT ACCEPT [712676:42810839]
-A PREROUTING  -s 223.1.1.2 -d 101.1.1.3 -p tcp -m tcp --dport 9090 -j DNAT --to-destination 10.8.88.88:22

-A POSTROUTING -d 10.8.88.88 -p tcp -m tcp --dport 22 -j SNAT --to-source 10.8.88.77

-A PREROUTING  -s 223.1.1.2 -d 101.1.1.3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.8.88.88:80

-A POSTROUTING -d 10.8.88.88 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.8.88.77

注:PREROUTING 来自223.1.1.2 且目标是 101.1.1.3:9090端口的连接转发到 10.8.88.88:22端口上tcp

注:POSTROUTING 回路的包,全部从内部机器C的22端口返回的包转发到B机器上的eth1网卡上测试

同上:网站

*filter

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -s 223.1.1.2 -p tcp -m tcp --dport 9090 -j ACCEPT

-A INPUT -s 223.1.1.2 -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

 

3.修改完成后,保存配置。重启iptables服务,如今能够测试一下。spa

相关文章
相关标签/搜索