mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-11 13:53:34 +08:00
UDP连接也检查IP名单
This commit is contained in:
@@ -3,7 +3,9 @@ package nodes
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
|
||||||
|
"github.com/TeaOSLab/EdgeNode/internal/firewalls"
|
||||||
"github.com/TeaOSLab/EdgeNode/internal/goman"
|
"github.com/TeaOSLab/EdgeNode/internal/goman"
|
||||||
|
"github.com/TeaOSLab/EdgeNode/internal/iplibrary"
|
||||||
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
|
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
|
||||||
"github.com/TeaOSLab/EdgeNode/internal/stats"
|
"github.com/TeaOSLab/EdgeNode/internal/stats"
|
||||||
"github.com/TeaOSLab/EdgeNode/internal/utils"
|
"github.com/TeaOSLab/EdgeNode/internal/utils"
|
||||||
@@ -164,7 +166,7 @@ func (this *UDPListener) servePacketListener(listener UDPPacketListener) error {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
var buffer = make([]byte, 4*1024)
|
var buffer = make([]byte, 4<<10)
|
||||||
for {
|
for {
|
||||||
if this.isClosed {
|
if this.isClosed {
|
||||||
return nil
|
return nil
|
||||||
@@ -183,6 +185,16 @@ func (this *UDPListener) servePacketListener(listener UDPPacketListener) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 检查IP名单
|
||||||
|
clientIP, _, parseHostErr := net.SplitHostPort(clientAddr.String())
|
||||||
|
if parseHostErr == nil {
|
||||||
|
ok, _, expiresAt := iplibrary.AllowIP(clientIP, firstServer.Id)
|
||||||
|
if !ok {
|
||||||
|
firewalls.DropTemporaryTo(clientIP, expiresAt)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if n > 0 {
|
if n > 0 {
|
||||||
this.connLocker.Lock()
|
this.connLocker.Lock()
|
||||||
conn, ok := this.connMap[clientAddr.String()]
|
conn, ok := this.connMap[clientAddr.String()]
|
||||||
|
|||||||
Reference in New Issue
Block a user