找回密码
 注册
查看: 582|回复: 4

通过vi编辑文件删除firewalld的防火墙规则编辑使用文件方式 public.xml

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-12-20 15:00:13 | 显示全部楼层 |阅读模式
[root@example-dn-01 ~]# vim /etc/firewalld/zones/public.xml& {3 h2 f# T; o6 z$ F) d6 y
public.xml      public.xml.old  2 ?. A' T1 ]$ u& o* |# n
[root@example-dn-01 ~]# vim /etc/firewalld/zones/public.xml0 w: s8 s5 d' y: @, A: l$ U
删除需要删除的规则
% L. A. f1 g. a( z1 n- L- o" K$ f# W
重启firewalld-cmd 服务% r, W* \' H/ B$ i/ }& ]8 h8 @+ \6 n5 y
0 u6 D, b. n% _4 d" z

. k  _" E* ], A2 C6 ]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-12-20 15:00:14 | 显示全部楼层
或者2 u# [3 Q' X6 H0 ]. b0 }+ e# r! _
firewall-cmd  --zone=public --remove-rich-rule="rule family=ipv4 source address="192.168.100.71" port port="9092" protocol="tcp" accept"    删除该条策略

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-12-20 16:11:18 | 显示全部楼层
1、查询、禁用、删除、自定义 firewalld 服务的 ping 响应:! y% n# O% |( ]. _0 T( l7 A, z9 S5 W
" S+ |+ a+ g/ S! H2 D3 A" F
[root@centos-test ~]# firewall-cmd --zone=public --query-rich-rule="rule protocol value='icmp' drop"
, M8 n, f5 k" v* H% S. ~: f5 x
$ ^+ I) N* V% f9 p. W+ @/ }[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule protocol value='icmp' drop"
8 w( Z. w" t3 A/ }- G" w1 G1 W2 W- v4 S' ?3 F+ ?
[root@centos-test ~]# firewall-cmd --permanent --zone=public --remove-rich-rule="rule protocol value='icmp' drop"
7 a0 Q5 k3 F# r( s* W  y1 d0 A0 ]9 C; e2 y9 r$ m% m( p
[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' protocol value='icmp' accept"
- }: `; l0 E1 O( g+ p* c. ~8 B, i5 d- L6 h. j' a+ A
# 允许172.16.1.10主机ping。
0 X+ F: }4 I% ~/ b
0 r/ b* ~* c) r4 W6 V; l' T" p. N! w

1 e; o5 y6 U+ }/ l2、添加或拒绝某个IP访问ssh端口:) ^: V# G# ^5 @

1 @) u$ U% A6 k* \[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' accept", o; M/ @* p' ~

* u! D5 o& I9 s* F  |[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.0/24' port protocol='tcp' port='22' accept"7 F% M. G- d/ Y/ }$ F5 W1 @

9 i1 s; @/ t0 R/ a1 ~7 h# 允许172.16.1.0/24网段的主机访问22端口。4 b& T8 {' [3 ?! K  q
- B9 G; J. X2 x
[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' reject"
7 }1 j. `' @1 w" f5 b, `
- l8 z/ |4 w! w3 F8 }[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' drop"
9 D- _0 p: P8 `: O- Q! C) s* ?0 d
0 `# R. }; _# @# reject 和 drop 的效果是一样的。
% R# l2 t& q* S/ z
. \: T, k+ E3 [' {1 f" _% ~% u" r4 \

9 `: u9 M9 t. B/ s; v& C3、列出所有多语言规则:
1 l  j3 d3 r! B3 A/ y+ |8 Y  T/ H1 g3 c% T% M
firewall-cmd --zone=public --list-rich-rules
9 Q+ d$ h/ M7 y% i' M# G1 b7 ?0 d; z4 x5 A4 ^
% F/ D/ D/ `1 I2 ^! Q

4 V, z6 L6 h& G3 n" }! j4、允许172.16.1.10主机所有连接:# O. Q' A$ |/ A* g+ a/ P9 M
0 {4 f5 B( ?6 ]' ^# h; ?
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' accept"
* c. f& q7 V$ Q, L+ ]. m% ^: R( f3 R5 B0 |$ |5 [8 a5 `

9 I2 s, G! [) Y& W' |$ q( k2 o  l' v* p, O/ O
5、每分钟允许2个新连接访问ftp服务:+ _" v9 H' z0 Z* S4 _( F

0 o+ b4 v6 b! s6 e& Dfirewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' limit value='2/m' accept"2 e/ R2 O( N# t* F: J& Y

" r+ D6 P$ G3 m* `, L3 \, ~* q$ e; H  S6 O' Q& E% |) n
& [/ h# _' I5 n2 K
6、同意新的 IPv4 和 IPv6 连接 FTP,并使用审核每分钟登录一次:5 r5 q! g+ U: k

! Y* }8 s, y3 p2 x( L3 Z# ifirewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' log limit value='1/m' audit accept"
; n) q. o" O; A- i; Y
( R; e! u; v+ @$ \9 g% G
" b6 }; t% q" I* |
7 C3 w# `4 l( N& i0 B7、允许172.16.1.0网段中的主机访问ftp服务:
7 O% u' q* o% T; c
5 K/ a# D0 R! ?" j# rfirewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.0/24' service name='ftp' accept"- N$ h2 D+ |0 G* Z6 W) ]8 n4 V  }
7 o, S; ~7 i: U5 c& s/ ^) Q" H
& ]5 A$ p8 S: |2 q/ i

0 J1 q$ [' |$ X& j0 T8、将来自172.16.1.0/24网段访问本地8080端口的流量转发到172.16.1.208主机的80端口(源地址转换):8 p7 z* ~: c! Z5 E

- m: o, n0 P0 E2 X6 Q! Zfirewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.0/24' forward-port port='8080' protocol='tcp' to-port='80' to-addr='172.16.1.208'"
: |  B' \. y: L/ y2 ]5 S* J/ k( L8 I7 l5 x* E2 p/ l, ?# ~" N
# 伪装(需要开启masquerade),将来自局域网172.16.1.0/24网段访问外网的流量映射为网络出口公网IP,即修改源IP地址。
/ M* O  P( u; G( G& k
% {0 t; i1 s* _. J& ?/ Y7 s  B- d# r" U( w" c7 \) j

4 o5 o; Q9 X& ]! a$ _9、禁止172.16.1.10访问https服务,并返回错误信息:
1 R7 S3 B# ]( t9 i5 z7 i  N1 D: |" v1 [! Y: e/ j1 v. W2 d( A
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='https' reject"* [1 @- ?/ Z6 }; z% ?8 K
; P2 b- t1 Z3 |
# 如果是drop的话是直接丢弃,会返回timeout(连接超时)。
$ Q+ P& o. z+ S7 m4 e0 x5 j- j; ^& s" t" Q# x; c8 p! N+ X

. L6 \; R* |: L+ }$ i- `6 D3 C1 R" V; ^2 `4 k& }9 A! v
10、每分钟允许2个新连接访问ftp服务:
- H9 c* w9 F. u' A" p/ W0 [% E. O5 I: h% Z4 I/ A, a0 Q# T+ J5 D
firewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' limit value='2/m' accept"
, l( L1 w7 h" }4 g
; L0 R9 ~2 _- G; k6 s1 K
. v3 y3 P" H/ [  t2 o8 b& I/ `! F& T) w; {5 J+ V% Z/ T7 R$ L% i" Q
11、允许新的ipv4和ipv6连接ftp,并使用日志和审核,每分钟允许访问一次:
! v) X5 p7 Y1 G+ J1 e
# C: d; F9 w; k2 _# Kfirewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' log limit value='1/m' audit accept"$ `- w- D+ y9 d, D
. i1 G  H5 U9 M+ X% C* K- S
9 f8 P) y8 a* r) h0 V

/ m" ?% P+ c  N& K5 I$ B; T12、将来自172.16.1.0/24网段访问本机8080端口的流量转发到本机的80端口:# l3 C5 c6 X+ a* p6 M! c

' K4 A- {  i4 k# V2 A, O. P9 Mfirewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.0/24' forward-port port='8080' protocol=tcp to-port=80"
1 o! }/ R; R! j+ T% ]3 _; a
0 d* N; Y6 f5 {; ?: o) o$ ~# U9 z/ f, M& {4 z1 B3 G

" T" ]; l, H1 s5 W; V" `9 K13、允许一个IP(172.16.1.10)仅能通过指定端口(8080-8090)访问到目标(172.16.1.12):( ^3 M* Y. r/ K" {; c* ~7 ?

/ ]6 m5 H9 M+ o  Ffirewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' destination address='172.16.1.12/32' port port='8080-8090' protocol='tcp' accept"( t5 D8 h! t3 T
/ S/ E$ N* _' i6 ]) e

- [6 v; H% w7 A+ Z5 L3 i2 e$ t& G3 Y% G, z' B- v: F" Z: P. A
14、添加、删除 firewalld 服务可以访问的IP地址:
- w! _0 `& ?/ v0 l0 L5 ^" c5 M0 h' ?5 k+ [
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' port port='80' protocol='tcp' accept"( q$ B) D/ E. x% ]0 w0 D* v. @. E
1 G' |9 o: M4 F" Q5 K
# 允许172.16.1.10主机访问80端口。
2 X+ [( z2 c( u6 {3 Y, U1 e' `
" B: J) h7 ^* D8 afirewall-cmd --permanent --zone=public --remove-rich-rule="rule family='ipv4' source address='172.16.1.10' port port='80' protocol='tcp' accept"/ W1 I& _3 L$ c
" p( V9 a8 E% V. I) ~/ C1 D
# 移除172.16.1.10主机访问80端口的策略。, [3 k( |) Y8 j! [0 i
' |; d. O% y7 d& _" D

7 R  r+ ^: X5 K* S6 M
. R, |, i. o9 S: t# h1 c; N, u2.5、补充:
+ X' Q& `! g' K$ I  F) l9 A* a4 b: J/ I. J" y) N0 ^
1、地址转换问题:( P% u8 n4 @: k* `% v: D6 ?

# s4 s, s* n" [8 b% _, |; A(1)源地址转换,就是我们平常说的代理上网,应用场景就是代理内网用户上网。
6 H  V0 N  V$ ^1 \4 r9 y1 n4 }6 n4 R
(2)目的地址转换,就是我们常说的端口映射,应用场景是发布服务到外网。. G& D  Y" c  \
5 G1 l( N& [- A( R4 ?
(3)双向地址转换,就是先将数据包的目的地址转换后再转换源地址,应用场景是内网以公网ip访问内网的业务系统。, E0 S) M* a0 U+ ?
# w# J& m1 ]2 c  n
4 Q8 v; U: _9 |. O  m: m% k

. h' n# R( L2 |  [! x7 C7 N2、如何清除 firewalld 服务规则:: I+ b! J, i$ a

4 K! O% n6 I, W' _) |(1)如果防火墙配置了规则很多如果清空规则呢,firewalld默认没有命令来清空规则。但是我们可以通过编辑配置文件来清除规则。, H/ T4 ]+ ?; O3 M+ X9 H. E- J
' z  A  z, O6 K# _% F6 i. X6 _4 x
/etc/firewalld/zones/ 此处为配置生效后保存的配置文件,当用命令每次将新的配置写入到配置文件之中后,系统会自动的备份以
6 }5 r$ d7 n9 T5 Z: v5 E
' \. {# ~2 U7 u! k7 P' Z: q! ~. ^前的文件。如果是手动修改需要先对配置文件进行备份。
0 {8 ?9 Y1 P" h1 w6 p4 V
4 M7 S3 ]3 N0 |( n* r[root@centos-test ~]# ls /etc/firewalld/zones; D  u& w" F+ X1 r2 u) ^* m

7 {, ^$ h$ @4 A# r1 Y# V$ Qpublic.xml public.xml.old3 ?3 i4 q. I; P# R! ~2 H2 ~

/ G7 t& Q8 _, ]5 S# s+ v( Z; S5 [9 ]- p5 s2 D3 V0 [9 q, _$ m

6 A2 F3 W  X9 N/ ^" J/ `$ [3、使用默认模板的形式添加服务(用于定制服务端口):$ }, E# g% ~  n0 X

/ }, i4 ?! [& x(1)所有的默认规则都可以在 /usr/lib/firewalld/ 中找到:) B- x7 `' C4 R& m, L4 n  t; E# o* e
; h; G) p9 N) q0 [$ |+ M/ X+ B
[root@centos-test ~]# ls /usr/lib/firewalld/
. B* [) T6 m/ y4 _8 I4 {4 M* h% [+ L# D. P5 k  Y* |
helpers icmptypes ipsets services xmlschema zones0 R3 ~! I: W8 d0 z
0 e9 {3 R# O3 q! q

1 i, W, H5 O2 m; T
5 X1 G9 W  I$ {4 r4 M' I  |; n2 F(2)复制默认目录下的规则到配置目录下:
) R! E- x5 h7 G$ L8 ~8 H; d' g" P! c0 _( o/ z. }7 K' n. N) Q
[root@centos-test ~]# cp -a /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
- \! N/ V# |" U4 C: m1 S' i* n# o8 Z$ h( S6 U, b

+ s! P# `5 ?/ e% j6 p1 d# ]4 S9 m! t9 g- \" j; d0 S
(3)配置文件中包含了服务名,端口,还有服务的相关说明:
3 u: Z: O/ M5 B/ X) y- z
0 c8 I  M' e- f; N" |[root@centos-test ~]# cat /etc/firewalld/services/ftp.xml
% X  ?1 k7 H  S+ m" N( p
  a! H( t$ |3 [. p  B( v( f<?xml version="1.0" encoding="utf-8"?>
0 c. M* Z/ j5 G) R7 l4 W9 a9 ?" e* F- w+ e- S" O1 O9 Z
<service>
; Y5 ^2 G  F4 L1 a8 E* B2 h. v8 B; n7 z
<short>FTP</short>
. P. z0 w' j8 K
- O) X" u$ ^+ K% Y& @8 d2 o<description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You9 q0 p# e7 }% |  ]
& I$ X7 c6 [& s# a" L0 X) d# F. Q
need the vsftpd package installed for this option to be useful.</description> <port protocol="tcp" port="21"/>
; H0 Y9 B, ]6 Q6 p  F* g/ w5 {+ Y2 \5 l: Q9 }
<module name="nf_conntrack_ftp"/>
1 u+ W  R( m  a7 q4 }( i
& h5 ^8 V6 m% g6 b7 W$ i' j</service>  m8 F% g. G: F: G* K

  u. ~1 ]8 o1 W9 f" S: m
" U0 q6 a& J2 o6 f' G- P2 I3 J& n" W5 w: `  k7 S% Q
(4)在 /etc/firewalld/zones/public.xml 中增加一行 <service name="ftp"/>:  j) o: `4 g, g
, Y/ E; u6 [, g; T7 ?  V  m( l; U
[root@centos-test ~]# vim /etc/firewalld/zones/public.xml
7 M1 K9 @5 h- C! M0 [# y: H/ I
<?xml version="1.0" encoding="utf-8"?>
- u. R# ]( L2 r5 j! [& ^1 y* \
& v! K/ M0 K4 x* x( `, E; A$ K<zone>& t" N- }, F# t" Z
9 @+ w9 F  O, i: a) q, j% H
<short>Public</short>/ x( |' z% G3 }1 f( o
3 n7 Q: r* s( l9 l# w' R
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming conn: Q3 o/ G& p+ \, l) D

" d0 U9 C: N8 K8 kections are accepted.</description>
' ^0 `* G$ L6 ?# a' S: v( Y( W8 Y$ L3 V% k
<service name="ssh"/>
) o# k" {5 H6 J" e3 L& b; m& V; r4 ]9 L
<service name="dhcpv6-client"/>9 X- u: N; d- K$ x# T& G! o

5 |2 Z. L, v5 m<service name="ftp"/>
9 s0 u8 |& x$ k( `, B8 M2 a- i! y9 v. Y
</zone>( z8 v: i9 T. [

: H7 p# O2 N/ S4 h& g& x
1 |  `& F8 x) z4 E4 L9 r
. a2 m0 _7 O/ V5 P( X$ }; d(5)重载firewalld:
5 H/ F$ t( N9 A+ b0 X" Q5 _
! W) f' a7 \3 a5 k$ X3 A3 J[root@centos-test ~]# firewall-cmd --reload
0 L( `) v% ^* D+ \! }4 O- m7 r  m, x7 _7 |
' ^+ N  ~, p: M" ~

" g- e- @% r" q+ e(6)查看服务:
  M- X' ?( e! [- Q5 L' z7 R9 G* O3 h2 [! K7 @  Y7 Y
[root@centos-test ~]# firewall-cmd --zone=public --list-service
% h6 t4 c/ p1 X0 x
9 q& J1 E9 \, U) p- hssh dhcpv6-client ftp8 f' l5 _/ D4 ?, N/ E/ ^, c

' t' r+ C, r1 Y* D6 A6 h+ ]* }

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-12-20 17:40:44 | 显示全部楼层
, i9 N. w) A* |; ^
<?xml version="1.0" encoding="utf-8"?>% k. Z2 ~$ |2 t7 o
<zone>( D: |9 G4 A" K0 w
  <short>Public</short>
8 w" [  F- I9 x2 s  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>/ ]+ _# a" ]) I. d
  <service name="ssh"/>
: P2 K4 b, ?1 I" s* h- ^  <service name="dhcpv6-client"/>3 ~' i1 L; A0 N
  <service name="http"/>% `' x5 C" R( @" Q2 P, R) h' l
  <port protocol="tcp" port="80"/>
! f, k1 g2 \; ]. @8 U  <port protocol="tcp" port="8080"/>
* F  \: l; [8 J) L4 }3 H' {  <forward-port to-port="3366" protocol="tcp" port="3306"/>2 W9 _# q8 ~$ p0 J" T. r
  <forward-port to-addr="192.168.22.55" to-port="8088" protocol="tcp" port="8080"/>7 E" ]3 |3 {0 ?9 y9 a  w* [
</zone>
7 o/ D' L& J6 j9 z, j) y

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-12-20 17:41:20 | 显示全部楼层
firewall-cmd --zone=public --list-forward-ports
7 o7 |6 w! F* `. S0 S# N& Yport=8080:proto=tcp:toport=8088:toaddr=192.168.22.553 h/ K. w( b, b. Z; u% U) B) g% e
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:59 , Processed in 0.021685 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表