Feature: support multiport condition for rule SRC-PORT and DST-PORT

This commit is contained in:
yaling888
2021-07-06 15:07:05 +08:00
parent e2c7b19000
commit 56dff65149
6 changed files with 118 additions and 28 deletions

View File

@ -35,8 +35,7 @@ var (
preProcessCacheFinder, _ = R.NewProcess("", "", C.ALLNet)
fakeIpMask = net.IPv4Mask(0, 0, 0xff, 0xff)
fakeIpMaxIp = net.IPv4(0, 0, 255, 255)
tunBroadcastAddr = net.IPv4(198, 18, 255, 255)
)
func init() {
@ -144,7 +143,7 @@ func preHandleMetadata(metadata *C.Metadata) error {
// redir-host should lookup the hosts
metadata.DstIP = node.Data.(net.IP)
}
} else if resolver.IsFakeIP(metadata.DstIP) && !fakeIpMaxIp.Equal(metadata.DstIP.Mask(fakeIpMask)) {
} else if resolver.IsFakeIP(metadata.DstIP) && !tunBroadcastAddr.Equal(metadata.DstIP) {
return fmt.Errorf("fake DNS record %s missing", metadata.DstIP)
}
}