混拨节点适配

This commit is contained in:
2025-09-08 12:55:20 +08:00
parent 40aba1a401
commit 906ef41e50
7 changed files with 446 additions and 344 deletions

16
scripts/down_ppp.rsc Normal file
View File

@@ -0,0 +1,16 @@
:log debug "用户 $"remote-address" 下线"
# 删除旧的分配规则
:local "snat-address" [/ip/firewall/nat/get [find src-address $"remote-address"] to-addresses]
/ip/firewall/nat/remove [find where src-address $"remote-address"]
:log debug "删除旧的 nat 规则"
# 上报调度服务
:local edge ($"snat-address"&0.0.0.255<<8)
:local city (($"snat-address"&0.0.255.0>>8)+1)
:local localip (172.16.0.0|$edge|$city)
:log debug "上报到调度服务 http://192.168.250.250:18702/server/ros/down/ip/$localip"
/tool fetch url="http://192.168.250.250:18702/server/ros/down/ip/$localip" mode=http
/file remove "$localip"

26
scripts/up_ppp.rsc Normal file
View File

@@ -0,0 +1,26 @@
:log debug "用户 $"remote-address" 上线"
# 删除旧的分配规则
/ip/firewall/nat/remove [find where src-address $"remote-address"]
:log debug "删除旧的 nat 规则"
# 分配出口 IP
:local RosIndex [/system/script/environment/get RosIndex value]
:local CityCount [/system/script/environment/get CityCount value]
:local EdgeCount [/system/script/environment/get EdgeCount value]
:local edge [:rndnum from=1 to=$EdgeCount]
:local city [:rndnum from=2 to=$CityCount]
:local "snat-address" "10.$RosIndex.$city.$edge"
/ip/firewall/nat/add chain=srcnat src-address=$"remote-address" action=src-nat to-addresses=$"snat-address" comment="snat $"remote-address" => $"snat-address""
:log debug "添加新的 nat 规则 snat $"remote-address" => $"snat-address""
# 上报调度服务
:local cityP ($city + 1)
:local localip "172.16.$edge.$cityP"
:log debug "上报到调度服务 http://192.168.250.250:18702/server/ros/up/ip/$localip"
/tool/fetch url="http://192.168.250.250:18702/server/ros/up/ip/$localip" mode=http
/file remove "$localip"