|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑
( [1 P$ @; t6 p6 F8 L/ ~; Y: G6 D7 x% g- j
一、启动服务
# d+ m) @6 {) h. i( C如果没有安装,可以使用yum install firewall
4 J2 I. S. c& I& d系统默认是已经安装了,但是没有启动- O5 }# K, F& p
1、开机自启动: T' K. B* N% T
systemctl enable firewalld
: w" N* |! E6 i2、启动服务
; u- c) M- T0 f _systemctl start firewalld' b0 [6 u+ O$ Q: `
二、向防火墙添加可以外部访问的端口
Y$ [5 l( {9 H/ I+ `$ |% @firewall-cmd --zone=public --add-port=80/tcp --permanent
1 @7 p% ~; l5 ^以下是常用的端口
- Q8 K$ d. R" J+ X1 [firewall-cmd --zone=public --add-port=443/tcp --permanent
/ f5 q. y2 P$ K2 b4 o% H4 qfirewall-cmd --zone=public --add-port=22/tcp --permanent" a1 |& U1 F0 I- a" }
1、如果需要添加一段端口的话,使用以下命令
/ }1 v/ _; |0 M) bfirewall-cmd --zone=public --add-port=8000-8100/tcp --permanent
) o- y7 D8 e/ g, Y8 G+ f这儿是指添加101个端口
. [0 P! |) s: T& v三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent C2 p7 N4 y# D9 t7 y
具体的服务名称在以下路径里有一个文件就是一个service 名称
) e- K/ V1 u7 m, \+ R/usr/lib/firewalld/services- e. y8 z+ R: N! M
. k9 C) V& D# _四、添加完端口之后需要让防火墙生效# K1 Z0 s( H( G
1、重新加载
7 U+ ?+ h' R8 Q6 O9 J: J# _firewall-cmd --reload0 _/ B! I2 Z f
2、查看当前已经开放的端口
& |$ @) ^% `( afirewall-cmd --list-ports' w$ ?2 A5 h; j: X6 f1 V- l+ J d
firewall-cmd --list-all
% F! l, i# A1 D9 `9 Q+ J3、删除某个不用的端口% x1 `8 r" r* i; a$ \8 L% N
firewall-cmd --zone=public --remove-port=8084/tcp --permanent
( L8 B/ F# D8 B1 f( h% ]注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的# V5 D* u5 m" C- \, H( X4 v
4 K# S k: x! }; }6 E$ A* S# f7 i3 N( u# A; Y# ?
7 r9 j. S+ F: j& n0 @其他常用命令
) L. G1 ?9 E3 H, p; Z( f* c$ R% g4 ~8 m& d
3 H) f# ?9 J1 T6 ]2 u9 i
- firewall-cmd --list-all-zones #查看所有的zone信息
) U) R2 J0 \) W' A3 I - firewall-cmd --get-default-zone #查看默认zone是哪一个* {8 A: ` x3 I8 F
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal
7 R) w0 E7 b5 u( W$ c' ? - firewall-cmd --add-service=http #暂时开放http# P3 ]! I0 G* n7 e
- firewall-cmd --permanent --add-service=http #永久开放http4 n9 V& M( J* X8 R2 n7 B! Q
- firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口4 X8 Z8 n/ g1 `
- firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务6 O% N5 J& n5 C$ f' t% q8 d
- firewall-cmd --reload #重新加载配置4 j1 E$ `7 {% b- H% P) _( [% c
- systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码 2 Z' a3 y( [- z( J* Y
) V7 ?, [! M' i9 k7 _/ M. N5 X) n8 ]( G, m! C: s% e. M2 d
2 w* k: F# X! }) {* g2 b' A& z* r, @0 y! Q U+ ~0 P4 B8 e
& j, K! G. R, c/ b# D* @ J/ U6 y% J
3 g) H0 \8 s) o# K( U" p. g `% u E" }+ k
7 B8 B$ x3 W( G; _
: p7 s; P1 c& Y4 G H2 a8 J7 ^4 j3 }8 y6 c) z1 d. G: m% s+ O
3 ?- h( H. ~/ c" l: A& ^1 g |
|