前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Centos7 防火墙 firewalld 实用操作

Centos7 防火墙 firewalld 实用操作

原创
作者头像
用户9105998
修改2021-11-01 09:34:22
修改2021-11-01 09:34:22
79900
代码可运行
举报
文章被收录于专栏:运维技能分享运维技能分享
运行总次数:0
代码可运行

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

1.重载防火墙配置

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --reload

2.查看防火墙运行状态

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --state

3.查看默认区域的设置

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --list-all

4.应急命令

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

5.服务

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-service=<service name> #添加服务
firewall-cmd --remove-service=<service name> #移除服务

6.端口

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-port=<port>/<protocol> #添加端口/协议(TCP/UDP)
firewall-cmd --remove-port=<port>/<protocol> #移除端口/协议(TCP/UDP)
firewall-cmd --list-ports #查看开放的端口

7.协议

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-protocol=<protocol> # 允许协议 (例:icmp,即允许ping)
firewall-cmd --remove-protocol=<protocol> # 取消协议
firewall-cmd --list-protocols # 查看允许的协议

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

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" accept"

例:

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" accept" # 表示允许来自192.168.2.1的所有流量

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

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" protocol value="<protocol>" accept"

例:

代码语言:javascript
代码运行次数:0
运行
复制
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访问指定服务

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" service name="<service name>" accept"

例:

代码语言:javascript
代码运行次数:0
运行
复制
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访问指定端口

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" port protocol="<port protocol>" port="<port>" accept"

例:

代码语言:javascript
代码运行次数:0
运行
复制
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都是适配这个规则:

例如:

代码语言:javascript
代码运行次数:0
运行
复制
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连接超时)

例如:

代码语言:javascript
代码运行次数:0
运行
复制
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端口 。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.重载防火墙配置
  • 2.查看防火墙运行状态
  • 3.查看默认区域的设置
  • 4.应急命令
  • 5.服务
  • 6.端口
  • 7.协议
  • 8.允许指定ip的所有流量
  • 9.允许指定ip的指定协议
  • 10.允许指定ip访问指定服务
  • 11.允许指定ip访问指定端口
  • 12.将指定ip改为网段
  • 13.禁止指定ip/网段
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档