Firewalld防火墙高级配置——(实战篇!!)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firewalld防火墙高级配置——(实战篇!!)相关的知识,希望对你有一定的参考价值。
实验拓扑图实验需求
1.公司内网用户需要通过网关服务器共享上网
2.互联网用户需要访问网站服务器
3.只允许192.168.10 .0/24ping网关和服务器
4.网站服务器和网关服务器均通过SSH来远程管理,为了安全,将SSH默认端口改为12345,只允许192.168.10.10主机SSH网关和服务器,允许互联网SSH内部服务器
实验环境
1.网关服务器:Centos7 -1
2.企业内网测试机:Centos7 -2
3.网站服务器:Centos7 -3
4.Internet测试机:Centos7 -4
1,配置网关服务器的网卡及地址
1)在网关服务器创建3块网卡,做静态,网卡1绑定VMnet1,为信任区域,网卡2绑定VMnet2,为DMZ区域,网卡3绑定VMnet3.为外部区域。
2)配置各个网卡的网关地址
ens33网卡
[root@localhost ~ ]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=88cf4975-29b8-4041-9cb0-456a56d1fddb
DEVICE=ens33
ONBOOT=yes
IPADDR=100.1.1.10 ##设置网关地址
NETMASK=255.255.255.0 ##设置子网掩码
ens36 网卡
[root@localhost ~ ]# vim /etc/sysconfig/network-scripts/ifcfg-ens36
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=ens36 ##此处要修改网卡为36,UUID要删除
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.10.1 ##网关地址和子网掩码
NETMASK=255.255.255.0
ens37网卡
[root@localhost ~ ]# vim /etc/sysconfig/network-scripts/ifcfg-ens37
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=ens37 ##此处需要修改为37,UUID要删除
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.20.1 ##设置网关地址,子网掩码
NETMASK=255.255.255.0
3)开启路由转发功能
[root@localhost ~]# vim /etc/sysctl.conf
...... //省略注释内容
net.ipv4.ip_forward = 1 //添加此条目
[root@192 network-scripts]# sysctl -p //载入sysctl配置文件
net.ipv4.ip_forward = 1
2,配置internal信任区域中内网测试机的地址和网关
1)绑定网卡为vmnet3(仅主机模式)
2)配置ip地址及网关
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ]#service network restart //重启网络服务
3,配置DMZ区域网站服务器的地址和网关,并开启网站服务
1)在nat模式下安装http服务
[root@localhost ~]# yum install httpd -y
2)绑定网卡vmnet3(仅主机模式)
3)配置ip地址及网关
[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 //重启网络服务
4)开启网站服务并编辑网页内容
[root@localhost ~]# vim /var/www/html/index.html
[root@localhost ~]# cat /var/www/html/index.html
<h1>this is dmz web</h1>
[root@dmz html]# systemctl start httpd
4,在DMZ区域网站服务器上配置防火墙策略
[root@localhost ~]# firewall-cmd --set-default-zone=dmz
success
[root@localhost ~]# firewall-cmd --add-service=http --zone=dmz --permanent
//将防火墙的默认区域改为dmz区域
success
[root@localhost ~]# firewall-cmd --remove-service=ssh --zone=dmz --permanent
//添加http服务到dmz区域永久设置中
success
[root@localhost ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent
//禁止使用ssh进行登录
success
[root@localhost ~]# firewall-cmd --reload
//重载防火墙
success
5,external外部区域的Internet测试机的网卡个地址,并启动网站服务
1)在nat模式下安装http服务
[root@localhost ~]# yum install httpd -y
2)绑定网卡为vmnet1(仅主机模式)
3)配置ip地址和网关
[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=100.1.1.20 //IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=100.1.1.10 //网关
[root@localhost ~]# service network restart //重启网络服务
4)开启网站服务,并关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service //关闭防火墙
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start httpd //开启http服务
[root@localhost ~]# vim /var/www/html/index.html //配置网页内容
<h1>this is external web</h1>
6,在网关服务器上配置防火墙的策略
[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
//dmz区域内禁止使用ssh登录
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-service=http --permanent
//dmz区域内添加http服务
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-icmp-block=echo-request --permanent
//dmz区域内阻塞icmp协议
success
[root@localhost ~]# firewall-cmd --zone=external --add-service=http --permanent
//在外部区域添加http服务
success
[root@localhost ~]# firewall-cmd --reload
//重载防火墙
success
7,使用企业内网测试机验证网站服务器和Internet测试机提供的网站
8,在网关服务器上配置端口转换
[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
9,使用Internet测试机访问DMZ网站服务器,可以看到源地址被转换
谢谢阅读!!!
以上是关于Firewalld防火墙高级配置——(实战篇!!)的主要内容,如果未能解决你的问题,请参考以下文章
centos 7之firewalld防火墙配置IP伪装和端口转发案例详解
CentOS8提高篇18:防火墙高级使用 命令备忘 批量开放端口