27 lines
1.0 KiB
Plaintext
27 lines
1.0 KiB
Plaintext
: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"
|