Настройка маршрутизаторов Mikrotik для двух интернет-провайдеров (ISP) с балансировкой нагрузки может значительно улучшить производительность, резервирование и надежность вашей сети. Технология балансировки нагрузки позволяет вашей сети распределять трафик между несколькими интернет-провайдерами, обеспечивая эффективное использование доступной полосы пропускания и минимизируя время простоя. В этой статье мы покажем вам процесс настройки маршрутизатора Mikrotik для двух провайдеров с балансировкой нагрузки, обеспечивая бесперебойную работу в Интернете для ваших пользователей. Читать
Архив метки: Mikrotik
How to Configure PPPoE Server in MikroTik RouterOS 7
MikroTik PPPoE is a client-server protocol and mostly used at the end ISP configuration where MikroTik RouterOS acts as a PPPoE Server and user’s WiFi Router acts as PPPoE client. MikroTik PPPoE Server can be used with MikroTik simple queue management. So, it helps to manage user’s bandwidth easily.
People who are trying to do internet business should learn MikroTik PPPoE Server. Configuring PPPoE Server in MikroTik RouterOS 7 is so easy. If you have knowledge on basic RouterOS 7 configuration, you can configure MikroTik PPPoE Server so easily following my next steps.

4 Steps to Configure PPPoE Server in MikroTik RouterOS 7
We can easily configure PPPoE Server in MikroTik RouterOS 7 following bellow 4 steps.
- PPPoE Server Configuration
- IP Pool Configuration
- PPP Profile Configuration and
- PPP Secrets (username and password) configuration
Step 1 – PPPoE Server Configuration in MikroTik RouterOS 7
To configure PPPoE Server in MikroTik RouterOS 7, do the following steps.
- Login to MikroTik Router using Winbox with full permission credentials.
- Now click on PPPoE Servers tab and then PLUS Sign (+). New PPPoE Service window will appear. Put PPPoE server name (like GalaxyRAD) in Service Name input box.
- Choose LAN interface where PPPoE server will be created from Interface drop-down menu. If you create bridge interface, the bridge interface will be available in this list. So, choose the bridge interface if you want to create PPPoE server on bridge interface.
- Click on One Session Per Host Checkbox If you don’t want to allow multiple host/devices with the same username and password. Obviously, you want it.
- At the bottom of this window, you can see, there are 4 authentication methods. Here only select PAP, and unselect all others. Now click Apply and OK.

PPPoE Server is now ready. PPPoE Server requires IP address to connect clients. So, we will now create IP Pool from where PPPoE Server will assign IP address to clients.
Step 2 – IP Pool Configuration
PPPoE Server provides an IP address to the authenticated client. The IP is provided from the predefined IP pool. So, we have to declare the IP pool. To create IP Pool for PPPoE Clients, do the following steps.
- From Winbox, go to IP > Pool menu and click on PLUS SIGN (+). New IP Pool window will appear now.
- Put the name of the pool in Name input field (like 1Mbps_Pool) and assign the address range in Addresses input field (like 192.168.30.2-192.168.30.254). Note that, the address range excludes the first IP because it will be used as a Gateway address.
- Click Apply and OK button.

An IP Pool has been created. Similarly, you can create as many IP Pools as you require. We will now create user Profile which is used to maintain user authorization.
Step 3 – PPP Profile Configuration
PPPoE Server uses PPP Profile to maintain user authorization. So, we have to create PPP profile and assign user authorization. To create PPPoE profile, do the following steps.
- From Winbox, click on PPP menu item and then click on Profiles tab. You will see already two default profiles are created by MikroTik RouterOS. We will do nothing these default profiles. We will create another new profile here. So, click on PLUS Sign (+). New PPP Profile window will appear now.
- In New PPP Profile window, put your profile name in Name input field (like 1Mbps_Connection). Now put gateway address in Local Address input field (like 192.168.30.1) and choose created IP Pool (1Mbps_Pool) from Remote Address drop-down menu. Note that Local Address is the gateway address of this IP block which not included in 1Mbps_Pool.
- Now click Apply and OK button.

We have successfully created a PPP profile for PPPoE Server. Similarly, we can create multiple profiles to assign different user authorization. Now we need to create PPP Secret (username and password) that will be used to authenticate PPPoE client.
Step 4 – PPP Secret Configuration for PPPoE Server
PPP secret is used to authenticate PPPoE clients. ISP owner will provide the created secret (username and password) to the clients to authenticate their devices. To create PPP Secret, do the following steps.
- From Winbox, click on PPP menu item and then click on Secrets tab.
- Click on PLUS SIGN (+). New PPP Secret window will appear.
- Put the username of any client in the Name input field and password in Password input field. Note that, username and password are necessary when any client will be connected from his workstation (PC, Laptop, Router, WiFi Router and so on). Also, it is case-sensitive. So, be careful to assign these fields.
- Now choose service pppoe from Service drop-down menu and choose authorization profile for this user from Profile drop-down menu.
- Optionally, you can bind any device with this username and password by providing MAC address. For this, put MAC address of any device in Caller ID input box. If you put MAC address of any device in Caller ID, only this device can be connected with this secret (username and password).
- Now click Apply and OK button.

We have created a secret (username and password) for a user. Similarly, we can create as many secrets as we need following the above steps.
Required steps to configure PPPoE Server in MikroTik RouterOS 7 has been completed. We can now connect any PPPoE Client supported device such as PC, Laptop, Router, WiFi Router and so on using these created PPP Secrets.
MikroTik PPPoE Server provides the basic requirement to connect a PPPoE client but to run a smart ISP network with PPPoE Server, we also require RADIUS based Billing System because MikroTik PPPoE Server supports PPPoE user authentication and authorization from RADIUS Server.
GalaxyRAD is a RADIUS based ISP Billing Software that can be used to run a PPPoE Server based ISP network smoothly and smartly. Besides user authentication, authorization and accounting, it provides online payment gateway integration. So, your ISP network will be an automated system where user can pay their bill over online payment gateway and there is no need to collect payment manually.

If you find any difficulty to follow the above steps, follow the below video about MikroTik PPPoE Server configuration in RouterOS 7. Hope it will help you more.
How to configure MikroTik PPPoE Server in RouterOS 7 has been discussed in this article. I hope you will now be able to configure PPPoE Server in MikroTik RouterOS 7. However, if you face any issue to configure MikroTik PPPoE Server in RouterOS 7, feel free to discuss in comment or contact me from Contact page. I will try my best to stay with you.
The Dude – мониторинг оборудования ЛВС. Часть 4 – Обновление ROS, создание бэкапа.
Обновление RouterOS через The Dude.
Перед выполнением обновления рекомендуется сделать резервную копию настроек.
Обновление выбранных устройств по очереди.
В устройствах, которые нужно обновить должны быть введены логин и пароль, отмечена галочка RouterOS. Статус RouterOS должен быть ОК.

Переходим в меню Devices >> Device >> RouterOS.
Проверяем статус устройств с RouterOS (синяя галочка – ок). Сортируем устройства по архитектуре. Так же смотрим, какие установлены дополнительные пакеты.

Переходим на сайт MikroTik. Скачиваем файлы обновления и дополнительные пакеты нужной архитектуры.
Для примера скачаем пакет ARM.
Перетягиваем скаченный файл в CHR через WinBox.
Файл должен располагаться в папке dude/files. Только в этом случае он будет отображаться на вкладке Packages через интерфейс The Dude.
Выбираем устройство и нажимаем Upgrade >> 6.49.10.
Далее можно наблюдать прогресс выполнения.
После загрузки файла в роутер статус изменится на done (выполнено) и начнется обновление.
Роутер перезагрузится. После этого можно увидеть, что версия его RouterOS изменилась.
Обновление групп устройств.
Создадим группу из нескольких устройств и выполним обновление группы.
Devices >> RouterOS >> Group >> +
Указываем название группы. Отмечаем галочками необходимые устройства.
В группе присутствует устройство с пакетом NTP, которые тоже нужно обновить. Скачиваем файлы нужной архитектуры с сайта MikroTik.
В данном случае нужно скачать Extra packages, чтоб получить файл NTP.
Перетягиваем скаченные файл в CHR через WinBox.
Если нужны другие пакеты – действия аналогичные с учетом их выбора.
Выбираем группу и нажимаем Upgrade.
В зависимости от количества загруженных файлов разных архитектур в списке обновления будет несколько одинаковых надписей с номером версии обновления. Выбирать можно любую. Система сама определит архитектуру устройства и начнет загрузку только предназначенного для этой архитектуры файла.
Далее все происходит автоматически. Загрузка может выполняться длительное время в особенности для роутеров расположенных далеко от центра управления и с не очень высокой скоростью подключения к Интернету.
Через некоторое время можно увидеть обновленные версии RouterOS.
Пакет NTP тоже обновился.
Если не хватает пакетов, которые должны быть обновлены, то об этом появится предупреждение, а процесс обновления не запустится. Нужно скачать недостающие пакеты.
Если в процессе передачи файл не передался полностью, обновление не произойдет. В примере ниже скачалось только 6,6Мб, хотя весь файл 10Мб.
Нужно перезапустить обновление еще раз. Начнется передача файла повторно. Когда он будет передан полностью, запустится обновление.
Обновление загрузчика.
В наших роутерах установлена галочка Auto Upgrade в RouterBoard >> Settings.
После дистанционного обновления достаточно еще раз перезагрузить роутер, чтоб загрузчик тоже обновился.
Перезагрузку можно делать дистанционно по расписанию, командой через терминал или кнопкой Reboot в настройке каждого роутера (что наиболее просто).
О том, что требуется перезагрузка можно узнать, при первом после обновления входе в терминал. 
Или настроить пересылку критических событий в лог Dude.
Резервная копия.
После выполнения всех настроек желательно сделать резервную копию и затем делать ее регулярно автоматически. Резервную копию базы данных можно выполнить только через командную строку.
Подключаемся в CHR через WinBox.
Останавливаем сервер командой или через графический интерфейс.
| 1
| /dude set enabled=no |
Экспортируем БД.
| 1
| /dude export—db backup—file=DUDE—BD—1—11—2023 |
Запускаем сервер командой или через графический интерфейс.
| 1
| /dude set enabled=yes |
В результате файл БД окажется в файловом хранилище. Его нужно перетащить мышкой на компьютер и сохранить в надежном месте.
При восстановлении импорт БД так же выполняется через терминал при выключенном сервере.
Файл БД должен находиться в корне хранилища. Если он будет расположен в другом месте, то к нему нужно указать правильный путь.
При импорте все предыдущие данные будут перезаписаны.
Импорт БД
| 1
| /dude import—db backup—file=DUDE—BD—1—11—2023 |
Помимо базы данных необходимо делать резервные копии системы CHR.
Рекомендуется сохранять файл бэкапа и экспорт конфигурации.
| 1
| /system backup save name=CHR—DUDE—1—11—2023 |
| 1
| /export file=CHR—DUDE—1—11—2023 |
Обычно настраивается сценарий (script), который выполняет резервные копии по расписанию и отправляет их на электронную почту.
Скриптом с отправкой на почту можно пользоваться пока размер базы данных не большой. Когда база большая, нужно настраивать ее отправку по FTP.
Скрипт отправки БД Dude на почту.
System >> Scripts Создаем новый сценарий.
Name: DUDE-DB-BACKUP-TO-EMAIL – понятное имя без пробелов.
Policy: отмечаем все, галка на dude пропадает после повторного входа в редактирование скрипта.
Source: Код для выполнения.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| :log info «DUDE DB BACKUP TO E-MAIL SCRIPT HAS BEEN STARTED»; :local identity [/system identity get name]; :local date [/system clock get date]; :local subject «$identity DataBase $date»; :local dudedb (identity .«-« . [:pick $date 7 11] .«-« . [:pick $date 0 3] .«-« . [:pick $date 4 6]); /dude set enabled=no :delay 10; /dude export—db backup—file=$dudedb; :delay 10; :log info «DUDE DB BACKUP FILE WAS CREATED»; /dude set enabled=yes /tool e—mail send to=example@mail.com subject=$subject file=$dudedb; :delay 5; /tool e—mail send to=«example@mail.com» cc=«example@mail.com» subject=«$identity DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED $date»; :delay 5; /file remove $dudedb; :log info «DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED»; |
Краткое пояснение скрипта.
:log info – строчки с таким началом выводят сообщения в лог, для контроля выполнения разных этапов скрипта.
:local identity date subject dudedb – это задаются переменные, к которым привязываем разные значения: идентификатор роутера, дату, субъект для темы письма и файл с базой данных. К файлу бд так же привязываем переменные идентификации, даты и время.
Далее отключаем сервер, ожидаем время, пока выполняется бэкап (:delay 10;). Чем больше размер базы, тем больше нужно делать это время.
Затем включаем сервер и отправляем созданный файл на почту.
Еще одно письмо отправляется на другую почту или в телеграм-бота и сообщает админу, что бэкап выполнен.
Предпоследняя строчка удаляет созданный бэкап базы данных, чтоб не занимать память сервера.
Через командную строку терминала.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| /system script add dont—require—permissions=no name=DUDE—DB—BACKUP—TO—EMAIL policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=«:log info «DUDE DB BACKUP TO E-MA IL SCRIPT HAS BEEN STARTED»;r n:local identity [/system identity get name];r n:local date [/system clock get date];r n:local subject «$identity DataBase $date»;r n:local dudedb (identity .»-» . [:pick $date 7 11] .»-» . [:pick $date 0 3] .»-» . [:pick $date 4 6]);r n/dude set enabled=nor n:delay 10;r n/dude export-db backup-file=$dudedb;r n:delay 10;r n:log info «DUDE DB BACKUP FILE WAS CREATED»;r n/dude set enabled=yesr n/tool e-mail send to=example@mail.com subject=$subject file=$dudedb;r n:delay 5;r n/tool e-mail send to=»example@mail.com» cc=»example@mail.com» subject=»$identity DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED $date»;r n:delay 5;r n/file remove $dudedb;r n:log info «DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED»;» |
Чтоб скрипт выполнялся необходимо задать права политики dude для пользователя, под которым выполняются настройки в группе full.
System >> Users >> Groups
Нужно отметить галку напротив dude. По умолчанию она не отмечена.
Расписание запуска резервного копирования.
System >> Scheduler
Создаем новое задание для запуска скрипта по расписанию.
Name: DUDE-BACKUP-TO-EMAIL – любое понятное название без пробелов.
Start Date: дата начала.
Start Time: время начала – обычно ночью.
Interval: периодичность запуска. Установлено каждые 30 дней, но можно сделать по меньше. Например 1 раз в неделю.
Policy: отмечаем все политики, отметка dude не срабатывает.
On Event: команда для выполнения с указанием имени скрипта.
| 1
| /system script run DUDE—DB—BACKUP—TO—EMAIL |
Через командную строку терминала.
| 1 2 3
| /system scheduler add interval=4w2d name=DUDE—BACKUP—TO—EMAIL on—event=«/system script run DUDE-DB-BACKUP-TO-EMAIL» policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start—date= nov/18/2023 start—time=23:50:00 |
В результате выполнения скрипта на электронную почту приходит письмо с содержание базы данных.

The Dude – мониторинг оборудования ЛВС. Часть 3 – SNMP.
SNMP.
Протокол SNMP предназначен для мониторинга различных устройств в IP-сетях и позволяет получать с них дистанционно требуемые параметры. wiki
Версии SNMP можно поделить на 2 варианта:
v1 и v2c – не безопасные версии, которые передают данные между агентом и менеджером (системой управления сетью NMS) в открытом не зашифрованном виде, создавая угрозу информационной безопасности. Используется условный логин (комьюнити) и IP-адрес с которого разрешено подключение. Паролей нет. Эти версии можно ограниченно использовать внутри защищенной сети. На клиенте указывается комьюнити (по дефолтной настройке «public») и IP-адрес устройства, с которого разрешено подключение. При совпадении комьюнити и IP-адреса клиент начинает передавать данные менеджеру (системе управления или мониторинга сети).
v3 – применяет шифрование передаваемых данных и аутентификацию пользователя (логин-пароль), ее можно использовать между сетями и в Интернете.
Чаще всего мониторят такие параметры: имя устройства, модель, загрузка процессора, использование ОЗУ, использование диска, нагрузка на WAN (для роутеров), температура, напряжение питания, время работы системы. Для определенных устройств могут быть какие-то их специфические параметры, например расход тонера в сетевом принтере.
Система сетевого мониторинга The Dude поддерживает все версии SNMP.
Если используется v1, v2, то необходимо заменить название комьюнити «public» на что-то другое. Использовать эти версии в защищенных сетях или отдельных VLAN.
Создадим новое комьюнити, заменим его название и установим по умолчанию (default).

Выбираем v2-public. Нажимаем кнопку Copy.

Переименовываем копию профиля, заменяем в нем название комьюнити.

Выставляем в значении default созданный только что профиль.

Теперь в любом устройстве на карте в настройке по умолчанию будет профиль с измененным именем комьюнити и версией протокола v2c.
Если у кого-то пока нет опыта работы с SNMP, то сперва нужно потренироваться с комьюнити «public». Это имя используется в большинстве сетевых устройств по умолчанию. И в большинстве случаев SNMP v1 и v2 сразу работают без дополнительных настроек.
Для v3 нужно создать профиль и указать учетные данные. Выполним это.
Переходим в меню Settings >> SNMP. Добавляем новый профиль, нажав +.

Name: SNMPv3 – Любое понятное имя профиля.
Version: 3 – версия протокола.
Port: 161 без изменений.
User Name: PC360-NETWORK – Имя пользователя, которое в предыдущих версиях SNMP было комьюнити (Community).
В SNMPv3 нельзя использовать дефолтное значение «public» по причинам информационной безопасности.
При создании имя рекомендуется использовать только строчные буквы и цифры. Многие устройства при настройке имя SNMPv3 не поддерживают спец-символы. В данном случае имя содержит большие буквы и тире для наглядности.
Security: private – тип безопасности.
Auth Method: sha1 – способ аутентификации.
Auth Password: Pass-123 – сложный пароль из латинских букв разного регистра, цифр и спец-символов, не менее 8 знаков.
Crypt Method: aes – метод шифрования.
Crypt Password: 321-Pass – сложный пароль.
Количество попыток запроса Tries и время таймаут после каждой попытки Try Timeout изменяются индивидуально и по ситуации.
Нажимаем кнопку ОК для сохранения настроек.
Желательно сразу создать второй профиль методом копирования с другим методом шифрования. В настройках некоторых сетевых устройств не всегда есть возможность сменить шифрование DES на AES.
Чтоб профиль начал работать его необходимо выбрать в настройке устройства Settings.
Далее представлена активация и использованию SNMP в различных сетевых устройствах, которые были в ближайшем доступе.
SNMP в RouterOS.
Настройка на примере одного из сетевых роутеров. Подключаемся через WinBox.
Переходим в IP >> SNMP >> Communities и создаем новое комьюнити нажав +
В открывшемся окне вводим параметры.
Name: PC360-NETWORK – имя такое же, как указывали в настройках SNMPv3 в сервере Dude.
Adressess: 192.168.1.1 – адрес сервера The Dude. С этого адреса разрешается подключение к роутеру по SNMP.
Security: private – тип безопасности.
Read Access – только чтение.
Authentication Protocol: SHA1 – способ аутентификации.
Encryption Protocol: AES — протокол шифрования
Authentication Password: Pass-123 – сложный пароль такой же как в профиле The Dude.
Encryption Password: 321-Pass – сложный пароль такой же как в профиле The Dude.
Нажимаем ОК для сохранения.
Переходим в верхнее окно с настройками.
Enabled – отмечаем галочкой активацию SNMP.
Contact Info – вводим контактную информацию.
Location – место расположения.
Trap Community – указываем созданную только что комьюнити.
Trap Version: 3 – версия SNMP.
Нажимаем ОК для сохранения.
Отключаем существующее комьюнити public в целях информационной безопасности. Для этого меняем имя комьюнити public на что-нибудь любое другое, например pc360ru. Отключаем доступ на чтение и запись.

Те же настройки через терминал.
| 1 2 3 4 5
| /snmp community set [ find default=yes ] name=pc360ru read—access=no add addresses=192.168.1.1/32 authentication—password=Pass—123 authentication—protocol=SHA1 encryption—password321—Pass encryption—protocol=AES name=PC360—NETWORK security=private /snmp set contact=Dude—admin enabled=yes location=PC360 trap—community=PC360—NETWORK trap—interfaces=all trap—version=3 |
Переходим в The Dude. Проверяем роутер (или добавляем на схему). В его настройках должен быть указан профиль SNMPv3.
Если все сделано правильно, то информация по SNMP уже передается. На значке роутера появится строка с отображением производительности.
На вкладке SNMP появятся некоторые параметры.
Если роутер находится где-то вне сети или работает через VPN, то в его firewall нужно открыть доступ по порту 161 для IP-адреса сервера The Dude или интерфейса VPN.
| 1
| /ip firewall filter add action=accept chain=input comment=«SNMP ACCEPT» dst—port=161 in—interface=VPN—TO—MAIN—OFFICE protocol=udp |
MIB и OID: мониторинг и вывод желаемых параметров на этикетку устройства.
MIB – Management Information Base (база управляющей информации) – виртуальная база данных, используемая для управления объектами в сети передачи данных. wiki
Простыми словами это файл, в котором хранятся записи обо всех объектах конкретного устройства. Под объектом подразумевается параметр, состояние или настройка в устройстве.
OID – Object identifier (идентификатор объекта) – уникальный цифровой идентификатор для объектов в иерархическом дереве MIB.
Кроме этих двух определений в протоколе SNMP еще используется понятие Object Name – уникальное имя объекта, соответствующее определенному OID.
Проще один раз увидеть, чтоб понять. Для просмотра использован MIB-браузер iReasoning.
В Dude тоже можно посмотреть MIB, но нельзя выбрать OID.
OID в Dude можно составить самому по следующему принципу (но это долго). Открываем нужный MIB в отображении дерева и справа от каждой ветки папок видим номер.

Переписываем номера от каждой нужной ветки до искомого объекта.
iso-1, org-3 и тд, mgmt – эта ветка не подходит, ее номер не пишем, и тд.
1.3.6.1.4.1 …
В результате получаем значение OID объекта для напряжения питания. 1.3.6.1.4.1.14988.1.1.3.8 Есть другие способы получения OID.
Допустим мы, хотим отслеживать все параметры Health у роутера. В роутере должны быть соответствующие датчики. Можно посмотреть их наличие в меню WinBox System >> Health или по модели на сайте производителя.
Как видно отображаются температура и напряжение питания. Нам необходимо узнать OID этих объектов и затем добавить их в этикетку роутера на карте.
В терминале роутера вводим команду:
| 1
| /system health print oid |
В ответ будут выведены нужные значения.
voltage: .1.3.6.1.4.1.14988.1.1.3.8.0
temperature: .1.3.6.1.4.1.14988.1.1.3.10.0
Другие полезные запросы:
system resource cpu print oid – загрузка процессора в процентах
system resource print oid – различные системные ресурсы (время работы, память и тп)
Еще один альтернативный более долгий способ, но так же более универсальный для нахождения других OID.
Переходим в The Dude. Нажимаем правой кнопкой мыши на выбранном роутере. Выбираем Tools >> Snmpwalk.
Выбираем нужный профиль SNMP. Можно сменить просмотр на Tree (дерево). Нажимаем кнопку Start.
В результате сканирования появится большое количество доступных OID.
Нажимаем Ctrl+F или кнопку «Бинокль» и находим нужный OID по известному параметру, который посмотрели ранее в WinBox этого роутера. Если это температура – ищем значение 27. Если это напряжение – ищем значение 24.1.
В описании найденного OID присутствует слово Voltage. Это то, что нужно. Копируем OID правой кнопкой мыши.

Вставляем OID в этикетку, дополнив нужным синтаксисом.
Tp=[oid(«1.3.6.1.4.1.14988.1.1.3.10.0»)]C
U=[oid(«1.3.6.1.4.1.14988.1.1.3.8.0»)]V
В результате этих действий на этикетке роутера будет отображаться динамическое значение температуры и напряжения питания.

Аналогичным методом находятся другие необходимые OID для мониторинга. Однако такой метод не всегда может найти значение (Value) или имя OID, потому что эти параметры могут отображаться по-другому.
Функции.
Небольшой пример как можно использовать функции. Допустим нам нужно узнать свободную память в роутере в процентах, чтоб быстро оценить его состояние.
Найти такой OID не получилось. Но есть другие OID.
[oid(«1.3.6.1.2.1.25.2.3.1.5.65536»)] Всего памяти.
[oid(«1.3.6.1.2.1.25.2.3.1.6.65536»)] Использовано памяти.
Чтоб узнать свободную память нужно найти процент числа от общего количества.
Всего памяти – X.
Использовано памяти – Y.
Свободно памяти – Z.
Найдем свободную память.
Z =X – Y
Процент свободной памяти от общего количества.
Z%=100% / (X/Z)
Теперь все то же самое, только с использованием OID.
100/(oid(«1.3.6.1.2.1.25.2.3.1.5.65536»)/(oid(«1.3.6.1.2.1.25.2.3.1.5.65536»)-oid(«1.3.6.1.2.1.25.2.3.1.6.65536»)))
Далее нужно создать новую функцию и разместить это выражение в ней.
В имени функции не должно быть пробелов.
В результате цифра на этикетке получилась без округления, что выглядит не очень приемлемо. Поэтому к выражению нужно применить синтаксическую функцию округления round(x).
Итоговое выражение.
round(100/(oid(«1.3.6.1.2.1.25.2.3.1.5.65536»)/(oid(«1.3.6.1.2.1.25.2.3.1.5.65536»)-oid(«1.3.6.1.2.1.25.2.3.1.6.65536»))))
Выносим функцию на этикетку и подписываем ее для понятности.
Free Memory [FREE_MEMORY()]%
Результат.
В реальности, для понимания администратора проще видеть не процент свободной памяти, а процент использованной.
Поэтому 100% / (X/Y).
round(100/(oid(«1.3.6.1.2.1.25.2.3.1.5.65536»)/(oid(«1.3.6.1.2.1.25.2.3.1.6.65536»))))
Used Memory [USED_MEMORY ()]%
Кому как удобно.
Это просто пример, используя который можно выводить какие-то другие необходимые значения.
Изначально в ранние версии Windows была добавлена поддержка SNMP v1 и v2c, но затем поддержка прекратилась для предотвращения утечек информации с незашифрованными данными. При этом во всех ОС до Windows 10 SNMP v1 и v2c еще можно активировать. SNMPv3 отсутствует в Windows. Его можно использовать только, если установить стороннее ПО или агента, например NET-SNMP.
Для активации службы SNMP v1 и v2 первоначально нужно добавить соответствующую роль.
В серверных Windows это делается через мастер добавления ролей и компонентов.

Для Windows 10 добавление этой службы перенесли в параметры конфигурации.


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

Добавляем сообщество (комьюнити) «public». Если в настройках профиля SNMP в Dude изменялось имя комьюнити, то нужно указать его.
Разрешаем прием пакетов SNMP только с одного конкретного IP-адреса сервера Dude.
Сохраняем настройку.
Этот ПК (сервер) предварительно добавлен в Dude, настройки его SNMP-профиля не изменялись.
Через некоторое время на этикетке сервера появится строка с параметрами производительности. Это свидетельствует о работе SNMP.

На вкладке SNMP этого устройства появились различные параметры.

Можно запустить Snmpwalk на устройстве.
Добавление желаемых OID для мониторинга аналогично описанному выше для RouterOS.
Например, нужно вывести на этикетку время непрерывной работы сервера.
Смотрим в диспетчере задач сервера эту информацию: 78дней.
Запускаем Snmpwalk.

Через поиск находим значение 78. Проверяем имя.

Копируем OID в этикетку. Дописываем пояснение.
System Up Time [oid(«1.3.6.1.2.1.25.1.1.0»)]

Результат.

По работе с агентом SNMPv3 информация будет добавлена позже.
Настройка выполнялась на ПК с UBUNTU20.
Запускаем терминал Ctrl+Alt+T
Входим с правами админа.
| 1
| sudo su – root |
пароль
Обновляем ПО.
| 1
| apt—get update |
Установим SNMP демон.
| 1
| apt install snmpd |
Демон – компьютерная программа в UNIX-подобных системах, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем.
SNMP v1, v2.
Разрешим подключения SNMP к этому компьютеру с IP-адреса сервера The Dude.
Отредактируем файл конфигурации snmpd редактором nano.
| 1
| nano /etc/snmp/snmpd.conf |
Закоментируем строку
| 1
| # agentaddress 127.0.0.1,[::1] |
Создадим новую строку, разрешающую подключение с локальных интерфейсов и с внешнего интерфейса.
| 1
| agentaddress udp:127.0.0.1:161,udp:192.168.10.235:161 |
(внешний интерфейс подразумевает интерфейс этого компьютера с его IP-адресом)

Далее нужно исправить комьюнити (community).
Синтаксис.
rocommunity (read-only) – разрешение только на чтение.
rwcommunity (read-write) – разрешение на запись.
public – название комьюнити.
IP-адрес с которого разрешено подключение.
Разрешим для комьюнити public доступ только на чтение с IP-адреса сервера Dude.
| 1
| rocommunity public 192.168.1.1 |

Ctrl+O сохранить по тому же пути
Enter (Ввод)
Ctrl+X выйти
Перезапускаем snmpd
| 1
| systemctl restart snmpd |
Проверяем статус snmpd
| 1
| systemctl status snmpd |

Устанавливаем автозапуск после перезагрузки ПК.
| 1
| systemctl enable snmpd |
Проверяем прослушиваемые порты
| 1
| netstat —nlpu|grep snmp |

Если нет команды netstat то ее нужно установить
| 1
| apt install net—tools |
Блокировку SNMP может производить firewall. Проверяем его статус.
| 1
| ufw status |
(Status: inactive)
Если firewall работает то его нужно настроить для разрешения входящих подключений от Dude.
| 1
| ufw allow from 192.168.1.1 to any port 161 comment «Allow SNMP» |
UFW – это оболочка с упрощенной настройкой для линуксового файервола iptables. Если используется iptables напрямую, то нужно выполнить следующие настройки.
| 1
| iptables —A INPUT —s 192.168.1.1 —p udp —dport 161 —j ACCEPT —m comment —comment «Allow SNMP» |
Этой строкой мы разрешаем входящий трафик для порта UDP 161 с IP-адреса сервера The Dude.
Удаление правила по номеру в списке.
Выводим список с номерами.
| 1
| iptables —L —line—numbers |
Удаляем нужный номер правила в нужной цепочке.
| 1
| iptables —D INPUT 1 |
Переходим в The Dude. На тестовом ПК появилась его производительность.
В этикетку добавлен пробный OID, выводящий имя компьютера.
[oid(«1.3.6.1.2.1.1.5.0»)] PC name’s OID
Данные по SNMP передаются успешно.
SNMPv3
В этой версии отсутствует понятие комьюнити. Создаем пользователя и пароль, и так же пароль для шифрования передающихся данных. Синтаксис такой:
net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]
[-ro] — разрешение только на чтение;
[-A authpass] — пароль аутентификации (Authentication Password);
[-a MD5|SHA] — алгоритм аутентификации (выбрать MD5 или SHA);
[-X privpass] — пароль шифрования (Encryption Password);
[-x DES|AES] — алгоритм шифрования (выбрать DES или AES];
[username] — имя пользователя.
Действия выполнялись на другом сервере.
Поэтому заново заходим в терминал с правами root.
| 1
| sudo su – root |
пароль
Обновляем ПО.
| 1
| apt—get update |
Установим SNMP демон.
| 1
| apt install snmpd |
Устанавливаем доп. библиотеку (нужна при создании пользователя).
| 1
| apt install libsnmp—dev |
Проверяем статус snmpd.
| 1
| systemctl status snmpd |
Останавливаем snmpd.
| 1
| systemctl stop snmpd |
Создаем пользователя, пароли, задаем алгоритмы шифрования.
| 1
| net—snmp—create—v3—user —ro —A Pass—123 —a SHA —X 123—Pass —x AES PC360—NETWORK |

Имя пользователя и пароли должны быть аналогичны настройке профиля SNMPv3 в The Dude.
*Для удаления или редактирования пользователя нужно остановить snmpd и с помощью редактора исправить или удалить данные usmUser и rouser в файлах по путям:
| 1 2
| nano /var/lib/snmp/snmpd.conf nano /usr/share/snmp/snmpd.conf |
Запускаем snmpd
| 1
| systemctl start snmpd |
Отредактируем файл конфигурации snmpd с помощью редактора nano.
| 1
| nano /etc/snmp/snmpd.conf |
Закоментируем строку.
| 1
| # agentaddress 127.0.0.1,[::1] |
Создадим новую строку, разрешающую подключение с локальных и с внешнего интерфейсов.
| 1
| agentaddress udp:127.0.0.1:161,udp:192.168.1.15:161 |

Отключим комьюнити public, закомментировав строки.
Ctrl+O сохранить по тому же пути.
Enter (Ввод).
Ctrl+X выйти.
Перезапускаем snmpd.
| 1
| systemctl restart snmpd |
Проверяем статус snmpd.
| 1
| systemctl status snmpd |
Устанавливаем автозапуск после перезагрузки ПК.
| 1
| systemctl enable snmpd |
Проверяем прослушиваемые порты.
| 1
| netstat —nlpu|grep snmp |

Проверяем статус файрволов ufw и iptables. В данном случае они не мешают доступу.
Переходим в The Dude. В настройках нужного компьютера выставляем созданный ранее профиль SNMPv3. Через пару минут на этикетке появилась информация о производительности.

Пример добавления OID аналогичен вышеописанным в RouterOS и Windows.
Запускаем Snmpwalk.
Выведем на этикетку, например, время работы системы. Находим OID по тэгу uptime.

Копируем его в этикетку.
System Up Time [oid(«1.3.6.1.2.1.1.3.0»)]
*c момента подключения SNMP

Результат.

Можно поискать другие полезные OID в Интернете.
Изначально, по заводским настройкам SNMP v1 и v2c уже активирован с комьюнити public и работает после включения коммутатора. Убедиться в этом можно, если добавить коммутатор на схему The Dude и запустить Snmpwalk. Коммутатор выдаст большое количество разных объектов.
Выведем для теста пару OID на этикетку.
Up Time [oid(«1.3.6.1.2.1.1.3.0»)]
Model [oid(«1.3.6.1.2.1.47.1.1.1.1.13.67108992»)]

По сути дела это дыра в безопасности. Мало кто из администраторов специально подключается в новый купленный коммутатор и закрывает SNMP v1, и V2. Хотя в коммутаторе каждый раз появляется такое предупреждение при логине в него.
Настройка SNMPv3.
Создаем группу.
Добавляем пользователя.
По результатам работы с GS1900, стало понятно, что в этих коммутаторах нельзя переключить шифрование des aes без командной строки. Настройка через командную строку в этих моделях не поддерживается. Работают команды только для просмотра. Поэтому создан профиль SNMPv3-des для проверки работы. В нем метод шифрования (Crypt Method) указан des.
Проверяем Snmpwalk – работает.

Подключаемся к коммутатору через web-браузер.
Переходим к настройке SNMP в главном меню коммутатора Management >> Access Control >> SNMP


Вводим учетные данные такие же, как в настройке для SNMPv3 в Dude.

Username: PC360-NETWORK – имя пользователя (имя сообщества).
Security Level: private – тип безопасности.
Authentication: SHA – способ аутентификации.
Password: Pass-123 – пароль аутентификации.
Privacy: AES – приватность (шифрование)
Password: пароль шифрования.
Group: readonly – группа только для чтения.
Проверяем Snmpwalk. Данные начинают поступать.

Есть еще дополнительная настройка на вкладке «Контроль доступа». Тут настраиваются «ловушки» (trap).
Trap – это определенное событие которое может произойти в устройстве. На него нет запроса, коммутатор сам его отправляет. Так же нет подтверждения от менеджера (сервера мониторинга) о доставке.
Настройки должны выглядеть примерно так.

Trap Community используется, у остальных заменены названия чтоб отключить их.
Trap Destination: v3 192.168.1.1 (IP-адрес сервера Dude) – место назначения для отправляемых «ловушек».
После этого на вкладке Group отметить галочками события, о которых мы хотим получать сообщения.

Настройка очень урезана.
Для версии 3 нельзя выбрать шифрование и пароль (через web-интерфейс). Получить данные через SNMPv3 не удалось.
Для версии 2c название комьюнити должно состоять только из букв и цифр.

SNMPv2 работает, выполняется Snmpwalk.

Через панель управления попадаем в настройку SNMP. Активируем службу SNMP. Выбираем версию SNMPv3. Настройки такие же как в сервере.
Применяем настройку. Переходим в сервер мониторинга.
В настройках объекта сетевого хранилища выбираем профиль SNMPv3 с шифрованием DES.

Через некоторое время на этикетки отобразились параметры производительности. Добавляем свои дополнительные параметры через OID по необходимости.
Control Panel >> Notification >> SNMP.
Активируем, выставляем настройки, такие же как в профиле сервера мониторинга.

Подчеркнуты обязательные к заполнению настройки, без которых применение (Apply) не срабатывает.
Community: PC360-NETWORK или public – сообщество, используется для v1 и v2.
Ниже галочками отмечаются виды сообщений, которые хотим получать трапами.
Настройка находится в боковом меню Management Settings >> SNMP.
Для версии v1, v2 и комьюнити «public» ничего настраивать не нужно.

Убедится в ее работе можно запустив Snmpwalk на добавленном на карту принтере.

Настройка v3.
Переходим в настройку протоколов.

Отключаем SNMPv1/v2c.
Включаем SNMPv3.

Возвращаемся к настройке SNMP.

SNMPv3 не заработал. Нет возможности ввести пароль AES.
Настройки SNMP невозможно изменить через web-интерфейс.

Под эти настройки нужно создать профиль в Dude. Указать все как тут.

После активации этого профиля в устройстве на карте, SNMPv3 заработал.
У разработчиков странная логика. Во первых комьюнити public и SNMPv1, v2 остались активными. Во вторых для всех принтеров этой модели общие одинаковые параметры имени пользователя и пароль в SNMPv3. Это дыра в безопасности. Хотя для принтер это может не очень критично.
Не все камеры поддерживают работу с SNMP. В некоторых моделях в меню нет такой вкладки.
SNMPv1,v2 работает сразу после активации в настройках камеры.
Для SNMPv3 нужно ввести параметры имени пользователя паролей и шифрования, такие же как в профиле сервера мониторинга.
В связи с тем, что имя пользователя в настройке SNMP видеокамеры не может содержать определенных знаков, в настройке The Dude был создан дополнительный профиль для IP-видеокамер.

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

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

Настройка выполняется на вкладке «Управление».

К сожалению SNMPv3 отсутствует. Активируем что есть.
Проверка.

Обновление и даунгрейдинг RouterOS
Сегодня вы узнаете как правильно выполнять обновление и даунгрейдинг RouterOS на роутерах MikroTik, а также разберём ветки релизов.
The Dude – мониторинг оборудования ЛВС. Часть 2 – общие настройки.
На данной страницы описаны общие необходимые настройки системы мониторинга The Dude и некоторые инструкции по их выполнению, для запуска системы в работу. Под спойлерами размещена дополнительная информация. Читать
