Fedora 29管理防火墙

服务器最重要的事情之一就是端口啦
管理防火墙,我们主要用于打开端口,管理端口
打开和关闭端口
Fedora 29使用的是Firewalld来管理防火墙的,它的官网上面有详细的使用文档
而我更喜欢使用配置文件来添加服务的方式来管理端口。打开一个端口主要分为以下步骤:
- 拷贝并修改配置文件- 主要是名称和端口
 
- 主要是
- 添加服务- 从文件添加服务
 
- 刷新防火墙规则- 激活生效的区域
- 刷新防火墙规则
 
- 验证端口是否打开
首先,我们来查看当前系统生效的是哪个区域,cat /etc/firewalld/firewalld.conf | grep "DefaultZone",默认状态下是public。下面我们开始在public区域添加端口服务。我们的配置文件可以放在这两个路径/etc/firewalld/services和路径/usr/lib/firewalld/services,官方推荐放在/usr/lib/firewalld/services,好处是the admin or user is able to modify the service and that he could go back to the original service easily by loading the defaults of the service.
那好,我们就放在这个目录下面👇:
比如我要添加一个名为OhMyG的一个服务,它将负责打开8467端口,首先我们来看看这个端口的占用情况,使用lsof -i :8467查看。可以看到这个端口是没有在使用的,我们拿端口22(我此时正通过ssh连接服务器),它显示了如下的结果:
| 1 | lsof -i :22 | 
显示结果:
| 1 | COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME | 
外部通过telnet来查看
| 1 | telnet 192.168.18.136 22 | 
显示结果:
| 1 | Trying 192.168.18.136... | 
拷贝文件
| 1 | sudo cp /usr/lib/firewalld/services/https.xml /usr/lib/firewalld/services/OhMyG.xml | 
我将https.xml里面的内容拷贝到OhMyG.xml里面。接下来我们要修改下这个文件:
| 1 | sudo vim /usr/lib/firewalld/services/OhMyG.xml | 
我们来看看这个文件里面的内容:
| 1 | <?xml version="1.0" encoding="utf-8"?> | 
修改那些地方
- short你随便起个名字就可以了
- descriptions这是你对他的描述
- protocol这个是控制方式,出站还是入站,我只是打开端口- tcp没问题
- port这就是我们要打开的端口
修改后内容为:
| 1 | <?xml version="1.0" encoding="utf-8"?> | 
接下来,我们就要将添加服务了
添加服务
| 1 | sudo firewall-cmd --zone=public --permanent --new-service-from-file=/usr/lib/firewalld/services/OhMyG.xml --name=OhMyG_s | 
上面的命令表示我要永久添加服务OhMyG_s到public空间,这里我们不能使用OhMyG这个服务名了,因为这两个路径中有一个路径存在这个文件,所以我们得换个名字。
执行如下命令
| 1 | sudo ls /etc/firewalld/services/OhMyG_s.xml | 
这个文件确实已经生成了,我们来看看,这个文件里面的内容和我们之前的文件里面的内容用什么异同。
| 1 | sudo more /etc/firewalld/services/OhMyG_s.xml | 
貌似什么异同,其中查看public空间的命令为:
| 1 | firewall-cmd --zone=public --list-port | 
- 在运行环境中添加服务1 sudo firewall-cmd --permanent --zone=public --add-service=OhMyG_s 
我们接下来让防火墙重新载入规则
| 1 | sudo firewall-cmd --reload | 
接下我们用telnet来测试测试
| 1 | telnet 192.168.18.136 8467 | 
结果为:
| 1 | Trying 192.168.18.136... | 
怎么会这样?
我们这个端口只是打开了,并没有软件占用这个端口,我们用caddy来占用一下这个端口
| 1 | sudo dnf install -y caddy | 
再在外部执行,结果就变成这个样子了:
| 1 | Trying 192.168.18.136... | 
查看public空间的服务:
| 1 | firewall-cmd --zone=public --list-services | 

- 本文链接: https://blog.saltpi.cn/article/Fedora-Firewalld/
- 版权声明: 本博客所有文章除特别声明外,均采用 ©BY-NC-SA 许可协议。转载请注明出处!