Firewalld防火墙实例配置

Firewalld防火墙配置实战
本文详细介绍了在Firewalld防火墙上进行配置的步骤,包括网站服务器和网关服务器的防火墙设置,如更改SSH端口、开启HTTPS、拒绝ping、配置路由转发和端口转发,以及内外网互访策略。同时,针对实验中遇到的问题,如内网无法访问网站服务器和SSH登录失败,提供了排查和解决方案。
部署运行你感兴趣的模型镜像

环境拓扑

在这里插入图片描述

需求描述

1、 网关服务器连接互联网网卡ens33地址为100.1.1.10,为公网IP地址,分配到firewall的external区域;连接内网网卡ens36地址为192.168.1.2,分配到firewall的trusted区域;连接服务器网卡ens37地址为192.168.2.2,分配到firewall的dmz区域

2、 网站服务器和网关服务器均通过SSH来远程管理,为了安全,将SSH默认端口改为12345

3、 网站服务器开启 HTTPS,过滤未加密的HTTP流量

4、 网站务器拒绝ping,网关服务器拒绝来自互联网上的ping

5、 公司内网用户需要通过网关服务器共享上网

6、 互联网用户需要访问网站服务器

虚拟机试验环境搭建:

1、 打开虚拟机网络编辑器

在这里插入图片描述
2、 添加对应的网段

在这里插入图片描述

一、环境配置

1、网关服务器开启路由转发功能

[root@gateway ~]# vim /etc/sysctl.conf		//永久生效
net.ipv4.ip_forward = 1
[root@gateway ~]# sysctl -p //生效

2、网站服务器

1) 检查路由

[root@web ~]# route -n

在这里插入图片描述
2)检查防火墙必须开启

[root@web ~]#  systemctl status firewalld.service 

在这里插入图片描述
3) 搭建yum

#挂载光盘

[root@web ~]#  vim /etc/fstab
/dev/cdrom	/mnt	iso9660	defaults	0 0
[root@web ~]# mount -a

#搭建yum仓库

[root@web ~]#   cd /etc/yum.repos.d/
[root@web yum.repos.d]# mkdir back
[root@web yum.repos.d]# mv C* back/
[root@web yum.repos.d]# vim local.repo
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1

[root@web yum.repos.d]# yum clean all
[root@web yum.repos.d]# yum makecache 

4)安装HTTP 安装https模块

[root@web yum.repos.d]# yum -y install httpd mod_ssl 
[root@web yum.repos.d]# systemctl start httpd		//开启服务
[root@web yum.repos.d]# systemctl enable httpd

#编辑站点内容

[root@web yum.repos.d]# vim /var/www/html/index.html
<h1>hello-kgc<h1>

#测试正常
在这里插入图片描述
5)更改ssh端口

[root@web yum.repos.d]# setenforce 0	//关闭核心防护
[root@web yum.repos.d]# vim /etc/sysconfig/selinux
SELINUX=disabled

[root@web yum.repos.d]# vim /etc/ssh/sshd_config	//更改端口号
Port 12345

二、防火墙配置

1、在网站服务器上配置防火墙

1) 设置默认区域为DMZ

[root@web ~]#  firewall-cmd --set-default-zone=dmz

2)为DMZ区域打开https服务添加TCP为12345端口

[root@web ~]# firewall-cmd --zone=dmz --add-service=https --permanent 
[root@web ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent 

3)配置dmz区域移除ssh服务

[root@web ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent

4)禁止ping

[root@web ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent

5)重新加载防火墙

[root@web ~]# firewall-cmd --reload

2、网关服务器配置防火墙

1) 检查下防火墙

[root@gateway ~]# systemctl status firewalld.service 

在这里插入图片描述

2)设置默认区域external区域

[root@gateway ~]# firewall-cmd --set-default-zone=external 
[root@gateway ~]#  firewall-cmd --list-all
external (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33 ens36 ens37
  sources: 
  services: ssh
  ports: 
  protocols: 
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks:
  rich rules:

3)设置ens36网卡为trusted区域;ens37网卡设置为DMZ区域

[root@gateway ~]#  firewall-cmd --change-interface=ens36 --zone=trusted 
[root@gateway ~]# firewall-cmd --change-interface=ens37 --zone=dmz

4)查看配置详情

[root@gateway ~]#  firewall-cmd --get-active-zones 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1aZyehwz-1586700423271)(1586500732485.png)]

5)在企业内网测试访问网站服务器

打开浏览器输入https://192.168.2.10
在这里插入图片描述
6)更改ssh端口号

[root@gateway ~]# setenforce 0			//关闭核心防护
[root@gateway ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
[root@gateway ~]# vim /etc/ssh/sshd_config		//更改端口号
Port 12345

7)配置external区域添加TCP12345端口

[root@gateway ~]#  firewall-cmd --zone=external --add-port=12345/tcp --permanent

8)配置external区域移除ssh服务

[root@gateway ~]# firewall-cmd --zone=external --remove-service=ssh --permanent

9)配置external禁止ping

[root@gateway ~]# firewall-cmd --zone=external --add-icmp-block=echo-request  --permanent

10)重新加载防火墙

[root@gateway ~]#  firewall-cmd --reload

11)测试

在Internet外网web服务器上ssh登录网关服务器的外部接口ens33地址的12345端口

[root@internet ~]# ssh -p 12345 100.1.1.10

在这里插入图片描述

12)在企业内部测试机上ssh登录网站服务器的12345端口

[root@nb ~]# ssh -p 12345 192.168.2.10

在这里插入图片描述

3、企业内网访问外网web服务器

企业内网用户通过网关服务器能访问Internet外网web服务器

1) 在外网服务器上搭建HTTP服务

#挂载光盘

[root@internet ~]# vim /etc/fstab
[root@internet ~]# iso9660	defaults	0 0
[root@internet ~]# mount -a

#搭建yum仓库

[root@internet ~]# cd /etc/yum.repos.d/
[root@internet yum.repos.d]# mkdir back
[root@internet yum.repos.d]# mv C* back/
[root@internet yum.repos.d]# vim local.repo
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1

[root@internet yum.repos.d]# yum clean all
[root@internet yum.repos.d]# yum makecache 

#安装HTTP服务并启动

[root@internet yum.repos.d]# yum -y install httpd 
[root@internet yum.repos.d]# systemctl start httpd
[root@internet yum.repos.d]# systemctl enable httpd

2)访问测试

① web外网服务器访问测试http服务
在这里插入图片描述

② 企业内部网站服务器访问外部web网站
在这里插入图片描述
③ 企业内部访问测试
在这里插入图片描述

3)在网关服务器上查看是否开启伪装

[root@gatway ~]# firewall-cmd --list-all --zone=external 

在这里插入图片描述

#网关服务器如何关闭伪装
在这里插入图片描述
重载防火墙则会重新启动伪装,external默认开启伪装

4)在命令行启动伪装 192.168.1.0/24

[root@gatway ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade'
[root@gatway ~]# firewall-cmd --reload

5)在企业内部网站上访问internet网站服务器100.1.1.20
在这里插入图片描述
不能访问。说明已经伪装生效

4、外网web服务器访问企业内部网站服务器

1)在网关服务器上配置端口转发,实现外网web服务器能访问企业内部网站服务器

[root@gatway ~]# firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.2.10 --permanent 
[root@gatway ~]# firewall-cmd --reload 

2)在internet外部服务器上访问测试,可以访问到内部网站服务器
在这里插入图片描述

三、总结

凡是涉及到修改配置或者修改规则,一定要重启或重载服务

此次实验遇到问题:

一、企业内网无法访问网站服务器

解决方法:

1、检查各个IP地址是否冲突

2、检查网关是否正常(企业内网网关与内网站网均分别指向网关服务器对应的接口)

3、检查网关服务器的路由转发功能是否生效

二、ssh登录测试失败

1、检查端口是否正确

2、检查sshd服务是否有启动 netstat -natp | grep 12345

问题总结

A服务器连接B服务器,连接某个功能模块连接不上?

解决方案

  • 检查B服务器的,功能模块服务有没有启动

    检查环境–根据业务环境来

    检查配置文件–肉眼不一定看出来、建议使用比对工具比对配置文件

    重启服务服务–服务不要忘了重启,不重要的服务就重启,重要的的服务,重载下

    本地验证服务–ssh -p 端口号ip地址(环回口、接口的IP)

  • 检查B服务器的防火墙

    检查接口配置信息–看功能服务是否正常(多了就删除,少了就添加)

  • 检查A服务器的防火墙

    检查接口配置信息–看功能服务是否正常(防火墙关闭)

windows检测端口是否启动:telnet IP地址 端口

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值