启动

systemctl start firewalld

停止

systemctl stop firewalld

重启

systemctl restart firewalld

查询状态

systemctl status firewalld

另外,对于firewalld来说还可以使用自身的firewall-cmd工具来查询运行状态

firewall-cmd --state

启用开机自启动

systemctl enable firewalld

禁用开机自启动

systemctl disable firewalld

查看自动启动状态

systemctl is-enabled firewalld

更新规则

直接使用firewall-cmd修改的规则是不需要更新就可以直接生效的,但是如果加了--permanent参数,或者直接编辑xml文件之后就需要我们手动reload了,

firewall-cmd提供了两个更新规则的参数:--reload和--complete-reload,

前者只是更新需要更新规则,而且更新的过程中不会影响现有的连接,

而后者在更新时会将所有的规则清除掉然后重建,而且为了安全考虑,在更新之前首先会将策略设置为DROP,等更新完成之后再恢复为ACCEPT,这样就会对现有连接造成影响,所以如果没有特殊需求我们应该尽量使用前者。具体命令如下

firewall-cmd --reload
firewall-cmd --complete-reload

策略操作

对于firewalld来说最重要的就是策略操作了,策略操作主要有三种方法:使用firewall-config操作、使用firewall-cmd操作和直接编辑xml文件,firewall-config是图形化工具,firewall-cmd是命令行工具。

firewall-cmd中关于规则的命令非常多,但是有四大类使用频率非常高的命令:--add-xxx、--remove-xxx、--query-xxx、--get-xxx以及--list-xxx,这里前两个非常容易理解,一个是添加一个是删除。

--query-xxx主要用于布尔值的查询,比如

#这个命令用于查询在public这个zone中是否包含ssh这个服务。
firewall-cmd --zone=public --query-service=ssh

--get-xxx主要用于获取特定的内容,比如

firewall-cmd --get-zones
#这样就可以获取到预设的zones,默认情况下返回结果为
block dmz drop external home internal public trusted work

--list-xxx主要用于按一定条件进行查询(不过有的list命名也不需要条件),比如

#这个命令可以返回public这个zone中所包含的services。
firewall-cmd --zone=public --list-services

特殊参数 --permanent

表示是否将修改后的规则保存下来,如果不加这个参数,那么所做的修改当时会立即生效,但是在firewalld重启之后就会丢失,而加上这个参数后所做的修改就会永久保存下来,不过这时的修改不会立即生效而是需要reload后才可以生效。其实这个也非常容易理解,当不加--permanent修改规则时firewalld会实际修改运行时的规则,而如果加了这个参数firewalld其实是去修改的xml配置文件,和我们直接编辑xml文件一样,所以就需要reload才可以生效。

 

最新文章

  1. 【纯css】左图右文列表,左图外框宽度占一定百分比的正方形,右上下固定,右中自动响应高度。支持不规则图片。
  2. iOS之清除缓存
  3. net.sf.json 时间格式的转化
  4. NameError: name 'pip' is not defined
  5. linux网络相关
  6. 主机找不到vmnet1和vmnet8
  7. android文件系统挂载分析(1)---正常开机挂载
  8. URL编码原理解释
  9. menuconfig选项
  10. 设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类
  11. SURF 特征法
  12. 分享一下我进入IT行业的经历
  13. Log4j分级别存储日志到数据库
  14. WPF:Hyperlink如何绑定数据
  15. IntegrityError at /admin/users/userprofile/add/ (1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_
  16. jQuery发布1.9正式版,最后支持IE 6/7/8
  17. emmc和ssd的区别【转】
  18. javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决
  19. Python __name__变量
  20. JS正则表达式验证是否为11位有效手机号码

热门文章

  1. C++11常用特性介绍——列表初始化
  2. QWidget: “Must construct a QApplication before a QWidget”
  3. Win Tomcat8 占用内存过高
  4. IIS 配置迁移
  5. Js判断值是否是NaN
  6. el-dialog 如何自定义大小样式
  7. 【代码总结】GD库中图片缩印
  8. 如何用一个servlet处理多个请求
  9. 【剑指Offer面试编程题】题目1355:扑克牌顺子--九度OJ
  10. java.lang.ClassCastException: android.app.Application cannot be cast to