赞
踩
firewall-cmd是个很棒的工具,使用通俗易懂的语法,让你轻松制定出复杂的防火墙规则,对于日常网络管理很有帮助。
这里不想详细介绍firewall-cmd如何操作,网上资料已非常多,只是通过一些个例从个人角度理解firewall-cmd的结构思想。
看到很多资料都是使用添加规则的方法实现,如下:
firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/32" port protocol="tcp" port="25480" accept'
这在默认zone区新建了一条规则实现指定Ip访问 。
这种方式看起来就像在用firewall-cmd重写iptable规则,让人感觉没能发挥firewalld本身优势,规则理解起来不够简洁。
- firewall-cmd --add-port=25480/tcp --zone=work
- firewall-cmd --add-source=10.0.0.1 --zone=work
以上将在work中新建了一个port及一个source
同样的方法实现了指定ip访问指定端口,但这个看起来更firewall-cmd.
针对上面的实现可以理解为:所有外来访问默认走public规则,即不允许访问25480端口;如果是10.0.0.1访问除了走默认zone(public)外还要走work,即允许访问25480端口。
从显示的zone信息可以理解为对iptable规则的分拆
target: default ##可以是ACCEPT、DROP等,这个影响后面内容是接受还是拒绝
icmp-block-inversion: no
interfaces: ##指这网络接口
sources: 10.0.0.1 ##可以是ip,mac,但不能是ip段,遇到ip段如何设置欢迎知道的评论回复。
services: dhcpv6-client ssh ##服务
ports: 25480/tcp ##端口
protocols: ##协议,如果这里添加tcp,所有tcp端口都将被允许
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: ##规则
上面的列表根据字面意思就很容易理解,填写多项内容即形成多条规则组合。
当请求到达主机,firewald先判断默认zone规则,默认规则走完后遍历系统内其他zone区,如果其他zone设置规则,继续执行其他所有规则。所以我们也可以自己添加zone区用于特定类型的规则管理。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。