说明:这里是Linux服务综合搭建文章的一部分,本文可以作为Linux上使用firewalld做端口转发和地址伪装以及外网访问内网的参考。
注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的。
如果需要查看相关软件版本和主机配置要求,请根据目录自行查看。
Linux服务综合搭建的文章目录
====================================================
5、foundation通过Rsyslog搭建集中日志服务器
8、rhel7 JAVA web环境搭建(使用Tomcat8整合httpd)
10、foundation配置kerberos和NTP服务以及安全的NFS挂载
====================================================
主机角色说明
13 rhel7主机配置端口转发和地址伪装
13.1 一些概念和注意事项
13.1.1 说明
由于我们这里所有主机都在内网,实现的端口转发和地址伪装实际上意义不大,这里主要是为了演示在外网访问内网,
或者不同网段或者公司内部不同部门处在不同网段的情况下,我们实现地址伪装和端口转发来实现伪装实际主机和外网访问内网。
13.1.2 地址伪装和端口转发方式
本地端口转发:在本机做端口转发,目标是本机的其它端口。
目标端口转发:在本机做端口转发,目标是其他主机的端口。
地址伪装:实际上就是NAT,网络地址转换,但是在firewalld中不需要想华为,华三等的路由器一样需要具体配置地址池等内容,
直接开启地址伪装功能即可,要做目标端口转发必须要配置地址伪装,至于路由器上配置NAT的一些实现方式这里大致说一下,
它有很多方式,主要有基于IP地址的NAT,和基于端口的NAT,有兴趣可以去了解一下网络相关和路由交换相关的内容,这里就不赘述,以免偏离主题。
13.1.3 注意事项
注意:要实现通过https访问本主机网站时自动转发到foundation主机的https网站,即内容是foundation的,
浏览器地址栏依旧是本机(rhel7主机)的,不要做全站重写,这里我们可以用防火墙(firewalld)的富规则实现端口转发即可,
但是要注意的是我们要配置的是目标端口转发而不是本地端口转发,另外,我们也可以使用防火墙(firewalld)本身的端
口转发配置语法来配置(语法和参数较多),但是要在更大程度上做精准控制转发规则还是使用富规则的好,
同时富规则我们也比较常用,语法相对简单,这里推荐使用富规则。
下面将介绍两种方式。
13.2 配置地址伪装和端口转发
13.2.1 配置地址伪装
首先必须配置地址伪装(NAT)才能实现端口目标端口转发,在Redhat Enterprise Linux中的firewalld中只需要开启地址伪装即可,
不用像华为、华三等路由器配置NAT一样要做具体的配置。
1 firewall-cmd --add-masquerade
13.2.2 配置端口转发
方式一:使用富规则
1 [root@rhel7 ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 forward-port port=443 to-port=443 protocol=tcp to-addr=172.25.0.55'
方式二:使用端口转发的语法
1 [root@rhel7 ~]# firewall-cmd --permanent --add-forward-port=port=443:proto=tcp:toport=443:toaddr=172.25.0.55
13.3 测试
给Firefox导入证书,然后地址栏数据https://rhel7.mei.com测试网站能够正常访问。
测试我们的https网站的php网页能够正常访问,且地址栏的地址一致是rhel7.mei.com:
最后希望大家提意见、转发、评论和交流!!!
来源:oschina
链接:https://my.oschina.net/u/4414584/blog/3470318