|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑 0 y. G- w: Z- b
8 u" O. S2 ?: Q2 r- W一、启动服务+ k& u2 E! _3 L/ D. P
如果没有安装,可以使用yum install firewall6 p+ E* ` O# X/ T7 g, J; I
系统默认是已经安装了,但是没有启动( f8 f- K1 }2 f
1、开机自启动! `; a9 E1 l* m: a/ W4 ^0 i. c2 P
systemctl enable firewalld
( v4 Z, e& \0 a0 C% e" N2、启动服务% d. z0 \1 S( L V& j- o* G* S! |
systemctl start firewalld0 x4 E3 D6 i4 E1 Y5 c6 l$ D
二、向防火墙添加可以外部访问的端口
# M3 v# x3 t1 d: P6 ]firewall-cmd --zone=public --add-port=80/tcp --permanent
$ K2 }* Y" t% b% `; y1 c: v8 \- Z以下是常用的端口
" L |. z* K8 q, n# k0 nfirewall-cmd --zone=public --add-port=443/tcp --permanent' I0 k) {. H( k; ~5 t
firewall-cmd --zone=public --add-port=22/tcp --permanent4 z: i# R" p9 T9 t
1、如果需要添加一段端口的话,使用以下命令
, ~5 p5 K# W3 s) Ifirewall-cmd --zone=public --add-port=8000-8100/tcp --permanent3 M+ ?! D- q0 o7 n! S$ d" o- A" \
这儿是指添加101个端口
* @0 ~9 u. Y8 M( d( [+ n2 i6 K三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent# j" \5 T7 D0 S/ g; v
具体的服务名称在以下路径里有一个文件就是一个service 名称
4 e) l5 W) _7 v) g- q/usr/lib/firewalld/services
: d+ L. Q% z+ ^ T0 f
; T! t. X$ R" X5 D四、添加完端口之后需要让防火墙生效8 A: A& Y% B' E, N
1、重新加载
, r0 u5 f: z4 | W3 Q5 x, Rfirewall-cmd --reload
j2 c+ }8 N5 C, E" L8 {5 Q2、查看当前已经开放的端口- U6 I+ e+ j* L4 `+ p {# E
firewall-cmd --list-ports8 L7 @0 d* U0 X
firewall-cmd --list-all
7 p6 V# C2 j" H" x4 h' e6 C0 H8 G3、删除某个不用的端口& I) s& e a2 x& }
firewall-cmd --zone=public --remove-port=8084/tcp --permanent6 j6 B7 j; `6 |# M) D/ h
注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的
; \* ~% E5 d7 k- Y! a1 J3 w# b% S( g+ t9 ]* o3 [' _
2 t2 | H% \& X0 d/ T' @
. U, J6 t3 w; W1 i" d) m9 O) m9 F) I, [
其他常用命令
# A' p" m" i% A0 \! D( B) ?$ S7 C, p/ T/ x$ x, y
3 B2 t8 V6 u/ V1 N% e7 Z- firewall-cmd --list-all-zones #查看所有的zone信息& P) k' ^; O% U# `2 h8 q# H; e" j
- firewall-cmd --get-default-zone #查看默认zone是哪一个. @: _3 A9 M5 D( `& H5 K5 n
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal
, s6 } t( e3 x8 O7 N4 k - firewall-cmd --add-service=http #暂时开放http
$ O1 r5 Z: U5 ?( j+ V" [+ K' Q9 u: q& P8 P - firewall-cmd --permanent --add-service=http #永久开放http
# N; ]9 p7 z/ t+ B) \) N( ?+ D9 { - firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口
( @. ~$ h/ [' N+ Y& H A: z1 N - firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务# Q, V4 y5 j3 D. W: \- P
- firewall-cmd --reload #重新加载配置* L# p* H, L; g3 ?) D
- systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码
% N3 o8 O3 C E' n$ W
8 Z3 m5 Z* L, N& H" {+ R1 ]- g/ _! c, g4 t ^: P! D8 ^+ s
8 f4 |% L( w, s8 D
' i8 D: @+ Z7 y) z# m9 B% r
9 D% \& J3 w! y6 @8 F' w6 x' u& I
- [* F' h k* M2 R! i
- ?' y# A$ p" ^: D
& R% g4 c5 P- j. J( F# m
8 A, R7 @8 }! k$ S8 h1 t) @; q
- h8 g7 Y( [# B) j; v! d) T& O( v( b
|
|