修复ip限制时,ping不通的问题

This commit is contained in:
bjdgyc 2021-07-05 18:36:46 +08:00
parent 31a5337ddf
commit 6daf9cbfa3
1 changed files with 3 additions and 1 deletions

View File

@ -82,6 +82,7 @@ func checkLinkAcl(group *dbdata.Group, payload *sessdata.Payload) bool {
ip_dst := waterutil.IPv4Destination(payload.Data) ip_dst := waterutil.IPv4Destination(payload.Data)
ip_port := waterutil.IPv4DestinationPort(payload.Data) ip_port := waterutil.IPv4DestinationPort(payload.Data)
ip_proto := waterutil.IPv4Protocol(payload.Data)
// fmt.Println("sent:", ip_dst, ip_port) // fmt.Println("sent:", ip_dst, ip_port)
// 优先放行dns端口 // 优先放行dns端口
@ -94,7 +95,8 @@ func checkLinkAcl(group *dbdata.Group, payload *sessdata.Payload) bool {
for _, v := range group.LinkAcl { for _, v := range group.LinkAcl {
// 循环判断ip和端口 // 循环判断ip和端口
if v.IpNet.Contains(ip_dst) { 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 { if v.Action == dbdata.Allow {
return true return true
} else { } else {