侧边栏壁纸
博主头像
Z同学博主等级

工作磨平激情前,坚持技术的热忱。 欢迎光临Z同学的技术小站。 分享最新的互联网知识。

  • 累计撰写 290 篇文章
  • 累计创建 57 个标签
  • 累计收到 98 条评论

CentOS Firewalld 防火墙基础配置

Z同学
2021-12-03 / 0 评论 / 1 点赞 / 452 阅读 / 2,086 字
温馨提示:
本文最后更新于 2021-12-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

介绍

从7.0开始,centOS主流的防火墙就由iptables切换为Firewalld了。

我们在使用阿里云的Linux 服务器的时候,默认也都是改为了Firewalld了。

下面主要介绍一下关于Firewalld防火墙的配置。

(ps:阿里云服务器好像默认并没有启动Firewalld防火墙)

注意,Firwalld其实是有图形界面的。如果你的Linux有GUI的话。那么也可以同图形界面进行控制操作。

在这里我主要记录关于命令行的模式。

命令

主要介绍Firewalld的一些常用指令。

1.查询状态

获取Firewalld 状态systemctl status firewalld.service

正常情况下Active :active(running) 代表启动状态。否则就是没启动。

这个会获取的状态信息比较多。而我们只想知道运行情况是否启动可以使用下面的指令。

获取当前状态firewall-cmd --state

如果返回failed就代表错误。如果是正常就会返回running 代表正在运行。

2.开启和停止

开启Firewalldsystemctl start firewalld.service 或者:service firewalld start

停止Firewalldsystemctl stop firewalld.service 或者:service firewalld stop

配置成开机启动systemctl enable firewalld.service

禁止开机启动systemctl disable firewalld.service

3. 端口设置

开放80端口firewall-cmd --zone=public --add-port=80/tcp --permanent

开放1723端口firewall-cmd --zone=public --add-port=1723/tcp --permanent

  • -zone :说的是作用域 public 全局。作用域的参数主要有这些:block dmz drop external home internal public trusted work 具体的含义大家可以通过我的这篇文章了解:https://zinyan.com/?p=169
  • -add-port=1723/tcp :说的是开放的端口和协议。
  • -permanent :说明端口开放是永久生效。如果没有这个那么设备重启后该端口就将关闭

禁用端口firewall-cmd --zone=public --remove-port=80/tcp --permanent

这只是举例禁止80端口,我们可以根据开放的端口进行禁止想禁止的端口

查看所有开放的端口firewall-cmd --zone=public --list-ports

4.查询指令

我们在上面见到过zone指令。但是该指令能支持哪些值。firewalld也提供了相关查询方法。以及其他状态的一些查询指令。

列出当前版本支持的zonefirewall-cmd --get-zones

列出当前支持的服务firewall-cmd --get-services

这些列出来的服务都是会被Firewalld放行的服务

我们如果觉得列出来的服务太长了,就想了解某个服务是否支持。那么可以直接输入名称进行查询

查询指定服务是否支持firewall-cmd --query-service ftp 我输入的是ftp,如果要查询其他服务也可以直接替换即可。如果支持就会返回yes,如果不支持就会返回no。但是还有一种情况就是返回:Error:INVALID_SERVICE:XXXX。那说明这个服务没有被配置到firewalld上去。

我们需要主动配置之后,才能进行查询并决定是否放行该服务的数据。

临时开放指定服务firewall-cmd --add-service=ftp 例如上面查询的结果,我们想临时进行开放 。重启之后就关闭。和上面开放接口时一样的配置逻辑

永久开放指定服务firewall-cmd --add-service=ftp --permanent

永久移除指定服务firewall-cmd --remove-service=ftp --permanent

我们也可以从Firewalld之中移除掉某个服务。 注意这种移除不影响你本地安装的程序。只是从防火墙上移除而已

查看Firewalld规则iptables -L -n 我们如果配置了防火墙相关规则,那么通过这个指令就可以查询

查看当前版本支持的ICMP阻塞类型:firewall-cmd --get-icmptypes

5.配置指令生效

下面介绍如何给Firewalld配置各种防火指令

Firewalld指令修改生效firewall-cmd --reload

我们配置完端口还是配置完服务之后都要执行这个命令,让配置生效。如果不生效那么配置的功能就没有作用了。

重新加载内核中的防火墙模块和配置:firewall-cmd --complete-reload

这个的执行结果要不上面更彻底。所有端口全部断开后执行

1

评论区