将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

 找回密码
 开始注册
查看: 51|回复: 4
收起左侧

删除firewalld的防火墙规则

[复制链接]
发表于 2022-12-20 15:00:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?开始注册

x
[root@example-dn-01 ~]# vim /etc/firewalld/zones/public.xml$ [* v* A. S: B3 ]- w# `
public.xml      public.xml.old  
! U  `, m' o1 z9 w: E[root@example-dn-01 ~]# vim /etc/firewalld/zones/public.xml
$ E( k* r" ]1 [" D4 ?3 C删除需要删除的规则# U4 u; U% {/ b) a8 z( w: g
: `  x- Z/ @2 b5 `% J& d+ y* n3 k
重启firewalld-cmd 服务
$ o* L" |; T" |" ?, Z7 c, o* V/ Z% ?: G: p7 }$ q* g- H- S7 D" ^! b
$ ^+ g' ?# a( N6 I+ q3 Q
 楼主| 发表于 2022-12-20 15:00:14 | 显示全部楼层
或者
: c. c# m. C: ^1 pfirewall-cmd  --zone=public --remove-rich-rule="rule family=ipv4 source address="192.168.100.71" port port="9092" protocol="tcp" accept"    删除该条策略
 楼主| 发表于 2022-12-20 16:11:18 | 显示全部楼层
1、查询、禁用、删除、自定义 firewalld 服务的 ping 响应:9 ?/ L% f4 ]: T$ ^' {
. j2 D9 V/ K2 _: O- x
[root@centos-test ~]# firewall-cmd --zone=public --query-rich-rule="rule protocol value='icmp' drop"8 l3 @6 v0 v8 ^, V4 u5 d

* _+ e9 L! D; q' {: @  l[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule protocol value='icmp' drop"/ o' P% @; @' H1 c& k+ ?
& v: l5 N  W7 D2 O
[root@centos-test ~]# firewall-cmd --permanent --zone=public --remove-rich-rule="rule protocol value='icmp' drop"
2 A  z5 T, S/ E: h( O' V
2 P- c6 L6 n! \[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' protocol value='icmp' accept"1 [. b6 E+ S( W
9 Q0 P. I6 h6 k* L* E: G, |
# 允许172.16.1.10主机ping。5 t, D1 N( m: z3 B2 w

7 O+ {) `. P4 U. L2 E/ Y2 f7 z0 j) A# {& l1 Z- |5 J% n7 O& k/ ^

9 O+ n$ b- s4 E8 H- G3 q2、添加或拒绝某个IP访问ssh端口:
4 @0 q- |+ m9 a7 r/ u, L2 a. ^$ _) ^* b( t
[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' accept"" n% T% q5 _; |+ S: c" I; _

/ x: K% x% p' I9 t9 v7 r- O[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"
* H* Q; V2 X' @5 j4 D/ g5 R  H4 _; W4 o' T
# 允许172.16.1.0/24网段的主机访问22端口。( w7 H( \6 _" k  ^& {* X6 ?% e
- ~0 l( A7 i5 @: P; A
[root@centos-test ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='ssh' reject"3 I& m) @6 E* M$ O& }1 Y. Y

. d/ U8 y% h* 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"3 f% o0 I: d3 Q0 H" m$ h+ W

, X3 E$ N$ P/ g6 T# reject 和 drop 的效果是一样的。
8 `( ]2 C) v2 T& \% T3 T% u) s
2 f) `: J2 T6 B/ R
, d7 R8 @' \5 G
5 X, U& ~' |: \" ~0 e+ s6 |$ _4 i% v3、列出所有多语言规则:8 @* B. A  l* f4 I  \8 z
/ ~0 k/ {4 G* h5 P2 p
firewall-cmd --zone=public --list-rich-rules7 s$ {2 Q. P7 f) A

# D2 I2 C& L; ]# A4 [. m5 H0 t, U6 ]1 I9 p: i
! C7 s, s. P. B- k
4、允许172.16.1.10主机所有连接:( z. t; `( G, o% P) z- x7 C1 I

/ z+ l; Z7 k3 `8 Jfirewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' accept"2 ]+ X7 Q( v7 I& ]" L* K% B7 h

& g, |2 \- f+ U$ @% x
  W; M) H4 N& E6 Z  O! _4 _+ X5 k" @! _8 Z  }( r! c, [- F3 G
5、每分钟允许2个新连接访问ftp服务:; k1 ?" i- Q* \# X$ H

: J. z: F) n" cfirewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' limit value='2/m' accept"2 k' n; d4 Z2 t+ J) ]0 {: I
4 \  N/ J5 H; U+ c1 h! ?/ Q' y$ }

* ?% |# l9 g# J; Z4 s. k' N7 ]  m+ p8 x) X3 T3 _5 u
6、同意新的 IPv4 和 IPv6 连接 FTP,并使用审核每分钟登录一次:
5 a$ L& z: c- W: S! ]
$ t3 r2 G2 Y3 g3 R/ Wfirewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' log limit value='1/m' audit accept"; y5 k* [5 X2 D3 J5 [( I4 d3 i! u: c

- a! |. G5 w8 E8 `* ~  P$ ^+ Y! F! s! q: m8 D
7 P) x# U1 u5 V4 f: u
7、允许172.16.1.0网段中的主机访问ftp服务:5 Y- k/ B6 q1 }- E4 o9 P
- G$ R; K7 k6 m4 P  P. n
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.0/24' service name='ftp' accept"
1 S8 X) Y0 d! n  P) t
/ ]% J& V! n7 G; a  b, ^3 S0 L6 B- q

- s+ I' o# W: j- K! Y- \6 d% B$ _& K8、将来自172.16.1.0/24网段访问本地8080端口的流量转发到172.16.1.208主机的80端口(源地址转换):; u( b/ d0 x% b1 x" F/ y$ @6 [9 o9 B
( x% G  {- n1 t
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' to-addr='172.16.1.208'"
! g5 z8 e' N8 I) e+ R! S, y2 H! \
" m; h: V2 D8 O" f" P0 l5 V# 伪装(需要开启masquerade),将来自局域网172.16.1.0/24网段访问外网的流量映射为网络出口公网IP,即修改源IP地址。
1 q  |2 u2 w8 w8 \6 J7 M8 Y
$ U: j; y8 C2 N% \& f' w; |; [4 I8 u
7 a/ G7 B$ C6 s! P; `
, R1 k8 K. ?5 s$ \& G1 O! Y9、禁止172.16.1.10访问https服务,并返回错误信息:
+ p) m& Y8 p: A6 }$ T1 Q- \* Q& w4 o, i8 E7 s! I- K4 M
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' service name='https' reject"
! k, x- E% m, \
/ j3 c7 j, y- q, l7 ]# 如果是drop的话是直接丢弃,会返回timeout(连接超时)。" a' {( ]8 k% x: t! K$ {

+ m+ M6 V, e% P. Y5 e! F+ M# V- J& f) @9 L& A) P
. Y' r4 T5 N5 E# m% R* q& x
10、每分钟允许2个新连接访问ftp服务:% @7 B2 I" G0 u4 N4 q* {

( E. b6 Z) B  J1 L1 |firewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' limit value='2/m' accept"6 H/ a- m& c3 s( B5 w- }9 y5 U

. c1 C+ P' o' Q/ _
) k8 \( G7 m' Z" c" K* j+ M
7 }4 @2 k( h5 g8 w: x* a11、允许新的ipv4和ipv6连接ftp,并使用日志和审核,每分钟允许访问一次:
# ^+ F* b2 Z1 I/ T+ N; C$ n& S- n
9 z% J9 j9 s; l, U9 E: [8 jfirewall-cmd --permanent --zone=public --add-rich-rule="rule service name='ftp' log limit value='1/m' audit accept"
) ?; e' T! y' V0 k' @+ y
+ v$ C( r$ r+ e3 Z% g0 q9 z+ s4 U0 m- E& k: ?6 I* g& k5 q; X
, L! N0 T5 v! M5 w
12、将来自172.16.1.0/24网段访问本机8080端口的流量转发到本机的80端口:# s8 y& I$ R3 l" V  l* J. h
6 O0 y% y" b3 L( [" g  q* t. Y) p
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"% V4 t3 U. N( K+ k  O5 }

8 A9 }  q, K. G; @+ [' t" ?( E& y4 q/ n

. V' z$ I0 a+ w! h13、允许一个IP(172.16.1.10)仅能通过指定端口(8080-8090)访问到目标(172.16.1.12):
6 T3 S- W* E$ W; g' K0 T: ]3 Q- F- h# D9 @
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"
; e. h1 N5 a$ c. Q5 f  N9 _  J8 [; z% e/ R# V8 s9 w' _$ _
* I" J4 S# L3 @- ~; F; R) b6 Y/ R2 A
0 o* P# d& z1 R3 Y  V4 t
14、添加、删除 firewalld 服务可以访问的IP地址:+ L. x7 T/ k: V' P( ]' V$ K
) F# b7 ]9 k9 `9 N
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='172.16.1.10' port port='80' protocol='tcp' accept"
5 a4 {, V8 v, M( s( y% c; [( `4 H: ^' c1 ~- l7 Y, f
# 允许172.16.1.10主机访问80端口。
! f1 Y& ^1 H/ j* A' r4 d! ^( R  X
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family='ipv4' source address='172.16.1.10' port port='80' protocol='tcp' accept"
' k  q8 t; T6 H1 `! z' H: P+ U* p5 V
# 移除172.16.1.10主机访问80端口的策略。
! X* D9 O$ b1 d7 g8 |1 X  K9 u( O' j6 o- `( z; D/ l
4 U/ l  K% ?. A  w" L
0 B4 M  W$ _) \: N4 O# U* A$ _, m* O
2.5、补充:
2 b: j! _  h/ k# i+ m  d. Y1 ]; [. _& {+ ^9 M9 E
1、地址转换问题:* Z# j$ u; E1 T+ y5 t/ b

* N' I0 L$ r; M# k(1)源地址转换,就是我们平常说的代理上网,应用场景就是代理内网用户上网。
( M- b0 }+ J  ]* A2 [* Z
2 I' h8 \& v% P(2)目的地址转换,就是我们常说的端口映射,应用场景是发布服务到外网。$ N. T6 C7 ?3 ]+ v7 r, Q

: H, T9 m0 A. b) x(3)双向地址转换,就是先将数据包的目的地址转换后再转换源地址,应用场景是内网以公网ip访问内网的业务系统。6 s3 Z$ @  M& U# p% V
- g) N& S! d9 A

4 i6 n1 Z8 F) A% ~4 _/ {9 J" e* R' W1 T/ l
2、如何清除 firewalld 服务规则:* ]; ~- ^( b8 [
, q( h! \. M8 ~+ S' h( d" J
(1)如果防火墙配置了规则很多如果清空规则呢,firewalld默认没有命令来清空规则。但是我们可以通过编辑配置文件来清除规则。# K7 k/ [2 a5 i/ t* J/ A
- U, n- G% c. m8 T: @
/etc/firewalld/zones/ 此处为配置生效后保存的配置文件,当用命令每次将新的配置写入到配置文件之中后,系统会自动的备份以# c" {- y% g- \8 z" [9 U+ j

; K; {: ^  g2 g3 m& B前的文件。如果是手动修改需要先对配置文件进行备份。* Z( P! A6 k+ b9 n
9 e2 I& z8 U; k0 A
[root@centos-test ~]# ls /etc/firewalld/zones. P& v  S' G- }7 S' \

+ Q. O, v2 G2 K7 H( Q# k1 apublic.xml public.xml.old
9 A" Y( t2 y1 M& y  ^/ w& v2 J- a8 O1 T" t: F/ D: J1 S

0 x4 X2 h, J  \+ t# `6 g' q/ u* r) \1 E, v( H2 V
3、使用默认模板的形式添加服务(用于定制服务端口):
) |: ^* }# k' h$ z
$ m# \* _9 v6 \0 f' W& _/ @  y4 q(1)所有的默认规则都可以在 /usr/lib/firewalld/ 中找到:! ]7 T5 E8 d0 k

' S0 I! Q2 e$ v/ @. G[root@centos-test ~]# ls /usr/lib/firewalld// J+ G* _; x6 R% q

; J, [$ s: m* i( f( Bhelpers icmptypes ipsets services xmlschema zones) G7 R1 H8 w0 O
. L+ ]! c- J5 F* I$ n( ?
, r  a# K& l6 i+ Q

0 P( f1 h3 z1 W# u8 w- j  g% d(2)复制默认目录下的规则到配置目录下:
$ `/ V1 C5 u( v: D6 p! I* v# @& V* x3 N; t+ F# e
[root@centos-test ~]# cp -a /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/5 ~  ^  ~( z8 C

( j5 |) ]: n; l  U1 K( g
+ E0 h$ ^( |( O5 s$ E7 R9 ]( f% I1 U4 w2 L
(3)配置文件中包含了服务名,端口,还有服务的相关说明:7 L6 x. `2 h1 J- b5 e
3 S: Z6 M0 r* V8 H2 d2 ?3 c1 `
[root@centos-test ~]# cat /etc/firewalld/services/ftp.xml6 L& i3 Z; w2 I- D) z$ t6 ~- j8 B

. p9 |  m9 P5 @) G1 e% D6 L7 b# ^1 }<?xml version="1.0" encoding="utf-8"?>
' {  M1 H) x/ Z) O- C6 J. |# H# ^4 q. L- k' a
<service>
  t- G) h- z$ T% r
2 h( f6 \' V  C; ~9 b; p<short>FTP</short>
5 n6 u, R6 z7 c5 w: ~" L" _) l5 a+ U* b+ ]" P% {
<description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You" J5 |9 S" j' q. z) r
. j# R; \' m5 X# C
need the vsftpd package installed for this option to be useful.</description> <port protocol="tcp" port="21"/>- l$ [9 t0 c% w5 a* |4 q5 l$ M

8 d1 {1 e. _  C  `# x9 y<module name="nf_conntrack_ftp"/>
; g& p4 n  z) W* i6 H  c& h7 c# h9 s8 F# ~; Z# l
</service>
6 |" x+ @" m2 g) I% R) u* q  E2 q8 `/ O
1 L7 J$ Z+ j7 X4 y& b9 h
* t5 Q) n+ E1 Z2 |0 q, {. o- i; J, z( R0 P8 i- I, N% \4 h# G; u
(4)在 /etc/firewalld/zones/public.xml 中增加一行 <service name="ftp"/>:
) \# J" Z7 L  d* d6 U- q* U' V( i+ n+ A# L# w; k. I6 Y7 X( Z0 S
[root@centos-test ~]# vim /etc/firewalld/zones/public.xml0 a7 v* ?# H- ?6 ~& G
, W2 D. A/ n  Z: ~( ~
<?xml version="1.0" encoding="utf-8"?>0 y# @2 y6 C6 }' y7 x
9 z$ o8 Q9 }$ `$ r
<zone>
4 m1 w; U0 o2 \
, D, ?: Q6 J' ^1 Y; K3 o2 E<short>Public</short>
# o; ^5 a. ^1 Y! n! c
" P4 ~4 E6 E9 ~- d, f<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming conn
$ {( N1 p5 A- A. O, n" G; w1 n9 |7 p0 c/ B; J
ections are accepted.</description>
" l3 [. |& e0 n5 I% A3 h' h7 s0 r& ]# q8 W/ X2 q. V- x
<service name="ssh"/>
+ A+ q, b% E% y" t8 f$ Q6 A! V6 h1 N! \, _( H0 J
<service name="dhcpv6-client"/>) t1 c' R4 Z* ^; I# ]

1 ^0 }: _. B8 n& w* `/ {<service name="ftp"/>
8 F# ^2 d* v+ ]6 y7 R4 K3 M& c( c7 h! X# T5 {0 P7 S& g# l
</zone>
5 Z& ], n# p; R, L2 A; p$ v( b+ T2 S

5 l7 E/ h, M$ O" b7 C- M5 z6 c2 r! m' l$ E3 S, [& ?
(5)重载firewalld:
4 q) t( `5 |$ [5 ?. s/ }0 [# d& _
& A; _+ N* j8 H0 Q& C  Z& u[root@centos-test ~]# firewall-cmd --reload" L+ C# l# w# ?) R: ]' _" A& \  U
$ x$ w( H5 N0 v$ v5 g0 E

+ C+ G. u/ Y, N8 p9 Z0 U" \8 q. \: f  M( t
(6)查看服务:/ _: L( @+ k" O1 p/ {; b
' s& p1 `/ D% o( E) ]. `
[root@centos-test ~]# firewall-cmd --zone=public --list-service: x" o( u" Z) C: v; M- W
! i) r' Q: ]" D8 p# @/ M
ssh dhcpv6-client ftp
& p( C" y2 V$ B# c6 P  Q: t6 ?
0 ]! U) N6 D" Z" [: ~7 C7 {% K
 楼主| 发表于 2022-12-20 17:40:44 | 显示全部楼层
4 K+ B) K6 ^" |% ^
<?xml version="1.0" encoding="utf-8"?>& ~% O+ {, @' i- Z. J$ p* y7 ~( }# q( _
<zone>
0 n3 k' G5 [9 ]( M- y1 H  <short>Public</short>1 f: k9 W  o( Q0 |/ R. `" R
  <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>9 `2 a; Y2 x/ f6 f# {
  <service name="ssh"/>
( b1 M+ Y) c, E2 U! |. c* `  <service name="dhcpv6-client"/># y9 v; W4 ^, R2 q& m# Z
  <service name="http"/>
) c- M( G% d4 h; U; g& D  <port protocol="tcp" port="80"/>& h. w: K+ D9 J( _; |/ Q$ g! |3 V
  <port protocol="tcp" port="8080"/>% d1 Y  R2 {& C8 N2 L
  <forward-port to-port="3366" protocol="tcp" port="3306"/>
" q0 Q. {" A1 ]' u  <forward-port to-addr="192.168.22.55" to-port="8088" protocol="tcp" port="8080"/>1 x  r3 d+ p( r3 \( C& h9 w. k
</zone>
! J/ H% G3 y" F
 楼主| 发表于 2022-12-20 17:41:20 | 显示全部楼层
firewall-cmd --zone=public --list-forward-ports
% u# ~- z7 [" s$ K; h  j% n8 bport=8080:proto=tcp:toport=8088:toaddr=192.168.22.559 \6 ~& e- z& N$ z0 n1 r
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2023-2-1 00:52 , Processed in 0.057576 second(s), 21 queries .

Powered by LR.LINUX.cloud bbs168x X3.2 Licensed

© 2012-2022 Comsenz Inc.

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