firewalld防火墙
实验材料及环境如下
看不懂的注意看我下面的图片
一台centos7是内网web服务器 ip :192.168.100.103 : vm1
一台win7是内网测试机 ip: 192.168.1.10 : vm2
再开一台centos7是网关服务器三块网卡,应该到虚拟机里依次为 ens33 ens37 ens38
依次上到下,从原来到第三块分别是 vm1 vm2 vm3
对应ip为如下
(IP 192.168.100.102) : ( IP 192.168.1.1) : (IP 100.1.1.10 )
一台winXP是外网测试机 IP :100.1.1.20 : vm3
一台centos7是外网web服务器 IP :100.1.1.30 : vm3
如下
各个主机网关这里我说一下,
win7 是 192.168.1.1 ,内网web 是 192.168.100.102 , 中间的是总网关不用配置网关
winxp 是 100.1.1.10 , 外网web主机 是 100.1.1.10
如果你不会配置中间大网关的网卡,可以参考我下面这篇博客的前一部分
https://blog.csdn.net/weixin_45308292/article/details/100524408
注意ip要按照本章来
注意服务器网卡的配置IP和指向网关后完后一定要重启网卡,然后内网web主机和外网web主机一定要指网关
systemctl restart network :重启网卡
route -n :查看指网关操作配置是否生效
一定要重启网卡
基本配置
1.在网关服务器上开启路由转发
[root@CentOS7-02 ~]# vim /etc/sysctl.conf (添加如下)net.ipv4.ip_forward = 1
[root@CentOS7-02 ~]# sysctl -p
2.测试联通性
首先关闭所有主机上的防火墙,包括win7 ,winxp
各个服务器也是,使用这个命令关闭systemctl stop firewalld
在内网测试机win7中 ping 100.1.1.20(外网测试机xpIP) ,ping 100.1.1.30 (外网web主机IP)
在外网测试机winxp中 ping 192.168.1.10(内网测试机IP) , ping 192.168.100.103 (内网web主机ip)
如果ping不通内外网web主机,就是内外网web主机没有指定网关的问题
3.内外网网站服务器搭建
内外网web主机配置方式都是一样的,挂上光盘,yum安装httpd,注意页面要区分开
进到内网web,外网web 中
[root@centos7-03 ~]# yum -y install httpd
[root@centos7-03 ~]# systemctl start httpd
内网页面 在192.168.100.103
[root@centos7-03 ~]# vim /var/www/html/index.html这是内网
外网页面 在 100.1.1.30
[root@centos7-04 ~]# vim /var/www/html/index.html这是外网
在win7中使用http访问内网外网web主机页面看能否成功,成功即可
4.在内网web服务器上配置Firewalld防火墙
1)修改SSH的监听端口,并安装SSL软件包
[root@centos7-03 ~]# vim /etc/ssh/sshd_config
[root@centos7-03 ~]# systemctl restart sshd
[root@centos7-03 ~]# yum -y install mod_ssl
[root@centos7-03 ~]# systemctl restart httpd (重启httpd服务,支持https)
上面这个包是支持https访问的包,安装即可
2)设置默认区域为dmz区域
[root@centos7-03 ~]# systemctl start firewalld
[root@centos7-03 ~]# firewall-cmd --set-default-zone=dmzsuccess
3)为dmz区域打开https服务及TCP的12345端口
[root@centos7-03 ~]# firewall-cmd --zone=dmz --add-service=https --permanentsuccess
[root@centos7-03 ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanentsuccess
4)禁止ping
[root@centos7-03 ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanentsuccess
5)因为预定义的SSH服务已经更改默认的端口,所以将预定义SSH服务移除
[root@centos7-03 ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanentsuccess
6)重新加载Firewalld配置,并查看之前的配置
[root@centos7-03 ~]# firewall-cmd --reload (必须重新加载,要不然不会生效,重载后会成为永久配置,系统重启也会存在success
查看
[root@centos7-03 ~]# firewall-cmd --list-all --zone=dmz
这里解释一下为什么是dmz区域,因为上面的所有操作,都是对dmz区域做的,命令里都有dmz区域
里面的东西要和我下面一样才行
5.在网关服务器上配置Firewalld防火墙,就是那个有三块网卡的服务器
1)设置默认区域为external区域,并查看配置结果
[root@CentOS7-02 ~]# systemctl start firewalld
[root@CentOS7-02 ~]# firewall-cmd --set-default-zone=external
2)将ens37网卡配置到trusted区域,将ens33配置dmz区域
[root@CentOS7-02 ~]# firewall-cmd --change-interface=ens37 --zone=trustedThe interface is under control of NetworkManager, setting zone to 'trusted'. success
[root@CentOS7-02 ~]# firewall-cmd --change-interface=ens33 --zone=dmzThe interface is under control of NetworkManager, setting zone to 'dmz'. success
3)查看配置结果
[root@CentOS7-02 ~]# firewall-cmd --get-active-zones (必须要和我下面一样)dmz
interfaces: ens33
external
interfaces: ens38
trusted
interfaces: ens37
4)在企业内网win7测试机使用https访问内部网站服务器
不要使用刚刚的http测试页面刷新,会有缓存
重新打开一个浏览器页面,https访问,证书那里,选择继续浏览此网站
发现http已经不行了,因为那里没有放行http流量,https可以
5)更改SSH的侦听端口,并重启服务
[root@CentOS7-02 ~]# vim /etc/ssh/sshd_config (和刚刚上面的内网web主机方法一样Port 12345
[root@CentOS7-02 ~]# systemctl restart sshd
6)配置external区域添加TCP的12345端口
因为刚刚的web服务器的sshd端口,改成了12345,外部主机就是(XP)如果想要连接 内部web服务器,必须允许这个端口
[root@CentOS7-02 ~]# firewall-cmd --zone=external --add-port=12345/tcp --permanentsuccess
7)配置external区域禁止ping
[root@CentOS7-02 ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanentsuccess
8)重新加载防火墙配置
[root@CentOS7-02 ~]# firewall-cmd --reloadsuccess
9)在外网测试机上通过SSH登陆网关外部接口的12345端口相当于远程操纵 中间那个有三块网卡的网关服务器
需要借助软件SecureCRT
链接:https://pan.baidu.com/s/12pUU2NuSBv6udK3_PSQX_w
提取码:yykx
拖入外网xp主机中
然后连接就可以了
10)在内网测试机win7上SSH登陆内网的服务器192.168.100.103(内网web)的12345端口
和上面一样也是用那个软件,只是ip不一样是192.168.100.103,然后连接12345端口,这里就不演示了
配置ip伪装与端口转发
1.内网用户通过网关服务器共享上网
1)在内部win7测试机使用http访问外部网站(100.1.1.30)
肯定可以访问
2)在内网web主机,访问外网web主机
[root@centos7-03 ~]# curl http://100.1.1.30这是外网
3)查看网关服务器的external区域是否开启了地址伪装
进入网关服务器
在win7主机刷新一下访问100.1.1.30的网页,内网主机多访问几次
去外网web主机100.1.1.30,查看日志,日志文件后面的是新增记录100.1.1.10是网关服务器的外网口IP,图下前面都IP是源IP
,
越往下是新增的访问ip
5)关闭external的地址伪装,
进入到网关服务器
[root@CentOS7-02 ~]# firewall-cmd --remove-masquerade --zone=externalsuccess
再次使用win7访问外网web主机,并去外网web主机查看日志就是win7真实的ip
6)模拟真实环境,并实现限制访问外网
真实环境中的外网主机,是不可能指向自己公司的外网口,网关地址
去除外网测试机winxp的网关,并保存
去除外网web主机的网卡配置文件中的GATEWAY项(网关),并重启网卡
进入win7重新打开一个浏览器界面,http访问外网web页面发现不可以了
进入内网web主机
[root@centos7-03 ~]# curl http://100.1.1.30curl: (7) Failed connect to 100.1.1.30:80; 没有到主机的路由
进入网关服务器,
添加富规则,允许192.168.1.0网段出去,并做转换
[root@CentOS7-02 ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade’success
发现win7测试机已经可以http方式访问外网web了,
而内网web主机curl还是不可以访问,因为没有允许192.168.100.0网段
如下这条命令可以重新打开地址伪装,允许内部所有网段,访问外网进入到网关服务器中
[root@CentOS7-02 ~]# firewall-cmd --add-masquerade --zone=externalsuccess
进入到内网web中又可以访问了
[root@centos7-03 ~]# curl http://100.1.1.30wai wang
外网web主机日志应该有,源是win7的真机IP,是那会关了地址伪装的,是外面主机没有删网关的时候访问的,类似内网了
然后就都是网关服务器外网口IP,是开了地址伪装的
2.配置端口转发实现外网用户访问内网的web主机
1)进入网关服务器配置如下
[root@CentOS7-02 ~]# firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.100.103success
(443是https的端口号)
意思是外部区域,只要有人请求443端口就去找内部区域的192.168.100.103的443端口
2)在外网winxp主机上访问内网web主机
https://100.1.1.10/
相当与一个网关服务器做的转换,所以要访问网关服务器外网口ip
如下
3)如果需要一个专门的ip来做转换,可以参考如下
进入网关服务器
[root@CentOS7-02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens38
我这里是添加一个100.1.1.15
[root@CentOS7-02 ~]# systemctl restart network
[root@CentOS7-02 ~]# ip add
已经添加上了
[root@CentOS7-02 ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=100.1.1.15/24 forward-port port=443 protocol=tcp to-addr=192.168.100.103’success
意思是外部区域,有人找100.1.1.15的443端口就转换到内部的192.168.100.103的443端口
访问测试
当然原来的100.1.1.10也可以正常使用https访问
实验完毕
本文链接:https://www.kinber.cn/post/1378.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: