混拨节点适配
This commit is contained in:
16
scripts/down_ppp.rsc
Normal file
16
scripts/down_ppp.rsc
Normal 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
26
scripts/up_ppp.rsc
Normal 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"
|
||||
Reference in New Issue
Block a user