摘要:一概览之前曾几次接触过系统,但始终不得法门,不入门就很难继续下去。服务停止时,即时配置将丢失。服务重启重载时,通过存储配置替换即时配置。重新加载后,已更改的区域绑定也会恢复原样。下节预告的配置目录和基础配置文件
一、概览
之前曾几次接触过Linux系统,但始终不得法门,不入门就很难继续下去。而立之年,缘分悄然而至,终于对Linux有了些许入门的感觉,虽然还是小白、菜鸟,但是只要能入门,学起来也就快多了。虽说有了ubuntu这种图形化的版本,但是Linux的精髓还是命令行的方式,而且主要用途是服务器而非家庭PC机。
机缘巧合认识一位朋友帮我买了一台VPS,安装上Linux的minimal版本,完全抛弃图形化界面,开启了我的Linux之旅……
对Linux的命令还不熟悉,顶多也就知道怎么使用yum安装程序、用cd切换路径,用ls查看文件列表,用cat查看文件内容,用vi/vim稍微编辑一下文件内容而已,至于其他的命令,我一时也想不起来了。如果用Windows操作系统来衡量的话,我现在的水平估计也仅仅是知道怎么用鼠标了,而且还非常不熟练……
或许是我杞人忧天,我最担心买的VPS沦为某位黑客大侠的秘密基地,所以对安全防护最为看重。这也是我为何先学防火墙配置而不是命令行的原因。废话少说,直接进入主题,下面及之后的笔记都是我在firewalld官网阅读Documentation时的理解,记下来方便以后回顾。
firewalld的设计分为两层:
核心层
D-Bus层
核心层负责处理配置,其后端包括iptables,ip6tables,ebtables,ipset和模块加载器等。
firewalld的D-Bus接口主要用来创建和更改防火墙的配置。用到最多的命令是firewall-cmd,从上图可以看出firewall-offline-cmd与firewall-cmd的不同是firewall-offline-cmd越过D-Bus接口,通过文件的I/O接口直接修改核心层的配置。当firewalld运行时,可以使用firewall-offline-cmd直接完成firewall的配置文件的修改。但是官方不建议这么用,官方给的解释是“it is only able to alter the permanent configuration that are visible in firewall after about five seconds.”
firewall-cmd [OPTIONS...] firewall-offline-cmd [OPTIONS...] firewall-config [OPTIONS...] //图形化操作,不做了解 firewall-applet //图形化操作,不做了解
这里有两个概念需要说明一下,不然有些难以理解这两个命令的区别。
Runtime Configuration
<运行时配置>、<运行配置>、<即时配置>,直译应该是第一个,但我倾向用<即时配置>的说法。
Permanent Configuration
<永久性配置>、<文档配置>、<存储配置>,直译应该是第一个,但我觉得<存储配置>的说法更容易理解。
像我这种英文底子差的同学,觉得直译的说法难以理解,所以就自己另外给他起个名字方便自己理解,英文好的同学千万别学我 -_-!!
firewalld的配置分为两种:Runtime Configuration<即时配置>和Permanent Configuration<存储配置>;firewalld启动时,从<存储配置>中加载配置,服务启动后的配置状态就叫<即时配置>,此时<即时配置>和<存储配置>是一样的,如果使用firewall-cmd命令修改配置,只会改动<即时配置>Runtime Configuration,如果使用firewall-cmd命令修改配置之后关闭服务或者重启/重载服务,<即时配置>Runtime Configuration里的内容是不保存的,除非使用下面的命令把<即时配置>中的内容保存到<存储配置>中。
firewall-cmd --runtime-to-permanent
上面的命令就会将当前生效(但没保存)的<即时配置>保存到<存储配置>的配置文件中。
<即时配置>是指实际生效的配置,并且应用于内核中的防火墙,当firewalld服务启动时程序加载<存储配置>,服务启动后实际生效的配置是<即时配置>,<即时配置>的更改不会自动保存到<存储配置>中。firewalld服务停止时,<即时配置>将丢失。 firewalld服务重启/重载时,通过<存储配置>替换<即时配置>。重新加载后,已更改的区域绑定也会恢复原样。
下节预告:firewall的配置目录和基础配置文件
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/10868.html
摘要:源码学习笔记基于包源码大致分为以下几组对包集合框架的扩展更好的支持多线程并发操作线程池相关锁基本数据类型的原子性封装 Java concurrent 源码学习笔记基于JDK1.8 concurrent包源码大致分为以下几组: 对util包集合框架的扩展(更好的支持多线程并发操作) 线程池相关 锁 基本数据类型的原子性封装 showImg(https://segmentfault.c...
摘要:所以生成器首先是一个迭代器,也就是说它可以使用进行遍历。普通函数后,函数会被从栈中移除,中止执行,但是会保存生成器的状态,当被再次调用时,迭代器会从上次的地方恢复调用状态继续执行。 生成器概述 PHP从5.5.0版本开始支持生成器(Generator),根据PHP官方文档的说法:生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,性能开销和...
摘要:搭建服务器因为这次我们实际上有在线安装和离线安装的不同的需求。参数可选需要重启生效。改为后,显示出文件的大概大小,单位是或者或者而默认为,显示的文件时间为时间。 Nginx搭建repo服务器 因为这次我们实际上有在线安装和离线安装的不同的需求。所以我们同时采用了两种方法来安装nginx。 1. 在线安装nginx 安装nginx对应的源 rpm -Uvh http://nginx.or...
摘要:搭建服务器因为这次我们实际上有在线安装和离线安装的不同的需求。参数可选需要重启生效。改为后,显示出文件的大概大小,单位是或者或者而默认为,显示的文件时间为时间。 Nginx搭建repo服务器 因为这次我们实际上有在线安装和离线安装的不同的需求。所以我们同时采用了两种方法来安装nginx。 1. 在线安装nginx 安装nginx对应的源 rpm -Uvh http://nginx.or...
阅读 1921·2019-08-30 15:53
阅读 2898·2019-08-30 15:44
阅读 2768·2019-08-30 14:11
阅读 2779·2019-08-30 14:01
阅读 2548·2019-08-29 15:16
阅读 3477·2019-08-29 13:10
阅读 1083·2019-08-29 10:56
阅读 2396·2019-08-26 13:58