|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑
: F" l7 X' h z! f- c4 h: C( m3 O/ w i5 p
一、启动服务) y K3 X5 G, u# M3 N2 O9 N
如果没有安装,可以使用yum install firewall+ M1 v5 j' h# u$ ~
系统默认是已经安装了,但是没有启动9 ]2 h: }, F# t3 U2 ]/ b& c
1、开机自启动: i. X& P9 I0 V D, l3 H
systemctl enable firewalld
. a1 |6 H! y+ T, S/ x2、启动服务
; d! E L9 G' Q) m \systemctl start firewalld
0 z2 y+ U3 s r# ^二、向防火墙添加可以外部访问的端口; L( V& j, z- q' u1 u5 h
firewall-cmd --zone=public --add-port=80/tcp --permanent
; h- ~, u* b' \. o% f0 J, I以下是常用的端口
- v% T, u; m" s6 P$ j$ {+ Gfirewall-cmd --zone=public --add-port=443/tcp --permanent
3 ^- o$ o2 ]4 @ b8 m+ Dfirewall-cmd --zone=public --add-port=22/tcp --permanent
; Q- R' A, N0 ?# `7 s: Y1、如果需要添加一段端口的话,使用以下命令
7 u8 I2 U! |4 Q6 I& j: J Bfirewall-cmd --zone=public --add-port=8000-8100/tcp --permanent4 ` C* X% M' s/ r
这儿是指添加101个端口
/ U# U& ^4 M t0 Z6 k, v三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent
6 X2 b6 ?. A9 b+ o& z, L具体的服务名称在以下路径里有一个文件就是一个service 名称
d X3 e0 ?( [" ?- p* {4 F/usr/lib/firewalld/services
# @; g, K' ]6 [+ h% w) @3 g2 I0 s* W! }/ g
四、添加完端口之后需要让防火墙生效. h. U- J; w8 I7 L) E
1、重新加载
, t* m+ w" {/ ]0 I! U; o, Lfirewall-cmd --reload
, }; ?. Y, I0 t1 Y2、查看当前已经开放的端口
9 B1 a3 M+ T. Z0 dfirewall-cmd --list-ports
0 E2 Q4 Q8 X% Yfirewall-cmd --list-all, V# U: j' S8 b9 b( I5 \
3、删除某个不用的端口
! {, {. z3 a- h3 U/ U6 Zfirewall-cmd --zone=public --remove-port=8084/tcp --permanent
; c: E z) L- J$ ?* Y2 D. T$ D注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的9 r2 S# Z% [ e, I9 c
' i- z! ~2 n9 I3 I: {' F$ h- B
" A0 n1 V$ E5 G6 w! E5 k# K1 }8 q- s s8 L
其他常用命令
) Q3 ^" X+ ?0 H: U/ h0 Z7 r1 o- C. ?2 c9 w5 d G
8 U! K7 D( T5 T# K; |& H \- firewall-cmd --list-all-zones #查看所有的zone信息4 Q' u. i0 [. o% @
- firewall-cmd --get-default-zone #查看默认zone是哪一个! N( _. Q- w" c- _% n
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal F0 B$ F' E) O& ?( M# t
- firewall-cmd --add-service=http #暂时开放http- K \& T/ o A: Z0 W: E
- firewall-cmd --permanent --add-service=http #永久开放http
0 B, l, |9 ~# t' |- A3 v( ^; Z+ i - firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口
+ E9 p' u+ V' n - firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务7 {4 u& J- J5 ]
- firewall-cmd --reload #重新加载配置
: @6 r2 i+ D* R; p3 V X - systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码 / G" I" u! T+ E5 U' g; f
* O1 z8 O# N1 } `/ R
4 K* r4 l# p( d. O4 ]5 r6 Z2 i8 z' J6 U8 I% [
; v# |4 L6 ^/ u B0 n
% J% E& E- o/ d" ]
) m& o v' l! o8 l3 F+ t5 M
# f8 s e( ^ w1 S+ c( u8 R% z+ F( M0 {; T; G
4 c9 ~8 Z! W* J3 w: L" S
1 c% Y8 W" H3 \0 b& @/ e1 `
9 l6 ~/ V+ I E7 z. n |
|