:log debug "用户 $"remote-address" 上线" # 删除旧的分配规则 /ip/firewall/nat/remove [find comment~"snat $"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"