Linux操作系统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;
- 点赞
- 收藏
- 关注作者
评论(0)