/ip dhcp-client remove [find] add add-default-route=yes disabled=no interface=wlan1 script="# this Script should be added to /ip dhcp-client script\r\ \n{\r\ \n\t:local \"gateway-local\" ([:pick \$\"gateway-address\" 0 ([:len [\$\"gateway-address\"]]-1) ].\"3\");\r\ \n\t:local count [/ip route print count-only where comment=\"LocalGW\"];\r\ \n\t:if (\$bound=1) do={\r\ \n\t\t:if (\$count = 0) do={\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-local\"] comment=\"LocalGW\" dst-address=192.168.0.0/16 check-gateway=ping;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-address\"] comment=\"LocalGW\" dst-address=192.168.0.0/16 check-gateway=ping distance=2;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-local\"] comment=\"LocalGW\" dst-address=172.20.0.0/16 check-gateway=ping;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-address\"] comment=\"LocalGW\" dst-address=172.20.0.0/16 check-gateway=ping distance=2;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-address\"] comment=\"LocalGW\" dst-address=91.106.77.8/29 check-gateway=ping\r\ \n\t\t} else={\r\ \n\t\t\t/ip route remove [find comment=\"LocalGW\"];\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-local\"] comment=\"LocalGW\" dst-address=192.168.0.0/16 check-gateway=ping;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-address\"] comment=\"LocalGW\" dst-address=192.168.0.0/16 check-gateway=ping distance=2;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-local\"] comment=\"LocalGW\" dst-address=172.20.0.0/16 check-gateway=ping;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-address\"] comment=\"LocalGW\" dst-address=172.20.0.0/16 check-gateway=ping distance=2;\r\ \n\t\t\t/ip route add gateway=[\$\"gateway-address\"] comment=\"LocalGW\" dst-address=91.106.77.8/29 check-gateway=ping\r\ \n\t\t}\r\ \n\t}\r\ \n}" use-peer-dns=yes use-peer-ntp=yes default-route-distance=5 / ############################################################## # this Script should be added to /ip dhcp-client script { :local "gateway-local" ([:pick $"gateway-address" 0 ([:len [$"gateway-address"]]-1) ]."3"); :local count [/ip route print count-only where comment="LocalGW"]; :if ($bound=1) do={ :if ($count = 0) do={ /ip route add gateway=[$"gateway-local"] comment="LocalGW" dst-address=192.168.0.0/16 check-gateway=ping; /ip route add gateway=[$"gateway-address"] comment="LocalGW" dst-address=192.168.0.0/16 check-gateway=ping distance=2; /ip route add gateway=[$"gateway-local"] comment="LocalGW" dst-address=172.20.0.0/16 check-gateway=ping; /ip route add gateway=[$"gateway-address"] comment="LocalGW" dst-address=172.20.0.0/16 check-gateway=ping distance=2; /ip route add gateway=[$"gateway-address"] comment="LocalGW" dst-address=91.106.77.8/29 check-gateway=ping } else={ /ip route remove [find comment="LocalGW"]; /ip route add gateway=[$"gateway-local"] comment="LocalGW" dst-address=192.168.0.0/16 check-gateway=ping; /ip route add gateway=[$"gateway-address"] comment="LocalGW" dst-address=192.168.0.0/16 check-gateway=ping distance=2; /ip route add gateway=[$"gateway-local"] comment="LocalGW" dst-address=172.20.0.0/16 check-gateway=ping; /ip route add gateway=[$"gateway-address"] comment="LocalGW" dst-address=172.20.0.0/16 check-gateway=ping distance=2; /ip route add gateway=[$"gateway-address"] comment="LocalGW" dst-address=91.106.77.8/29 check-gateway=ping } } }