找回密码
 注册
查看: 584|回复: 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
6 V! S1 b; c5 Npublic.xml      public.xml.old  
* ]3 S, c# Q/ {[root@example-dn-01 ~]# vim /etc/firewalld/zones/public.xml4 Y* K5 `: i, A5 E1 q0 I# l0 \( d  l
删除需要删除的规则8 @  P& Z6 E( O$ }% V+ L: k5 a; V" G

3 o, ]$ b1 c+ r; i0 {1 U重启firewalld-cmd 服务  }& {& P: F- _# G8 {# r$ c" Y1 E
1 l' S  G3 S' o( n

5 t+ j! Q5 z5 g5 d7 f1 `

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-12-20 15:00:14 | 显示全部楼层
或者
+ k  J# d0 O# J1 e5 {7 Afirewall-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 响应:
9 T/ Y( A2 |% `# t7 A, U) N* F
) d2 M) a: e! q9 a[root@centos-test ~]# firewall-cmd --zone=public --query-rich-rule="rule protocol value='icmp' drop"
. q8 \: q; c5 ]6 S2 z% {! W+ J! j- O( j; K% E% E4 e
[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule protocol value='icmp' drop": S  T; ?/ q8 H6 ?

; ]' ]$ `! f  p( Y6 f6 ?4 c  u[root@centos-test ~]# firewall-cmd --permanent --zone=public --remove-rich-rule="rule protocol value='icmp' drop"
8 k$ ]: k( g+ i( M( ^, V, s3 p. [" y5 Z+ v
[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' protocol value='icmp' accept"0 y8 V' t6 r! e* S: }

* r9 w& [$ L/ l& p" a6 b2 R; ?9 z# 允许172.16.1.10主机ping。/ X( o: [# z/ Y' k/ O
9 ^( I* C. @) S$ p" M) V
  W5 c% z) |! k, j0 g) S8 R

( P: [4 k' U2 r* f$ V2、添加或拒绝某个IP访问ssh端口:% T! L5 X  ?( J/ ^4 K
9 n( |6 Y- \, }* x; S
[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' accept"4 @  L8 a% H# X& i1 }

$ B+ x$ l/ `# t% t[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"( Z9 ]/ b6 V  q) F; v+ P
% u* N' e% t5 s! ~) a
# 允许172.16.1.0/24网段的主机访问22端口。
5 N" n' N$ u( {; Z# X; p
1 V3 L) d7 i. X+ n% ^$ R: Q: ~9 n[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' reject"# |, q, O0 B% O3 ]# L5 R# L" \

- @5 M, s. x% W8 G, z[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' drop"
* T1 m9 a, y) m& I5 Z& ^- q8 m% c
# reject 和 drop 的效果是一样的。6 N! q- D+ s# v

# X* s& `" L1 W8 S. t* V4 ~- v6 ^7 ~. z! m0 v5 d- r, e' B0 m
8 T* U5 q  {. ^% J) s! |
3、列出所有多语言规则:7 o/ L/ r6 [8 T0 g8 ^

# }  [2 O/ F+ w" A) ]firewall-cmd --zone=public --list-rich-rules
1 K5 J* H2 k1 }
. S4 O! v! i: b; d, @' _
% D6 @* A2 T0 s& ^$ p) k; ^, o7 Q
3 E, e! u3 T7 X0 h4 k. |# j. E4、允许172.16.1.10主机所有连接:9 }8 F; `4 v" p" c. r! j
* [1 W" m% k# O) p9 x3 s5 T# W
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' accept"
! v% }, t8 y2 A7 @, N. r' \& D  V  L0 |  u$ B

8 @/ H2 J" a0 n9 s# d) w3 o& x! u  h# x! X3 H# i, {
5、每分钟允许2个新连接访问ftp服务:  m- f  n* _9 r
; u7 [1 v1 X% v: M( w/ N* R# u. i
firewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' limit value='2/m' accept"
5 s( z8 C# \; }
: E# s7 d) l) m1 |, g' E/ j- O$ f/ G; x3 L; [/ d; D* x

5 b; w# S. G' H& t- C6、同意新的 IPv4 和 IPv6 连接 FTP,并使用审核每分钟登录一次:1 r4 n/ d% x2 }9 v$ N
+ G" u% I: W0 }% B
firewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' log limit value='1/m' audit accept"
" b. G$ o% j( s7 Z; Q% ?. k( B7 H+ B8 e8 ?% `
( R! M: @% p* H) g4 `) ]2 R+ c% a

6 b8 m; e# M6 z7、允许172.16.1.0网段中的主机访问ftp服务:( [( C' e& Z) U! w$ j) T% ~
% g) l6 c  m5 _; j5 ]- w
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.0/24' service name='ftp' accept"
$ T; b5 o" ?. ~! R& w
- {; B& s, T+ r  I) ]9 P( |& V2 N! @* P

8 ~  R) a0 o# {1 z8 G9 i; b  w3 [8、将来自172.16.1.0/24网段访问本地8080端口的流量转发到172.16.1.208主机的80端口(源地址转换):
. Z/ h8 [3 K5 m/ e: ?$ h' _
; A& s4 g2 t- c/ e  b2 D# 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' to-addr='172.16.1.208'"  W. ~8 N( W0 Y, j/ G

! V6 a# f8 E  z# 伪装(需要开启masquerade),将来自局域网172.16.1.0/24网段访问外网的流量映射为网络出口公网IP,即修改源IP地址。
  U7 s( Y- L4 S$ u
8 w# p" j' Q! _( |& |; z' _
# F7 h6 p  {4 r" u" `" v4 _' K% ~( v1 @1 i# L8 O) g
9、禁止172.16.1.10访问https服务,并返回错误信息:
7 y4 D# q: G% `/ K- b; z
. y  Y' ]. P- a+ A2 E' Nfirewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='https' reject"
  K* R! V$ z; C/ t, q4 O/ r
( b1 g9 d1 ~! B( E0 s# 如果是drop的话是直接丢弃,会返回timeout(连接超时)。
( \! }0 i' e! n; B: _  |1 q
6 h& A# o& O8 R5 v$ V9 G& P
( v* z6 ~9 M8 Z
5 [: \& C* L* q" H" z( @1 N10、每分钟允许2个新连接访问ftp服务:
6 w7 s" u/ E! p. u+ _5 h8 y" a: U" V# D+ u- W
firewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' limit value='2/m' accept"
( q$ c8 |- k1 p) M& p' ^: o! t/ e; I3 ^. \5 S* M# n
% n2 A! h$ `6 _7 q
, `9 N! o* X; U/ X; D& d; E
11、允许新的ipv4和ipv6连接ftp,并使用日志和审核,每分钟允许访问一次:
6 Y2 h8 Z1 O! W( d
* c0 |& W; z4 _6 afirewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' log limit value='1/m' audit accept"' b8 }1 m# E! H$ _5 y

1 B. D  ^/ l' H4 T, `
, w4 L( U8 ~# W8 ^( A6 e% B( H' P. y, }. R5 R6 O& L# E; F
12、将来自172.16.1.0/24网段访问本机8080端口的流量转发到本机的80端口:% J+ w3 a" H3 `" a. A5 f* T
# P  D$ {) Q( r7 b0 B
firewall-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"
$ G2 u% U' _4 d* E* k; I% V& n: j$ \6 M& Y

+ ]8 G5 b" }6 N5 z* l# e& Q3 Y! F5 S. b! S% V$ W+ e9 Q
13、允许一个IP(172.16.1.10)仅能通过指定端口(8080-8090)访问到目标(172.16.1.12):3 k$ d2 T# o5 O+ O' z- f
0 H. W2 H* q' {4 j1 R9 o
firewall-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"
7 N- Z1 ~* Z+ l6 P7 `
$ k( E: e/ K$ W& R& H, K" P; P: }( |. @* U, v2 R" w
8 `- k6 T. k, Q. u- l2 v% z% c
14、添加、删除 firewalld 服务可以访问的IP地址:( @' U. [1 Q& x

$ H" o1 J+ V6 a7 Qfirewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' port port='80' protocol='tcp' accept") a! m/ m) o3 d2 i! G0 A

3 S6 n3 w9 e# @7 q) N+ y/ A# 允许172.16.1.10主机访问80端口。
" N" @. D. p  }+ O9 x, T  ~  l- s2 u; D2 o1 ~: r
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family='ipv4' source address='172.16.1.10' port port='80' protocol='tcp' accept"0 G1 j2 |  c/ {4 b; i) s
) ?' |7 p& n/ b, k# I8 q3 G
# 移除172.16.1.10主机访问80端口的策略。' p4 Z; k- n9 r5 p1 \

) F. P+ t2 M9 Y
# ?% ]2 `2 b* o$ \: Y* J6 |6 @" I' M! x7 u" f, a8 V) D
2.5、补充:
; F/ J+ K( a0 e& a  k% q6 b
8 k8 K+ T  Y/ Q1、地址转换问题:
7 |4 `( T- K  d3 W' i7 v
- U& |7 `: n' ]- Y' a- C0 |" F(1)源地址转换,就是我们平常说的代理上网,应用场景就是代理内网用户上网。
* ~& E# e. H9 D9 |" h
' D" g3 O( }7 N! E& Z& z) _" }(2)目的地址转换,就是我们常说的端口映射,应用场景是发布服务到外网。
; S- Y" u% N6 f8 C0 t% P2 [# Q. z( s. Q" m  M$ g
(3)双向地址转换,就是先将数据包的目的地址转换后再转换源地址,应用场景是内网以公网ip访问内网的业务系统。
5 F0 ^& Z  f1 u: H4 K' u
- D- a/ c4 i% E) S  B+ e2 {' ?( `' \9 W5 f

/ O* d3 P2 r7 X/ H2 R& ^2、如何清除 firewalld 服务规则:1 R8 X. C' [/ v! {# ?
2 A0 l* }! f  e6 f; f
(1)如果防火墙配置了规则很多如果清空规则呢,firewalld默认没有命令来清空规则。但是我们可以通过编辑配置文件来清除规则。8 M  |: x1 L# U) t  z

9 a1 V# ?4 }8 }( g3 A9 ~3 e( n/etc/firewalld/zones/ 此处为配置生效后保存的配置文件,当用命令每次将新的配置写入到配置文件之中后,系统会自动的备份以5 v& ^; R+ b" i: K7 `- ?/ r
5 R- `, s  n+ L! B
前的文件。如果是手动修改需要先对配置文件进行备份。
2 a' C' @! U; a" M% A: d7 Q2 R- P" `" c, m$ Y
[root@centos-test ~]# ls /etc/firewalld/zones
4 {: S, M8 @6 O+ @& W+ w  w; E. b$ o6 ?) T  ~& K
public.xml public.xml.old
, }7 \! x3 J6 y  ~$ v
" Z, _8 h, B2 M9 T: }) T! J7 J$ Y# S

4 V) u5 r5 }( s' w+ t4 Z/ b3、使用默认模板的形式添加服务(用于定制服务端口):
0 s4 _+ [: U% L* h& _- d) `) d4 }$ J6 i3 s4 t
(1)所有的默认规则都可以在 /usr/lib/firewalld/ 中找到:0 \. A' j: ]) u) B. {. q* G* h
: }& k! P; C; s1 k
[root@centos-test ~]# ls /usr/lib/firewalld/
9 z- {1 I  t$ @: \4 ~. i, g1 A  W6 d# \0 |' L6 V4 L
helpers icmptypes ipsets services xmlschema zones
- k1 u! H9 e4 P0 r4 x7 ^! o0 O$ V4 {' ]7 S% e1 F
7 K  d! j7 g& n+ E6 c5 j& |/ J

; O' l" P  L6 t3 Y) \8 W(2)复制默认目录下的规则到配置目录下:. F- J) m$ U$ Z. Q
( D: _# x, j" P8 t9 o; _
[root@centos-test ~]# cp -a /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/. e! D- R0 B4 x# b+ x7 A4 ?: W2 _
$ N0 B& u7 a7 {2 H
, [" Q/ k% r# h# A
' Y; n) [$ ~1 g) o
(3)配置文件中包含了服务名,端口,还有服务的相关说明:
( j6 ?$ o+ q8 t: s6 X+ f" O' b7 [! X
' P, j/ z$ P0 O[root@centos-test ~]# cat /etc/firewalld/services/ftp.xml6 W+ H" K: {  D6 B

6 G$ ^: s! }: H  U( S<?xml version="1.0" encoding="utf-8"?>
! ^6 s) m+ i0 {% }
% D4 }& G- f$ Q<service>& s" N5 ]: i+ K/ `

- |# [, z% l8 V, Z0 U* t$ L6 B<short>FTP</short>
! Y% m/ p1 F3 K/ H2 N; w8 j  j$ d( v7 q( i
<description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You
' w% `2 x. [! g7 \; c8 o) v, Z1 i; e; T+ O- ^  p; R' V
need the vsftpd package installed for this option to be useful.</description> <port protocol="tcp" port="21"/>2 B' w& ]7 i2 _8 H

& y0 L- B% h7 G; z9 X<module name="nf_conntrack_ftp"/>% n: e" a# f; x2 K
% _. Q. m! y, M$ |  d# \
</service>. I3 v% ?  ?7 @  u! {4 ~& R: ~" b6 t3 @8 Z0 }
0 K$ C) a" m+ Y6 Z
4 H: r/ Y# U9 _- d. Y1 U. A' I
6 i+ j8 \' Q" q, N
(4)在 /etc/firewalld/zones/public.xml 中增加一行 <service name="ftp"/>:% d: f0 R8 W7 y, m$ t' P0 N

, R5 a. Y( d2 k! ?" u& |[root@centos-test ~]# vim /etc/firewalld/zones/public.xml
1 A/ a5 r4 n  Q
5 D. {3 a! O" I4 k9 W% Q/ W<?xml version="1.0" encoding="utf-8"?>
2 @  `) |% H* h, U2 g
2 u: j9 k, f  V! z* Y<zone>, |: U2 d- m6 M$ I9 k
, A4 }, g0 R8 M2 T3 k
<short>Public</short>0 }; T9 f; {. Z# t

/ X2 X( o+ b8 j& Z8 V) h<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming conn
' G; i% \* M: `- e, A# w" l# H% L5 w* ^0 {5 ~2 Y' W, b% R
ections are accepted.</description>
' ]- j' F  K! D( M1 x
8 I% ^2 ?9 `( ]% T4 o<service name="ssh"/>3 o1 u) r' ?; `4 ~& t4 e

5 X9 D1 t/ ^) _, d' s<service name="dhcpv6-client"/>( ?, y% R4 L' O" _6 [4 X: |
- p0 {$ m) l, G2 E( O& D
<service name="ftp"/>
8 y+ F9 w$ Y/ ?! q! d6 I5 ]/ M+ e/ O' q0 |
</zone>
0 \) c$ @; U- C4 I8 L' k: z% Z  q' w! m2 _$ J) @4 U. [. }3 {

( ?8 h% x. s% a) U: Y4 f; |- }
, M9 a: U. P9 \0 _  E5 p(5)重载firewalld:
, z8 C0 {6 m- t6 F5 X
5 g: @+ e, j( c7 G& Z, I# e2 `[root@centos-test ~]# firewall-cmd --reload
9 B, S' g7 N$ U, Y- X3 j$ h& t0 Y3 l! R! b

+ k5 R& [2 c2 N' O6 T) \4 T! m: ^* }+ x; w% t1 D5 |
(6)查看服务:' E7 t7 _" v2 l$ Q+ [- Y

4 G0 [9 U' [9 W[root@centos-test ~]# firewall-cmd --zone=public --list-service
6 c+ |6 M) F0 t$ g3 Q: A; O4 s
5 a! u' c' r  \1 {ssh dhcpv6-client ftp
  g% K* R# r* e& e+ x4 m
1 |. ]+ v! \' P, }

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-12-20 17:40:44 | 显示全部楼层

- X7 w5 q  S0 T- F5 q<?xml version="1.0" encoding="utf-8"?>
3 n% ^" @/ b; f6 U) Q- R<zone>' S, e0 |  A) w6 n8 X
  <short>Public</short>
( {; [* q! i& K( h  <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>$ i* _! E: ^4 M4 D) B' W
  <service name="ssh"/>& p0 }1 l: \- q) G
  <service name="dhcpv6-client"/>
2 E# f1 C) d3 z- Q  <service name="http"/>8 p( i) q& \) v. F& n3 A" r2 ]
  <port protocol="tcp" port="80"/>9 |6 ~" S/ P* m- o
  <port protocol="tcp" port="8080"/>
% e! B+ U" `' L) O2 Y4 ~  <forward-port to-port="3366" protocol="tcp" port="3306"/>8 h' B4 x, ?- r$ _" A6 h2 p  [6 I: }
  <forward-port to-addr="192.168.22.55" to-port="8088" protocol="tcp" port="8080"/>
( H1 h0 e1 |+ s</zone>
1 U$ @! V  s4 w8 D9 U6 m2 V" R- a

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-12-20 17:41:20 | 显示全部楼层
firewall-cmd --zone=public --list-forward-ports 7 N& n- v! ]6 D6 C$ O
port=8080:proto=tcp:toport=8088:toaddr=192.168.22.55) Y; t/ p& c3 t3 f; t5 u# U6 R- C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 04:09 , Processed in 0.018284 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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