From 6daf9cbfa30d1ac04a089a1ad7bd98b1257b2834 Mon Sep 17 00:00:00 2001 From: bjdgyc Date: Mon, 5 Jul 2021 18:36:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dip=E9=99=90=E5=88=B6=E6=97=B6?= =?UTF-8?q?=EF=BC=8Cping=E4=B8=8D=E9=80=9A=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/handler/payload.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/handler/payload.go b/server/handler/payload.go index 91dd0cc..9df0441 100644 --- a/server/handler/payload.go +++ b/server/handler/payload.go @@ -82,6 +82,7 @@ func checkLinkAcl(group *dbdata.Group, payload *sessdata.Payload) bool { ip_dst := waterutil.IPv4Destination(payload.Data) ip_port := waterutil.IPv4DestinationPort(payload.Data) + ip_proto := waterutil.IPv4Protocol(payload.Data) // fmt.Println("sent:", ip_dst, ip_port) // 优先放行dns端口 @@ -94,7 +95,8 @@ func checkLinkAcl(group *dbdata.Group, payload *sessdata.Payload) bool { for _, v := range group.LinkAcl { // 循环判断ip和端口 if v.IpNet.Contains(ip_dst) { - if v.Port == ip_port || v.Port == 0 { + // 放行允许ip的ping + if v.Port == ip_port || v.Port == 0 || ip_proto == waterutil.ICMP { if v.Action == dbdata.Allow { return true } else {