Linux操作系统firewalld命令备忘录

举报
蝉鸣一夏 发表于 2018/06/06 19:07:16 2018/06/06
【摘要】 Firewalld常用命令备忘

几个参考资料网址:

http://blog.51cto.com/xylbk/1757535



一.firewall常用命令


1.开启,关闭,重启firewalld.service


systemctl firewalld start/stop/restart


2.查看firewall的服务状态


systemctl firewalld status.


3.查看firewall的运行状态。

firewall-cmd --state


4.关于firewalld配置,有三种方式,firewall-config图形工具,firewall-cmd命令行,直接编辑xml配置文件。一般配置文件模板位于/usr/lib/firewalld/zones/目录下,生产环境配置,保存在/etc/firewalld/目录下



二.防火墙常见命令与配置方法


1.查规则


firewall-cmd --get-zones; # 查看预定义的9个区域


firewall-cmd --get-services; # 查看预定义的所有服务


firewall-cmd --get-icmptypes; # 查看预定义的所有icmp类型



firewall-cmd --list-all-zones; # 查看当前系统中所有区域的设定

firewall-cmd [--zone=public] --list-all; #查看默认或指定区域的防火墙规则。



firewall-cmd --info-zone=public;# 查看zone信息

firewall-cmd --path-zone=public;# 查看zone路径,存疑,失败。


firewall-cmd --get-zone-of-interface=eth0; # 重要,确定网卡所在zone;

firewall-cmd --get-zone-of-source=127.0.0.1; # 重要,确认ip请求所在zone;


firewall-cmd --get-active-zones; # 展示当前激活生效的zone,往往展示为{zone:接口名}的格式。



firewall-cmd --get-default-zone; # 查看默认区域

firewall-cmd --set-default-zone=public;# 修改默认区域



2.增规则


方式一:firewall-cmd [--zone=public] --add-service=ssh --permanent; # 未指定zone,就采用默认zone。


方式二:firewall-cmd [--zone=public] --add-port=22 # 不加permanent,就只是临时生效,重启失效


注意:防火墙规则的生效方式,参考 防火墙问题整理 下的问题二。



3.改规则




4.删规则

方式一:firewall-cmd [--zone=public] --remove-service=ssh --permanent; # 未指定zone,就采用默认zone。


方式二:firewall-cmd [--zone=public] --remove-port=22 # 不加permanent,就只是临时生效,重启失效



5.封禁某个ip的做法


方式一:将ip加入drop区域的sources中,则来源于该ip的请求包,执行drop区域的策略。


firewall-cmd --zone=drop --add-source=xx.xx.xx.xx;


方式二:使用rich rules限制。


firewall-cmd --list-rich-rules;


firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"

source address="192.168.0.0/24" service name="http" drop"


firewall-cmd --permanent --zone=public --add-rich-rule=’rule family=ipv4

source address=192.168.0.0/24 service name=ssh drop’



6.保存,重启生效,备份恢复firewall规则。


保存配置:--permanent;  --runtime-to-permanent;


备份恢复:

firewalld 的配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 里的各种 XML 文件里,这样保持了这些文件被编辑、写入、备份的极大的灵活性,使之可作为其他安装的备份等等。




三.防火墙问题整理。


1.关于firewalld防火墙需要理解的几个基础概念


zone:区域,将网络根据信任级别划分为区域,每个区域都有各自的安全策略和一系列设定的防火墙规则。

interface:网络接口,基础概念

service:服务清单信息

port:端口

source:源地址


2.如果一个客户端访问服务器,服务器根据以下原则决定使用哪个 zone 的策略去匹配。


规则1:如果一个客户端数据包的源 IP 地址匹配 zone 的 sources,那么该 zone 的规则就适

用这个客户端;一个源只能属于一个zone,不能同时属于多个zone。

规则2:如果一个客户端数据包进入服务器的某一个接口(如eth0)区配zone的interfaces,

则么该 zone 的规则就适用这个客户端;一个接口只能属于一个zone,不能同时属于多个zone。

规则3:如果上述两个原则都不满足,那么缺省的 zone 将被应用


3.zone,default zone与active zone分别是什么意思?


zone概念,不再复述。

default zone,参考问题二,未指定,就使用default zone的规则处理请求包。

active zone,这里有疑问,参考规则1,源地址匹配sources,则使用该zone的规则,如果该zone不是active zone呢,规则是否生效。

已解决:将ip加入zone的source,firewall-cmd --get-active-zone;




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。