firewalld学习--维护命令
启动
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才可以生效。
最新文章
- 【纯css】左图右文列表,左图外框宽度占一定百分比的正方形,右上下固定,右中自动响应高度。支持不规则图片。
- iOS之清除缓存
- net.sf.json 时间格式的转化
- NameError: name 'pip' is not defined
- linux网络相关
- 主机找不到vmnet1和vmnet8
- android文件系统挂载分析(1)---正常开机挂载
- URL编码原理解释
- menuconfig选项
- 设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类
- SURF 特征法
- 分享一下我进入IT行业的经历
- Log4j分级别存储日志到数据库
- WPF:Hyperlink如何绑定数据
- 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_
- jQuery发布1.9正式版,最后支持IE 6/7/8
- emmc和ssd的区别【转】
- javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决
- Python __name__变量
- JS正则表达式验证是否为11位有效手机号码
热门文章
- C++11常用特性介绍——列表初始化
- QWidget: “Must construct a QApplication before a QWidget”
- Win Tomcat8 占用内存过高
- IIS 配置迁移
- Js判断值是否是NaN
- el-dialog 如何自定义大小样式
- 【代码总结】GD库中图片缩印
- 如何用一个servlet处理多个请求
- 【剑指Offer面试编程题】题目1355:扑克牌顺子--九度OJ
- java.lang.ClassCastException: android.app.Application cannot be cast to