Разные скрипты для MikroTik RouterOS

Появляются периодически разные скрипты на разные темы. Включать их в библиотеку не имеет смысла, так как это достаточно частные случаи и задачи. В связи с чем, решил создать отдельный пост по этой теме, куда буду добавлять всевозможные мелочи.

Индикация CAPsMAN

Дело в том, что прикрученную к потолку точку доступа, не всегда удобно мониторить на момент взаимодействия с контроллером CAPsMAN. Для этих целей, я собрал простенькую мигалку, которая при помощи user-led показывает статус подключения к контроллеру. Работает просто — если светодиод постоянно горит, значит всё хорошо, если постоянно коротко мигает, то это означает что беспроводные интерфейсы не управляются контроллером. Если же мы видим букву «Б» [ − · · · ] (азбука Морзе), то это говорит о том, что только один интерфейс из 2-х управляется контроллером.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/system leds set [find where leds=user-led] type=on;
delay 1s;
/system leds set [find where leds=user-led] type=off;
delay 2s;
 
do {
	set $Ia [/interface find type=wlan];
	set $Nm [len $Ia];
 
	do {
		set $Nm ($Nm-1);
		set $In [/interface get number=($Ia->$Nm) name];
		if ([typeof [/interface get number=($Ia->$Nm) default-name]]="str") do={
			if ([typeof [find [tostr [/interface wireless monitor numbers=($Ia->$Nm) as-value]] "channel"]]="num") do={
				if ([/system leds get [find where leds=user-led] type]="off") do={
					/system leds set [find where leds=user-led] type=on;
				}
				delay 1s;
			} else={
				delay 250ms;
				/system leds set [find where leds=user-led] type=off;
				delay 100ms;
				/system leds set [find where leds=user-led] type=on;
				delay 100ms;
				/system leds set [find where leds=user-led] type=off;
				delay 100ms;
				/system leds set [find where leds=user-led] type=on;
				delay 100ms;
				/system leds set [find where leds=user-led] type=off;
				delay 100ms;
				/system leds set [find where leds=user-led] type=on;
				delay 100ms;
				/system leds set [find where leds=user-led] type=off;
				delay 100ms;
				log info "Interface $In not configured";
				delay 1s;
			}
				delay 100ms;
		}
	} while ($Nm>0);
	delay 2s;
} while (true);

VRRP proxy-arp

Когда много VRRP интерфейсов и все их нужно перевести в proxy-arp…

1
2
3
4
5
6
7
8
set $Ia [/interface find type=vrrp];
set $Nm [len $Ia];
do {
	set $Nm ($Nm-1);
	[/interface vrrp set number=($Ia->$Nm) arp=proxy-arp];
	delay 100ms;
	beep frequency=1760 length=10ms;
} while ($Nm>0);

Узнать больше о том, как работают скрипты в MikroTik RouterOS можно у нашего коллеги Дмитрия Скромнова из русскоязычного онлайн-курса для самостоятельного изучения. Основанный на официальной программе MTCNA, зтот курс по MikroTik и RouterOS , содержит много полезной информации не вошедшей в MTCNA. Целых 162 видеоурока и большое практическое задание, разбитое на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.