Skip to content

Commit 81bcf1d

Browse files
denymzjaywcjlove
authored andcommitted
Update firewall-cmd.md (jaywcjlove#75)
* Update firewall-cmd.md 为firewall-cmd命令添加更多描述 * Update firewall-cmd.md
1 parent 2b0b01f commit 81bcf1d

File tree

1 file changed

+113
-2
lines changed

1 file changed

+113
-2
lines changed

command/firewall-cmd.md

Lines changed: 113 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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
160192
firewall-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

Comments
 (0)