|
|
本帖最后由 myskya 于 2020-3-8 22:36 编辑 # |" ~5 f* G5 t# q3 t
. x! D/ Q3 J: w& l7 w+ U
一、启动服务
- K- H, D, T$ u. F# v. b如果没有安装,可以使用yum install firewall
' F/ v$ w& K, Z# ~( G' x+ j系统默认是已经安装了,但是没有启动
# k7 r3 X B4 E: R* S( G1、开机自启动
. c; L; t5 D% z. ksystemctl enable firewalld
: l. X2 A, z+ r* L9 t5 A/ S2、启动服务
" Q6 }1 a3 A6 [# m* l! nsystemctl start firewalld# t; c' c/ i2 Z: U( ~* m
二、向防火墙添加可以外部访问的端口% x) e# F% I# ^' j5 j$ X- u
firewall-cmd --zone=public --add-port=80/tcp --permanent + p1 T) x4 @. F' J7 I
以下是常用的端口1 K) Z8 ~3 x3 ^& E+ N
firewall-cmd --zone=public --add-port=443/tcp --permanent
- k/ C) R q* mfirewall-cmd --zone=public --add-port=22/tcp --permanent
1 x1 b6 E% {" r; i$ h$ r1、如果需要添加一段端口的话,使用以下命令. t, o1 [6 u# R: f: l8 s
firewall-cmd --zone=public --add-port=8000-8100/tcp --permanent1 j4 H4 M- m& p5 ?
这儿是指添加101个端口/ {6 d& p2 k! W2 s8 h4 l
三、向防火墙添加相应的服务firewall-cmd --zone=public --add-service=dns --permanent
8 y& l& U% s, p1 p& q具体的服务名称在以下路径里有一个文件就是一个service 名称. b4 I' \7 s% ~1 h4 Y* ]" B
/usr/lib/firewalld/services
+ M# w Z1 l3 R" Q/ Z" G' y, ~" L5 W
四、添加完端口之后需要让防火墙生效' }. w% V2 ^9 Q6 `" q6 }5 Y
1、重新加载! Z/ @: K3 M7 l
firewall-cmd --reload2 J, z0 y& d4 B+ S- I1 x
2、查看当前已经开放的端口
( Y( S, M/ g8 ]# a' b5 P1 L- Mfirewall-cmd --list-ports5 d& G& \1 Y) V2 q+ V0 e4 ^& M: @
firewall-cmd --list-all( y! e0 e: T! ]8 m5 X
3、删除某个不用的端口
: ?; c: `( N; q4 t; J efirewall-cmd --zone=public --remove-port=8084/tcp --permanent
$ L/ v# ^4 t, N* q: b注意,这儿删除只是删除一条规则,我上面加的8000-8100,其实还是可以访问8084这个端口的
' L9 y& f0 N" ?2 Y. v# f2 J7 v: S0 v) o. |
- [6 A$ N& P+ P q$ q% R* q
& X- C0 D7 j/ e; a其他常用命令6 V, }' Y2 v5 ]; ]
# H% L" W! v# i+ ]
# ~; X' I) c$ ~ O, u+ G4 y+ F
- firewall-cmd --list-all-zones #查看所有的zone信息# n9 R6 O- p" b5 t( j+ [* s4 c/ F0 V& s
- firewall-cmd --get-default-zone #查看默认zone是哪一个2 \' Q7 ] x& n2 _% t5 `3 D) H
- firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal& w# l, ^1 G$ E) N: Q" x& ]4 w, r
- firewall-cmd --add-service=http #暂时开放http7 O2 H2 q q+ c
- firewall-cmd --permanent --add-service=http #永久开放http
& q: e% Y4 b- r4 B+ H1 ]1 v - firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口+ E* v3 G( B5 y' J# \
- firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务
( i$ I. x# z7 B6 W# G: v - firewall-cmd --reload #重新加载配置
& Q3 U" d' d8 C - systemctl restart firewalld #重启firewalld服务,使配置生效/可查
复制代码 6 l5 S. P! | @
; U3 `( k# Z. a0 ?4 @
|6 Q5 D1 H# P1 N p: u
2 z5 K' Y6 N2 H- n' Y5 g' I1 M/ @1 y, }- G! x
6 `' M- V2 O. Q1 h, P( [
# ?/ S1 g3 M$ b2 U$ i/ G; r: N* c$ ~( C8 d: I
M& q% `+ L7 R8 y' L4 [
6 b0 W+ j- J$ p: ?; Y1 v: [8 G6 {
P% }! O' l3 g+ |* I$ U# t: V5 ~: b3 g" w w6 ~5 S( j4 u
|
|