HCRM博客

如何设置CentOS防火墙?

CentOS防火墙设置指南

一、防火墙基础介绍

CentOS 7及更高版本默认使用firewalld作为其防火墙管理工具。firewalld通过iptaBLes来控制网络流量,支持动态更新和基于区域(zone)的规则管理,本文将详细介绍如何在CentOS中配置和管理firewalld

如何设置CentOS防火墙?-图1
(图片来源网络,侵权删除)

二、启动与停止防火墙

在配置防火墙之前,首先需要了解如何启动和停止防火墙服务:

1、启动防火墙

   sudo systemctl start firewalld

2、停止防火墙

   sudo systemctl stop firewalld

3、重启防火墙

   sudo systemctl restart firewalld

4、查看防火墙状态

   sudo systemctl status firewalld

5、设置防火墙开机自启

如何设置CentOS防火墙?-图2
(图片来源网络,侵权删除)
   sudo systemctl enable firewalld

6、取消防火墙开机自启

   sudo systemctl disable firewalld

三、检查防火墙状态与规则

在配置防火墙时,可以使用以下命令查看当前的状态和规则:

1、查看防火墙状态

   firewallcmd state

2、查看已开放端口

   firewallcmd listports

3、查看所有规则

   firewallcmd listall

四、开放端口与服务

为了允许特定端口或服务的流量,可以通过以下命令进行配置:

如何设置CentOS防火墙?-图3
(图片来源网络,侵权删除)

1、永久开放一个端口

   sudo firewallcmd permanent addport=80/tcp

2、立即开放一个端口(重启后失效)

   sudo firewallcmd addport=80/tcp

3、删除开放端口规则

   sudo firewallcmd permanent removeport=80/tcp

4、重新加载防火墙规则

   sudo firewallcmd reload

5、开放服务(例如http服务)

   sudo firewallcmd permanent addservice=http

6、关闭服务(例如关闭http服务)

   sudo firewallcmd permanent removeservice=http

五、高级配置:区域与自定义规则

Firewalld使用“区域”来管理不同的网络接口和源地址,每个区域可以定义一组规则,这些规则指定了该区域内允许或拒绝的流量。

1. 区域概念与预定义区域

drop: 丢弃所有传入的数据包,不回复任何信息。

block: 拒绝所有传入的网络连接请求,并回复一条拒绝消息。

public: 公共区域,适用于外部网络访问

external: 外部区域,通常用于路由转发。

work: 工作区,信任大多数计算机不会对本机进行攻击。

home: 家庭区,信任家庭网络中的设备。

internal: 内部网络,完全信任的区域。

trusted: 完全信任的区域,接受所有连接请求。

2. 添加和修改区域规则

添加源地址到区域

  sudo firewallcmd permanent zone=trusted addsource=192.168.1.1/24

修改默认区域

  sudo firewallcmd setdefaultzone=public

查看区域信息

  sudo firewallcmd listallzones

3. 自定义规则

添加富规则

  sudo firewallcmd permanent addrichrule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

移除富规则

  sudo firewallcmd permanent removerichrule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

1. 如何更改防火墙的默认区域?

答:使用以下命令可以将默认区域设置为public

   sudo firewallcmd setdefaultzone=public

2. 如何允许特定IP访问特定端口?

答:可以通过添加富规则来实现,例如允许IP192.168.1.100 访问TCP端口22

   sudo firewallcmd permanent addrichrule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

然后重新加载防火墙规则:

   sudo firewallcmd reload

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/21240.html

分享:
扫描分享到社交APP
上一篇
下一篇