|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑 9 s6 A4 k& N0 s# P k6 J( d
4 a, ^3 l% P% o* O1 W) a
一、启动服务 ^7 z3 f; q9 U8 G1 i/ [- x
如果没有安装,可以使用yum install firewall
& Z5 }4 G3 g8 |+ W$ @系统默认是已经安装了,但是没有启动
% w- c, s6 A4 j) D$ t. C1、开机自启动
* Q% B7 K/ D7 J. ]- usystemctl enable firewalld
+ u: l5 ?8 E2 `1 d2、启动服务! |$ @. {! Q: M! N; e
systemctl start firewalld
2 V) k3 Y3 o0 Q; }' d/ p) K二、向防火墙添加可以外部访问的端口* ^ U u6 c7 c/ ?& Z2 A
firewall-cmd --zone=public --add-port=80/tcp --permanent
J ~% i; b. t$ f6 c/ q以下是常用的端口
' Z/ j' j# P/ m, S3 g2 ]- gfirewall-cmd --zone=public --add-port=443/tcp --permanent- l# g' C4 z0 ^# F
firewall-cmd --zone=public --add-port=22/tcp --permanent
$ H2 i1 \3 F/ b7 ~- G3 R# z- n' A1、如果需要添加一段端口的话,使用以下命令
5 ?- T' W+ i1 f' Ofirewall-cmd --zone=public --add-port=8000-8100/tcp --permanent' i$ Y3 j) K2 I; c: Z
这儿是指添加101个端口) S! v" r2 b1 ]3 K$ U; z& g
三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent
+ ]! Q Y" S3 l2 `具体的服务名称在以下路径里有一个文件就是一个service 名称
; m- t% L" x5 E5 e/usr/lib/firewalld/services
& a& c6 i( V- V) h' l$ x8 W c0 t
: F6 {5 v, r5 [' g+ M4 D4 l& L四、添加完端口之后需要让防火墙生效4 R( R3 a( `& Z" H% L, F5 r( J
1、重新加载
% Y2 b4 |* V( a. U" Afirewall-cmd --reload, N# M6 R! c. i0 O5 I3 J
2、查看当前已经开放的端口- X o2 o8 Y" C$ [3 G4 X
firewall-cmd --list-ports
) j2 v& S+ J; J1 |! A+ @firewall-cmd --list-all
3 k$ b9 E# u5 k4 b% d- `3、删除某个不用的端口' g- Q; O4 N5 a" O! {- W: P* }
firewall-cmd --zone=public --remove-port=8084/tcp --permanent
% P7 W% P- U% X/ j+ [注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的7 b* F9 W, m( U- m( [( K; o
! y$ d+ J8 a" n( d$ P: x; V
1 ]2 _& m' I( G l# d$ }1 ?; i2 Y9 t' c
其他常用命令- F; @* L4 U& @" f9 C. c
7 g* j9 q, T+ Q/ j0 g/ k3 C' b! n
5 z' K9 |/ K. ^7 g- firewall-cmd --list-all-zones #查看所有的zone信息
) s" L" e8 C! x6 U - firewall-cmd --get-default-zone #查看默认zone是哪一个! g$ g4 w) @# N. I9 [" c7 y! T
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal# c- U8 S5 D5 a* F* T9 N' F
- firewall-cmd --add-service=http #暂时开放http _ x6 w2 r+ l6 `8 R! W& E
- firewall-cmd --permanent --add-service=http #永久开放http, ^% j" A5 y- Q6 O% C2 e2 v
- firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口 N. v7 w1 V8 H# G: l
- firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务
, |, }" t4 H% X+ _( |5 X8 Z/ T3 Z - firewall-cmd --reload #重新加载配置7 A+ ~6 d" z5 L4 S3 @5 z
- systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码 * R9 s g) i( @, M5 f! S3 y$ R* _
6 V/ s, _, `% M
$ l: F' z; v1 d( V% D( G& _
& u5 x$ h& `8 ~* W4 k- p
6 X# i* B$ Y- A$ r% p- O# M. q- p5 m& ]- F) j5 [# c7 W9 y+ W
4 e) j/ h) Y3 R. Q" Z% G+ ]
' m9 j& m+ v x; Y& D: a2 v
! j( O) w5 Q5 R3 y
+ i# I0 t! U- u+ Z6 \# B G2 d
; W6 u7 }- b* h C s4 C' M1 v
8 J( _; o1 _7 X |
|