|
|
发表于 2020-6-26 11:59:10
|
显示全部楼层
本帖最后由 cspm333 于 2020-6-26 12:13 编辑
dhcp server分發ip給裝置時,範圍是pool決定的。
所以pool的範圍若只小到給1個ip時,那裝置配發ip時一定是給這個限定ip。
所以當給裝置ip後,再準備新的pool(單個ip)給下個裝置即可。
因準備的pool是有進行排序的,所以dhcp server給的ip也是會跟著排序。
#假設pool(name=dhcp)的範圍希望落在192.168.11.100-192.168.11.150,
先將/ip pool(name=dhcp)的ip範圍定為192.168.11.100(單個ip)
:local change no
:local pool [/ip pool get dhcp ranges]
:local lease
:foreach i in=[/ip dhcp-s lease find] do={:set lease "$lease,$[/ip dhcp-s lease get $i address]"}
:local arp
:foreach i in=[/ip arp find complete] do={:set arp "$arp,$[/ip arp get $i address]"}
:while ([:find [:toarray $lease] $pool]>=0 || [:find [:toarray $arp] $pool]>=0) do={
:set change yes
:set pool ($pool+1)
:if ($pool>192.168.11.150) do={:set pool 192.168.11.100}
}
:if ($change=yes) do={/ip pool set dhcp ranges=$pool}
|
|