|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑
; Q2 n* W& o) q" S& I9 q" }# @4 k! s. l( a; |
一、启动服务. p }9 x3 x, w- D d5 K
如果没有安装,可以使用yum install firewall
3 w) R* e6 d/ g. {5 |6 K系统默认是已经安装了,但是没有启动
& n, e& |0 J; J! L8 b! ^) T, ?5 Y1、开机自启动
9 F8 k" b+ g8 S" x" Hsystemctl enable firewalld# y8 v" g2 w" Q3 K H! }+ H% q
2、启动服务
; u" Y4 I$ E) X& O+ jsystemctl start firewalld
% n& g- p+ i, }) Z* M二、向防火墙添加可以外部访问的端口0 B2 J5 N3 A. f4 u
firewall-cmd --zone=public --add-port=80/tcp --permanent
& a" r8 F* W* j/ O& O# T以下是常用的端口
: l2 ~+ k+ Z: I3 xfirewall-cmd --zone=public --add-port=443/tcp --permanent6 S5 H1 j, m. k& {# K
firewall-cmd --zone=public --add-port=22/tcp --permanent
. O8 {- D2 M+ m, K1、如果需要添加一段端口的话,使用以下命令
1 C% ]- {4 Q/ S& h h2 Xfirewall-cmd --zone=public --add-port=8000-8100/tcp --permanent
- [4 z/ U7 `* A) M7 Q; O这儿是指添加101个端口3 S. E1 t/ n% X3 H, T6 i" ~8 W
三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent
u6 x# S! C Y具体的服务名称在以下路径里有一个文件就是一个service 名称! J5 S* o9 H+ ]( y
/usr/lib/firewalld/services
3 N) b3 }' y3 b7 q9 H J5 u5 F1 b. g
; B! S* j! Y0 z) Z四、添加完端口之后需要让防火墙生效
9 X. c( T2 m8 }4 ^' d1、重新加载
/ t" Q& g, Z& m" V$ O5 Efirewall-cmd --reload
$ E0 X8 L0 C- T5 U8 S2、查看当前已经开放的端口 E- U( y1 A7 o4 s2 E! q7 p# g
firewall-cmd --list-ports
$ ?# U+ ^9 L( z4 n3 r7 Cfirewall-cmd --list-all7 @# [# Y- l/ W0 w+ w9 o
3、删除某个不用的端口" d& C, Q* q/ ?7 B9 M4 q
firewall-cmd --zone=public --remove-port=8084/tcp --permanent
1 K- U% K3 q2 I9 P7 o注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的
- a# o4 B. G& B- y T
0 u4 [6 ]" v! L: J5 i) ~5 I! _" \4 L$ e7 ^% |2 C% b! e
/ i d0 d" G3 r# e4 Q
其他常用命令
" x, I. L; o8 E2 U$ N5 f0 G0 T9 w4 E5 ]: A0 q* R
' i0 Z3 q5 \' W0 x- firewall-cmd --list-all-zones #查看所有的zone信息; n& I3 D, D5 y# T+ Q
- firewall-cmd --get-default-zone #查看默认zone是哪一个' ^* y- \- k" m; c
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal) K. y, O) a: A5 V5 @
- firewall-cmd --add-service=http #暂时开放http
6 R% m g6 t7 ~9 Q# U; w- b - firewall-cmd --permanent --add-service=http #永久开放http
% r: ^/ W4 e8 m b2 j - firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口( Y4 ] Y; Z; K0 Y7 A
- firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务
- H! ~4 M- _$ _ - firewall-cmd --reload #重新加载配置
4 {- r/ _) }8 u1 q* [ - systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码 3 l, \) d' L3 {# V2 g3 c
# l' [* h! s- o' M9 d
/ R, N5 C- |$ O; x! L
3 O+ k: V! Q/ F8 E
) ?3 {! U4 o; w
& p' H0 w4 O& M, g/ m
' j3 J& ^4 B! M4 u4 y- @
! m9 n5 g& d3 I+ @& g' s; C
: q5 c# Y" h+ ]' {8 B
& f J: U L8 G8 j$ C4 _3 v% U
1 ?& I8 N/ X; \8 o' _. C
' u9 o, s! ^( i2 X4 i' T4 W |
|