Centos7 防火墙 firewalld 实用操作

简介:

一.前言

Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是交由内核层面的nftables包过滤框架来处理。 相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

区域对于 firewalld 来说是一大特色,但是对于我们使用Centos7一般是在服务器上,需要切换zone的需求比较少,所以本文不做介绍了,网上资料也比较多,大家可以去百度找找资料。

二.操作与配置

1.服务操作

启动服务:

systemctl start firewalld

这里不用担心启用了防火墙以后无法通过ssh远程,22端口默认加入了允许规则

停止服务:

systemctl stop firewalld

重启服务:

systemctl restart firewalld

查看服务状态:

systemctl status firewalld

2.配置文件说明

firewalld 存放配置文件有两个目录,/usr/lib/firewalld/etc/firewalld,前者存放了一些默认的文件,后者主要是存放用户自定义的数据,所以我们添加的service或者rule都在后者下面进行。

server 文件夹存储服务数据,就是一组定义好的规则。

zones 存储区域规则

firewalld.conf 默认配置文件,可以设置默认使用的区域,默认区域为 public,对应 zones目录下的 public.xml

三.命令

这里需要首先说明的是,在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。

1.重载防火墙配置

firewall-cmd --reload

2.查看防火墙运行状态

firewall-cmd --state

3.查看默认区域的设置

firewall-cmd --list-all

4.应急命令

firewall-cmd --panic-on  # 拒绝所有流量,远程连接会立即断开,只有本地能登陆
firewall-cmd --panic-off  # 取消应急模式,但需要重启firewalld后才可以远程ssh
firewall-cmd --query-panic  # 查看是否为应急模式

5.服务

firewall-cmd --add-service=<service name> #添加服务
firewall-cmd --remove-service=<service name> #移除服务

6.端口

firewall-cmd --add-port=<port>/<protocol> #添加端口/协议(TCP/UDP)
firewall-cmd --remove-port=<port>/<protocol> #移除端口/协议(TCP/UDP)
firewall-cmd --list-ports #查看开放的端口

7.协议

firewall-cmd --add-protocol=<protocol> # 允许协议 (例:icmp,即允许ping)
firewall-cmd --remove-protocol=<protocol> # 取消协议
firewall-cmd --list-protocols # 查看允许的协议

8.允许指定ip的所有流量

firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" accept"

例:

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" accept" # 表示允许来自192.168.2.1的所有流量

9.允许指定ip的指定协议

firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" protocol value="<protocol>" accept"

例:

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" protocol value="icmp" accept" # 允许192.168.2.208主机的icmp协议,即允许192.168.2.208主机ping

10.允许指定ip访问指定服务

firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" service name="<service name>" accept"

例:

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" service name="ssh" accept" # 允许192.168.2.208主机访问ssh服务

11.允许指定ip访问指定端口

firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" port protocol="<port protocol>" port="<port>" accept"

例:

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" port protocol="tcp" port="22" accept" # 允许192.168.2.1主机访问22端口

12.将指定ip改为网段

8-11 的各个命令都支持 source address 设置为网段,即这个网段的ip都是适配这个规则:

例如:

firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" accept"

表示允许192.168.2.0/24网段的主机访问22端口 。

13.禁止指定ip/网段

8-12 各个命令中,将 accept 设置为 reject 表示拒绝,设置为 drop表示直接丢弃(会返回timeout连接超时)

例如:

firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" reject"

表示禁止192.168.2.0/24网段的主机访问22端口 。

四.参考资料

firewalld防火墙详解 by xuad88.

相关文章
|
5天前
|
网络协议 Linux 网络安全
CentOS 7 防火墙指令
本文介绍了CentOS 7中管理防火墙`firewalld`的指令。
14 0
|
5天前
|
XML 安全 Linux
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
|
5天前
|
网络协议 Linux 网络安全
Linux(17)Centos5、6、7、8版本的防火墙常用命令
Linux(17)Centos5、6、7、8版本的防火墙常用命令
32 0
|
5天前
|
Linux 网络安全
centos7如何关闭防火墙
centos7如何关闭防火墙
32 3
|
5天前
|
网络协议 Linux 网络安全
Centos7 防火墙策略rich-rule 限制ip访问-----图文详解
Centos7 防火墙策略rich-rule 限制ip访问-----图文详解
69 0
|
5月前
|
运维 网络协议 安全
小白带你学习linux的防火墙
小白带你学习linux的防火墙
152 1
|
7月前
|
安全 Linux 网络安全
Linux一些防火墙实战知识
本文介绍了如何在Linux中设置防火墙和开放端口,以提高服务器的安全性。首先,使用firewalld作为防火墙软件包,并确保firewalld服务正在运行。然后,通过添加服务来定义允许的服务端口,可以使用firewall-cmd命令查看当前已定义的服务,并使用firewall-cmd命令添加服务。添加规则后,需要重新加载firewalld配置以使更改生效。在某些情况下,需要打开特定的端口,例如HTTP端口80和HTTPS端口443。可以使用firewall-cmd命令打开端口,并将规则添加到相应的区域。。。确实都是工作中日常中会用到的一些命令
|
7月前
|
安全 Linux 网络安全
百度搜索:蓝易云【linux iptables安全技术与防火墙】
请注意,iptables的具体使用方法和配置选项可能会有所不同,取决于Linux发行版和版本。管理员应该参考相关文档和资源,以了解适用于其特定环境的最佳实践和配置方法。
468 0
百度搜索:蓝易云【linux iptables安全技术与防火墙】
|
5天前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
160 0
|
5天前
|
Linux 网络安全 数据安全/隐私保护
Linux 如何关闭防火墙(开启管理员权限)
Linux 如何关闭防火墙(开启管理员权限)
12 0