Firewalld实验

实验拓扑图

linux防火墙高级设置_第1张图片

需求分析

(1)公司内网用户需要通过网关服务器共享上网
(2)互联网用户需要访问网站服务器
(3)只允许192.168.1.0/24ping网关和服务器
(4)网站服务器和网关服务器均通过SSH来远程管理,为了安全,将SSH默认端口改为12345,只允许192.168.1.10主机SSH网关和服务器,允许互联网SSH内部服务器

这次实验我们需要四台虚拟机,我们把Centos7 64位作为网关服务器。
Centos7-2作为企业内网测试机,Centos7-3作为网站服务器,Centos7-4作为internet测试机。
linux防火墙高级设置_第2张图片

一、设备准备

首先在虚拟机Centos7-3,和Centos7-4上安装httpd服务
linux防火墙高级设置_第3张图片

1.1、在Centos7 64位创建3块网卡,做静态,网卡1绑定VMnet1,为信任区域,网卡2绑定VMnet2,为DMZ区域,网卡3绑定VMnet3.为外部区域。

linux防火墙高级设置_第4张图片

1.2、设置网卡地址,

网卡33,设为外部网络,IP地址为100.1.1.10 255.255.255.0
网卡36,设为信任网络,IP地址为192.168.10.1 255.255.255.0
网卡37,设为DMZ区域网络,IP地址为192.168.20.1 255.255.255.0

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33

linux防火墙高级设置_第5张图片

[root@localhost network-scripts]#cp -p ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36

linux防火墙高级设置_第6张图片

[root@localhost network-scripts]#cp -p ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# vim ifcfg-ens37

linux防火墙高级设置_第7张图片
重启网络服务:查看IP地址

[root@localhost network-scripts]#service network restart
[root@localhost network-scripts]#ifconfig

linux防火墙高级设置_第8张图片
开启网关服务器的路由转发功能。

[root@localhost ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward=1
[root@localhost ~]# sysctl -p

2、进入Centos7-2,将主机网卡改为自定义,绑定VMent3网卡

linux防火墙高级设置_第9张图片
进入主机,修改IP地址,子网掩码和网关。
将IP地址设为192.168.10.10,网关设为192.168.10.1

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33

linux防火墙高级设置_第10张图片

[root@localhost ]#service network restart    //重启网络服务
[root@localhost ~]# ifconfig     //查看本机地址

linux防火墙高级设置_第11张图片

[root@localhost ~]# ping 192.168.10.1   //测试与网关服务器的连通性

linux防火墙高级设置_第12张图片

2、进入Centos7-3,将主机网卡改为自定义,绑定VMent2网卡

linux防火墙高级设置_第13张图片
配置主机IP地址为192.168.20.20,网关为192.168.20.1

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static           //将dhcp改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=f4d8cf47-c855-4d04-8c68-75ab8644df70
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.20.20       //IP地址
NETMASK=255.255.255.0     //子网掩码
GATEWAY=192.168.20.1             //网关
[root@localhost ~]# service network restart       //重启网络服务
[root@localhost ~]# ifconfig      //查看网卡IP地址

linux防火墙高级设置_第14张图片

[root@localhost ~]# ping 192.168.20.1     //测试与网关的连通性

linux防火墙高级设置_第15张图片

3、将Centos7-3的主机名修改为dmz然后配置防火墙规则

[root@localhost ~]# hostnamectl set-hostname dmz             //修改主机名
[root@localhost ~]# su                   
[root@dmz ~]# systemctl start httpd                 //启动http服务
[root@dmz ~]# cd /var/www/html                          //进入网页区域配置文件
[root@dmz html]# vim index.html     //进入输入网页显示内容                                        
[root@dmz html]# firewall-cmd --set-default-zone=dmz      //将默认区域改为dmz
success
[root@dmz html]# firewall-cmd --add-service=http --zone=dmz --permanent        //将http服务添加到dmz永久设置
success
[root@dmz html]# firewall-cmd --remove-service=ssh --zone=dmz --permanent     //禁止ssh登录
success
[root@dmz html]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent     //禁用icmp协议
success
[root@dmz html]# firewall-cmd --reload            //重新加载防火墙
success

4、进入Centos7-4,将主机网卡改为自定义,绑定VMent1网卡

linux防火墙高级设置_第16张图片
配置主机IP地址为100.1.1.20 ,网关地址为100.1.1.10

[root@extemal ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static               //将dhcp改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=0d5d6fbf-efdf-4b5b-90f9-f08be3fda756
DEVICE=ens33
ONBOOT=yes
IPADDR=100.1.1.20                       //配置IP地址
NETMASK=255.255.255.0                 //配置子网掩码
GATEWAY=100.1.1.10                      //配置网关
[root@localhost ~]# service network restart       //重启网络服务
[root@localhost ~]# ifconfig      //查看网卡IP地址

linux防火墙高级设置_第17张图片

[root@localhost ~]# hostnamectl set-hostname extemal                  //修改主机名
[root@localhost ~]# su
[root@extemal ~]# systemctl stop firewalld.service                    //关闭防火墙
[root@extemal ~]# setenforce 0                                
[root@extemal ~]# systemctl start httpd                                //开启http服务
[root@extemal ~]# vim /var/www/html/index.html                  //配置网页内容

this is extwrnal web

5、在Centos7 64位服务器上配置防火墙

[root@localhost ~]# firewall-cmd --set-default-zone=external                             //将默认区域改 为extemal
success
[root@localhost ~]# firewall-cmd --change-interface=ens36 --zone=trusted --permanent          //将ens36设为信任区域
The interface is under control of NetworkManager, setting zone to 'trusted'.    
success
[root@localhost ~]# firewall-cmd --change-interface=ens37 --zone=dmz --permanent          //将ens37设为dmz区域
The interface is under control of NetworkManager, setting zone to “dmz”'.    
success
[root@localhost ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent     ////禁止ssh登录
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-service=http --permanent   //添加http服务
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-icmp-block=echo-request --permanent     阻塞icmp协议
success
[root@localhost ~]# firewall-cmd --zone=external --add-service=http --permanent            //在外部区域添加http服务
success
[root@localhost ~]# firewall-cmd --reload        //重新加载防火墙
success

6、返回Centos 7-2,测试,使用企业内网测试机查看,网站服务器和internel网站的网页

linux防火墙高级设置_第18张图片
linux防火墙高级设置_第19张图片

7、配置

[root@localhost ~]# firewall-cmd --zone=external --add-forward port=port=80:proto=tcp:toaddr=192.168.20.20 --permanent      //设置端口映射
success
[root@localhost ~]# firewall-cmd --reload 
success

8、在Centos7-4上通过浏览器查看网站服务器网页。

linux防火墙高级设置_第20张图片