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地址 端口

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

Langchain-Chatchat

Langchain-Chatchat

AI应用
Langchain

Langchain-Chatchat 是一个基于 ChatGLM 等大语言模型和 Langchain 应用框架实现的开源项目,旨在构建一个可以离线部署的本地知识库问答系统。它通过检索增强生成 (RAG) 的方法,让用户能够以自然语言与本地文件、数据库或搜索引擎进行交互,并支持多种大模型和向量数据库的集成,以及提供 WebUI 和 API 服务

### 华为ENSP防火墙配置示例 #### 配置基础网络连接 为了展示如何在eNSP环境中设置华为防火墙,先建立基本的网络拓扑结构。假设存在两个路由器R1和R2以及一台PC机(PC1),其中R1与R2通过各自的GigabitEthernet接口相连,并且各自拥有不同的局域网段。 对于R1而言,在其`g0/0/0`端口上设置了如下参数: ```shell interface GigabitEthernet0/0/0 ip address 172.16.10.1 255.255.255.0 ``` 而针对R2,则需在其对应的两端分别指定IP地址: ```shell interface GigabitEthernet0/0/0 ip address 172.16.10.2 255.255.255.0 interface GigabitEthernet0/0/1 ip address 192.168.10.2 255.255.255.0 ``` 最后给PC1分配合适的静态IP以便于测试连通性[^4]。 #### 启用并初始化firewalld服务 一旦上述物理层面上准备工作完成之后,就可以着手安装及启动firewalld组件了。考虑到CentOS7默认已经预装好了此软件包,只需简单执行命令来激活它: ```bash systemctl start firewalld.service systemctl enable firewalld.service ``` 这一步骤确保了后续能够利用firewalld来进行更细致的安全策略定制工作[^1]。 #### 创建自定义区域和服务规则 接下来创建一个新的zone叫做"external",专门处理来自外部访问请求的数据流;与此同时还要设定好允许哪些特定类型的流量进出该区: ```bash firewall-cmd --new-zone=external --permanent firewall-cmd --reload firewall-cmd --zone=external --add-interface=giga0/0/0 --permanent firewall-cmd --zone=external --add-service=http --permanent firewall-cmd --zone=external --add-port=22/tcp --permanent firewall-cmd --reload ``` 这里选择了开放HTTP协议(即Web浏览)还有SSH远程登录功能作为例子说明。 #### NAT转换配置 当涉及到IPv4到IPv6之间的互通需求时,可以采用NAT64技术方案解决跨版本兼容难题。具体操作是在防火墙上预先规划一段专用的IPv4公网地址区间供内部主机映射使用: ```bash ipv6 nat64 prefix ::ffff:0:0/96 inside ipv6 access-list OUTBOUND_V6 extended permit tcp any host 2001::db8:1 eq www ipv6 route static ::/0 interface giga0/0/0 ip nat inside source list ACL_NAT64 pool POOL_NAME overload access-list ACL_NAT64 extended permit ip 192.168.10.0 0.0.0.255 any object-group network ADDR_POOL description IPv4 Public Address Pool for NAT64 Translation range 200.0.0.10 200.0.0.20 nat (inside,outside) dynamic OBJ_GRP_ADDR_POOL ``` 以上脚本片段展示了怎样把私有LAN内的设备伪装成合法外网成员发起对外通信的过程[^3]。 #### QoS带宽控制措施 除了保障网络安全之外,合理调配有限资源同样重要。下面这段指令实现了对某条链路上下行速率加以限定的效果: ```bash policy-map shape-outbound class class-default shape average 1mbps ! interface gigabitethernet0/0/0 service-policy output shape-outbound exit ``` 此处设定了出口方向的最大传输速度不超过每秒一百万比特位,从而防止突发大流量冲击影响整体性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值