|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑 ; e1 g% G f& k% C6 Z `. E4 Q
( Y8 q/ M: V' j- ~& X& B
一、启动服务
2 \( H2 E5 t/ [9 h如果没有安装,可以使用yum install firewall$ z% b% ?6 U: L: f
系统默认是已经安装了,但是没有启动
9 S- n# S+ V- b, V: W$ M. _, E1、开机自启动3 N% y+ y4 }! m' _
systemctl enable firewalld6 d0 Y/ P5 \6 O5 ?, T/ \
2、启动服务
' ] j/ ?! E/ O/ msystemctl start firewalld/ y, L8 @9 r4 O: V! E" S0 v
二、向防火墙添加可以外部访问的端口
0 f' n( ^% i) S E+ d5 Jfirewall-cmd --zone=public --add-port=80/tcp --permanent 2 e' l; D: x0 `0 n1 v6 G) \
以下是常用的端口
2 q5 G8 r+ u1 g$ p, u6 ofirewall-cmd --zone=public --add-port=443/tcp --permanent& V4 [' a* ?5 K% L
firewall-cmd --zone=public --add-port=22/tcp --permanent8 `' `: B+ o: j& X
1、如果需要添加一段端口的话,使用以下命令
( U: i: ]+ T* _8 n' ~2 p0 dfirewall-cmd --zone=public --add-port=8000-8100/tcp --permanent
- w4 O, j+ J2 g这儿是指添加101个端口' i, l. g" M( ]* i7 b
三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent1 i: S z3 ~5 G- P
具体的服务名称在以下路径里有一个文件就是一个service 名称
* U5 E0 @8 b8 V, C% R/usr/lib/firewalld/services
$ z- Z- R Y$ S j, ~7 t& K: H! z8 C
四、添加完端口之后需要让防火墙生效9 j, j; M0 G Y% i/ q, H* y
1、重新加载; O' U6 V/ g' r! d# i6 _
firewall-cmd --reload
4 s0 m: s$ v! C5 j9 D" H2、查看当前已经开放的端口
4 M0 p9 {0 S9 q; X3 I/ D `firewall-cmd --list-ports
1 @, u% _& t' }; ?4 Mfirewall-cmd --list-all! f# f' P, v$ n) v- F% n
3、删除某个不用的端口
* \& N; m$ c; d- o3 {* ufirewall-cmd --zone=public --remove-port=8084/tcp --permanent
; Y) A% U2 m% A5 Q0 g- o注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的; v) v! ~6 f2 v3 O4 }
9 ?& N2 P$ z% p% K- U
2 _5 l$ w& D, ~' b9 s: t
& t* Y5 L5 S, s" _2 m* X- T0 m
其他常用命令
# N9 _0 I& d( Q
; `" X( k, T( d
! }. W7 s* S* s& G$ i1 j- firewall-cmd --list-all-zones #查看所有的zone信息
g! A' y$ Q+ J1 g - firewall-cmd --get-default-zone #查看默认zone是哪一个$ J3 ~! c a( q
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal
; a3 E0 p$ [' Q: k1 O2 ? - firewall-cmd --add-service=http #暂时开放http
2 R3 c# f! z! Q1 T - firewall-cmd --permanent --add-service=http #永久开放http2 {- F1 n! _/ V9 h# c" y
- firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口
8 b* ~/ V9 m! @: j - firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务
' o' ~* z6 T$ m& ]) J: { - firewall-cmd --reload #重新加载配置& m0 K% Z3 F8 L9 I8 M" ]! o' p
- systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码 4 ]3 s* l/ Z! K7 m5 {
0 Z2 m+ N1 R" {" P6 S0 g* W t( R. s: Y. s
% @( u2 w+ a, C) L: d/ J) }! n
& w+ o G8 Z. I& Z
3 C+ Z# h0 S+ i" s# E5 ]3 \7 C6 u+ f- {: a2 O6 D5 q* v V- N; I
) p' \1 C0 T m, X2 r
# i+ v w5 X) U4 @9 v; @, ~
6 e+ n' s* C6 t6 |; }; H+ \ Y3 D/ W3 F2 g; c* Q
& Q' U1 @: u8 D- d; B |
|