前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 Linux 中配置 firewalld 规则

如何在 Linux 中配置 firewalld 规则

原创
作者头像
用户7639835
修改2021-09-01 17:55:09
1.3K0
修改2021-09-01 17:55:09
举报
文章被收录于专栏:技术知识分享

以下命令列出 FirewallD 提供的zones。运行以下命令以列出zones:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
  • Firewalld services

Firewalld 的service配置是预定义的服务。要列出可用的服务模块,请运行以下命令:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --get-services
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则

Firewalld的临时设置和永久设置

Firewalld 使用两个独立的配置,即临时设置和永久设置:

  • 临时设置: 临时设置不会在系统重启时保持不变。这意味着临时设置不会自动保存到永久设置中。
  • 永久设置: 永久设置会存储在配置文件中,将在每次重新启动时加载并成为新的临时设置。

启用、禁用Firewalld

Firewalld默认安装在Centos7/8中,下面命令时如何启用或者停用firewalld:

代码语言:javascript
复制
# 启用Firewalld
[root@server1 ~]# systemctl start firewalld
# 禁用Firewalld
[root@server1 ~]# systemctl stop firewalld
# 开机启动
[root@server1 ~]# systemctl enable firewlald
# 禁止开机启动
[root@server1 ~]# systemctl disable firewalld

查看firewlald的状态:

代码语言:javascript
复制
[root@server1 ~]# systemctl status firewalld
或者
[root@server1 ~]# firewall-cmd --state
running
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则

zone管理

Firewalld 为每个区域提供不同级别的安全性,公共区域设置为默认区域。下面命令查看默认区域:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --get-default-zone 
public

下面命令查看默认区域的配置:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources: 
  services: cockpit dhcpv6-client ntp ssh
  ports: 2222/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则

通过使用选项"--zone”和“--change-interface”的组合,可以轻松更改zone中的接口。例如,要将“ens33”接口分配给“home”区域,请运行以下命令:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --zone=home --change-interface=ens33
success
[root@server1 ~]# firewall-cmd --zone=home --list-all
home (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: cockpit dhcpv6-client mdns samba-client ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则

要查看所有活动的zone,请运行以下命令:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --get-active-zones 
home
  interfaces: ens33
public
  interfaces: ens160
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则
如何在 Linux 中配置 firewalld 规则如何在 Linux 中配置 firewalld 规则

要更改默认zone,请使用以下命令。例如,要将默认区域更改为 home,请运行以下命令:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --set-default-zone=home

要找出与 ens160 接口关联的区域,请运行以下命令:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --get-zone-of-interface=ens160
public

要创建新zone,请使用以下命令。例如,要创建一个名为“test”的新区域,并永久生效,请运行:

代码语言:javascript
复制
[root@server1 ~]# firewall-cmd --permanent --new-zone=test
success
[root@server1 ~]# firewall-cmd --reload
success

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档