Mikrotik
Содержание
Окружение
- основной канал имеет комментарий isp-main
- резервный канал имеет комментарий isp-backup
Команды
Проверить существование основного канала
:if ([/interface/find comment="isp-main"] != "") do={:put "norm"} else={:put "error"}
Получить состояние основного канала (есть линк или нет)
:put [/interface/get number=[/interface/find comment="isp-main"] running]
Получить имя основного канала
:put [/interface/get number=[/interface/find comment="isp-main"] name]
Получить тип основного канала
:put [/interface/get number=[/interface/find comment="isp-main"] type]
Проверить маршрут основного канала динамический или нет
:put [/ip/route/get number=[/ip/route/find vrf-interface=[/interface/get number=[/interface/find comment="isp-main"] name]] dynamic]
Получить ip шлюза для статического основного канала
:put [/ip/route/get number=[/ip/route/find vrf-interface=[/interface/get number=[/interface/find comment="isp-main"] name]] gateway]]
Получить ip шлюза для pppoe основного канала
:put [:pick [:pick [/interface/pppoe-client/monitor numbers=[/interface/find comment="isp-main"] once as-value] 9 10]]
Получить ip шлюза для l2tp основного канала
:put [:pick [:pick [/interface/pppoe-client/monitor numbers=[/interface/find comment="isp-main"] once as-value] 7 8]]
Получить ip шлюза для динамического основного канала
:put [/ip/dhcp-client/get number=[/interface/get number=[/interface/find comment="isp-main"]] gateway ]
Пинг шлюза основного канала
/ping count=30 interface=[/interface/get number=[/interface/find comment="isp-main"] name] address=[IpMainGate]
Пинг яндекса через основной канал
/ping count=60 interface=[/interface/get number=[/interface/find comment="isp-main"] name] address=ya.ru
Получить приоритет маршрута для основного канала
:put [/ip/route/get number=[/ip/route/find where immediate-gw~[/interface/get number=[/interface/find comment="isp-main"] name] dst-address=0.0.0.0/0] distance]
Переключить на резервный канал с основного канала типа статик
/ip/route/set numbers=[/ip/route/find vrf-interface=[/interface/get number=[/interface/find comment="isp-main"] name]] distance=10
Переключить на резервный канал с основного канала типа динамик
/ip/dhcp-client/set numbers=[/interface/find comment="isp-main"] default-route-distance=10
Переключить на резервный канал с основного канала типа pppoe-client
/interface/pppoe-client/set numbers=[/interface/find comment="isp-main"] default-route-distance=10
Переключить на резервный канал с основного канала типа l2tp-out1
/interface/l2tp-client/set numbers=[/interface/find comment="isp-main"] default-route-distance=10
Переключить на основной канал с резервного канала, типа статик
/ip/route/set numbers=[/ip/route/find vrf-interface=[/interface/get number=[/interface/find comment="isp-main"] name]] distance=1
Переключить на основной канал с резервного канала, типа динамик
/ip/dhcp-client/set numbers=[/interface/find comment="isp-main"] default-route-distance=1
Переключить на основной канал с резервного канала, типа pppoe-client
/interface/pppoe-client/set numbers=[/interface/find comment="isp-main"] default-route-distance=1
Переключить на основной канал с резервного канала, типа l2tp-out1
/interface/l2tp-client/set numbers=[/interface/find comment="isp-main"] default-route-distance=1
Получить список DNS серверов DHCP сервера
:put [/ip/dhcp-server/network/get number=0 dns-server]
Получить адрес шлюза DHCP сервера
:put [/ip/dhcp-server/network/get number=0 gateway ]
Получить версию RouterOS
:put [:pick [/system/resource/get version] 0 4]
Отключить обнаружение соседей
/ip/neighbor/discovery-settings/set discover-interface-list=none
Найти пакет
:put [/system/package/find name=wireless]
Заготовки для скриптов RouterOS
Настройка Hairpin NAT
/ip firewall nat add chain=srcnat src-address=192.168.1.0/24 dst-address=192.168.1.99 protocol=tcp dst-port=22 out-interface=bridge action=masquerade
Очистить ARP
ip arp remove [/ip arp find]
Очистить DHCP lease
ip dhcp lease remove [/ip dhcp lease find]