@@ -16,12 +16,44 @@ firewalld自身并不具备防火墙的功能,而是和iptables一样需要通
1616
1717
1818
19- ### 语法
19+ ** 命令格式**
20+
21+ ```
22+ firewall-cmd [选项 ... ]
23+ ```
24+
25+ ### 选项
26+
27+ 通用选项
28+
29+ ``` bash
30+ -h, --help
31+ 显示帮助信息;
32+
33+ -V, --version
34+ 显示版本信息. (这个选项不能与其他选项组合);
35+
36+ -q, --quiet
37+ 不打印状态消息;
2038
2139```
22- finger(选项)(参数)
40+
41+ 状态选项
42+ ``` bash
43+ --state 显示firewalld的状态;
44+ --reload 不中断服务的重新加载;
45+ --complete-reload 中断所有连接的重新加载;
46+ --runtime-to-permanent
47+ 将当前防火墙的规则永久保存;
48+ --check-config 检查配置正确性;
2349```
2450
51+ 日志选项
52+ ``` bash
53+ --get-log-denied 获取记录被拒绝的日志;
54+ --set-log-denied=< value>
55+ 设置记录被拒绝的日志,只能为 ' all' ,' unicast' ,' broadcast' ,' multicast' ,' off' 其中的一个;
56+ ```
2557
2658### 实例
2759
@@ -160,6 +192,85 @@ firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEP
160192firewall-cmd --reload
161193```
162194
195+ ** 自定义服务管理**
196+ 选项
197+ ``` bash
198+ (末尾带有 [P only] 的话表示该选项除了与(--permanent)之外,不能与其他选项一同使用!)
199+ --new-service=< 服务名> 新建一个自定义服务 [P only]
200+ --new-service-from-file=< 文件名> [--name=< 服务名> ]
201+ 从文件中读取配置用以新建一个自定义服务 [P only]
202+ --delete-service=< 服务名>
203+ 删除一个已存在的服务 [P only]
204+ --load-service-defaults=< 服务名>
205+ Load icmptype default settings [P only]
206+ --info-service=< 服务名>
207+ 显示该服务的相关信息
208+ --path-service=< 服务名>
209+ 显示该服务的文件的相关路径 [P only]
210+ --service=< 服务名> --set-description=< 描述>
211+ 给该服务设置描述信息 [P only]
212+ --service=< 服务名> --get-description
213+ 显示该服务的描述信息 [P only]
214+ --service=< 服务名> --set-short=< 描述>
215+ 给该服务设置一个简短的描述 [P only]
216+ --service=< 服务名> --get-short
217+ 显示该服务的简短描述 [P only]
218+
219+ --service=< 服务名> --add-port=< 端口号> [-< 端口号> ]/< protocol>
220+ 给该服务添加一个新的端口(端口段) [P only]
221+
222+ --service=< 服务名> --remove-port=< 端口号> [-< 端口号> ]/< protocol>
223+ 从该服务上移除一个端口(端口段) [P only]
224+
225+ --service=< 服务名> --query-port=< 端口号> [-< 端口号> ]/< protocol>
226+ 查询该服务是否添加了某个端口(端口段) [P only]
227+
228+ --service=< 服务名> --get-ports
229+ 显示该服务添加的所有端口 [P only]
230+
231+ --service=< 服务名> --add-protocol=< protocol>
232+ 为该服务添加一个协议 [P only]
233+
234+ --service=< 服务名> --remove-protocol=< protocol>
235+ 从该服务上移除一个协议 [P only]
236+
237+ --service=< 服务名> --query-protocol=< protocol>
238+ 查询该服务是否添加了某个协议 [P only]
239+
240+ --service=< 服务名> --get-protocols
241+ 显示该服务添加的所有协议 [P only]
242+
243+ --service=< 服务名> --add-source-port=< 端口号> [-< 端口号> ]/< protocol>
244+ 添加新的源端口(端口段)到该服务 [P only]
245+
246+ --service=< 服务名> --remove-source-port=< 端口号> [-< 端口号> ]/< protocol>
247+ 从该服务中删除源端口(端口段) [P only]
248+
249+ --service=< 服务名> --query-source-port=< 端口号> [-< 端口号> ]/< protocol>
250+ 查询该服务是否添加了某个源端口(端口段) [P only]
251+
252+ --service=< 服务名> --get-source-ports
253+ 显示该服务所有源端口 [P only]
254+
255+ --service=< 服务名> --add-module=< module>
256+ 为该服务添加一个模块 [P only]
257+ --service=< 服务名> --remove-module=< module>
258+ 为该服务移除一个模块 [P only]
259+ --service=< 服务名> --query-module=< module>
260+ 查询该服务是否添加了某个模块 [P only]
261+ --service=< 服务名> --get-modules
262+ 显示该服务添加的所有模块 [P only]
263+ --service=< 服务名> --set-destination=< ipv> :< address> [/< mask> ]
264+ Set destination for ipv to address in service [P only]
265+ --service=< 服务名> --remove-destination=< ipv>
266+ Disable destination for ipv i service [P only]
267+ --service=< 服务名> --query-destination=< ipv> :< address> [/< mask> ]
268+ Return whether destination ipv is set for service [P only]
269+ --service=< 服务名> --get-destinations
270+ List destinations in service [P only]
271+ ` ` `
272+
273+
163274** 控制端口 / 服务**
164275
165276可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效。
0 commit comments