×

firewalld防火墙 实验

hqy hqy 发表于2020-06-08 13:40:33 浏览2641 评论0

抢沙发发表评论

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=dmz
success

3)为dmz区域打开https服务及TCP的12345端口
[root@centos7-03 ~]# firewall-cmd --zone=dmz --add-service=https --permanent
success
[root@centos7-03 ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
success

4)禁止ping
[root@centos7-03 ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent
success

5)因为预定义的SSH服务已经更改默认的端口,所以将预定义SSH服务移除
[root@centos7-03 ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent
success

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=trusted
The interface is under control of NetworkManager, setting zone to 'trusted'. success
[root@CentOS7-02 ~]# firewall-cmd --change-interface=ens33 --zone=dmz
The 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 --permanent
success

7)配置external区域禁止ping
[root@CentOS7-02 ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent
success

8)重新加载防火墙配置
[root@CentOS7-02 ~]# firewall-cmd --reload
success

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=external
success
再次使用win7访问外网web主机,并去外网web主机查看日志就是win7真实的ip

6)模拟真实环境,并实现限制访问外网

真实环境中的外网主机,是不可能指向自己公司的外网口,网关地址
去除外网测试机winxp的网关,并保存
去除外网web主机的网卡配置文件中的GATEWAY项(网关),并重启网卡

进入win7重新打开一个浏览器界面,http访问外网web页面发现不可以了

进入内网web主机
[root@centos7-03 ~]# curl http://100.1.1.30
curl: (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=external
success

进入到内网web中又可以访问了
[root@centos7-03 ~]# curl http://100.1.1.30
wai 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.103
success  (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 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客