|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑 # G9 g2 Q, W7 S+ R
$ A6 j5 J2 @) n0 R一、启动服务( J6 L l, S4 i9 u$ {/ I; M
如果没有安装,可以使用yum install firewall
9 y1 }$ j: R# f% g% u o/ d( ~系统默认是已经安装了,但是没有启动8 I/ F) |% l1 h5 K
1、开机自启动) E. B& U* @2 x3 w
systemctl enable firewalld% z) k9 Y7 j+ _- p- W( m$ Y9 y
2、启动服务" k6 C& k5 Q+ c }
systemctl start firewalld- D% `+ [7 \) Y3 Z9 M
二、向防火墙添加可以外部访问的端口& n( j. p/ o4 u- B) @! a
firewall-cmd --zone=public --add-port=80/tcp --permanent
- p5 c6 D, D+ }* g, H以下是常用的端口7 f* }$ o4 q' N: o7 }+ U' N s1 I
firewall-cmd --zone=public --add-port=443/tcp --permanent
" `: O5 v, i# b: A. Efirewall-cmd --zone=public --add-port=22/tcp --permanent0 j) V4 D- d: t# E7 O& D+ [- q' e
1、如果需要添加一段端口的话,使用以下命令' x1 |( s' R& h) r/ H! m
firewall-cmd --zone=public --add-port=8000-8100/tcp --permanent
$ d' q9 B5 r: i' Y1 r这儿是指添加101个端口
0 |5 W. S$ `: ]; }( O2 J& X三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent
& {- x5 H3 e% A% j' p具体的服务名称在以下路径里有一个文件就是一个service 名称
# Z9 X) e5 I+ i/usr/lib/firewalld/services" ~5 M; ?1 S' z
9 a9 S5 L. c( b+ w四、添加完端口之后需要让防火墙生效
D4 b: Q" f1 a7 z9 o1、重新加载) @7 j) ~5 ^2 ]0 N, W0 A
firewall-cmd --reload2 X- O7 m* R2 V% ~
2、查看当前已经开放的端口
8 r( W; g$ X: c' s$ T( W% [firewall-cmd --list-ports, h2 W k" J: E! v1 F6 L7 k
firewall-cmd --list-all+ `; _) Y/ S: ^! y+ O
3、删除某个不用的端口3 Q% E- f2 |9 \9 r
firewall-cmd --zone=public --remove-port=8084/tcp --permanent! R6 h; J+ M1 t7 }" G2 {
注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的/ G, c( s) L! J; Y9 p/ n
- k* V( O4 P% w3 T5 K
: Y4 x* ^" K& j: B
E2 K1 j2 \. q- [, M2 {其他常用命令
& @) v- v) i8 t2 H1 v/ C. _ w* B( F* t/ r1 u G
?) f- N; x) }; e1 D: O6 }9 P
- firewall-cmd --list-all-zones #查看所有的zone信息
* u! [" m. v5 ?# F/ E - firewall-cmd --get-default-zone #查看默认zone是哪一个( `* K) O P5 L
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal
+ L7 i! S0 P( g5 R1 b - firewall-cmd --add-service=http #暂时开放http2 b. I0 D$ A4 [+ m, z
- firewall-cmd --permanent --add-service=http #永久开放http
* p0 o2 D7 A* H- I; j8 m; d7 l - firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口
: c# k. w9 ^2 |8 a( Y- M ~ C - firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务. o5 j4 S$ D" _' \+ Y! [" W
- firewall-cmd --reload #重新加载配置
; h- l3 \, j( n8 _2 x3 ~ - systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码 ' K- z( n& y* k
) T# w) v! v% J2 _0 ]4 x
2 ^$ d5 @! Y+ K4 x' o8 t8 E
* S6 u* d& Z" v$ {7 X; [. }0 w. g+ |" M8 j7 ^
: [- l2 _+ ?0 L7 M1 V6 l4 C; ?0 V' z( [" ]
, t: p+ |' J5 a7 a
1 T; g5 L: w7 v. }, O6 F; l" j+ C1 W
9 f; {! b. [ U: {+ o v/ Z$ t2 C
; H( z9 w8 [( J9 t1 u5 [) {
|
|