Архив метки: Mikrotik

MikroTik настройка Dual WAN

В этом руководстве мы затронем тему маркировки пакетов (mangle) и настройку резервирования интернет соединения Dual WAN на MikroTik как одну из важных тем. В маршрутизаторах Mikrotik данный функционал реализован через Mangle — используется для того чтобы пометить пакеты/соединения для дальнейшей их обработки очередями (простыми или деревьями), NAT правилами, таблицами маршрутизации или изменению таких параметров как: Читать

MikroTik – статические маршруты.

В нашей организации есть две не связанные локальные сети каждая со своим шлюзом. Была поставлена задача их объединить. О том как это происходило написано далее.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Схема сетей.

В обоих сетях работают роутеры MikroTik RB750Gr3 с прошивкой 6.48.

В первые порты подключены патч-корды внешних сетей.

Во вторые порты подключен патч-корд между двумя роутерами (красный).

В пятые порты подключены патч-корды до коммутаторов ЛВС (синие).

Для понятности описаны подробные настройки для обоих роутеров.

Обозначим роутеры №1 и №2.

Базовые настройки помещены под спойлер.


СПОЙЛЕР Настройки роутера №1.

Подключаемся к роутеру через WinBox из локальной сети. (как это сделать)

Reset Configuration.

Сбрасываем конфигурацию без сохранения настроек по умолчанию.

Через командную строку терминала:



Подключаемся к роутеру по MAC-адресу.

 

Ports.

Переименуем порты, чтоб не путаться в процессе настройки.

ether1-WAN (внешняя сеть – Интернет)

ether2-ROUTE (роутер №2)

ether3-ether5 – LAN (локальная сеть)

Через командную строку терминала:



 

Bridge.

Создаем мост для внутренней локальной сети.

Через командную строку терминала:



 

Bridge ports.

Добавляем в мост порты ether3-ether5

Через командную строку терминала:



 

Bridge address.

Назначим мосту статический IP-адрес.

Через командную строку терминала:



 

Ether2-ROUTE address.

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

Через командную строку терминала:



 

DHCPclient.

Создадим получение IP-адреса от вышестоящего роутера (провайдера) в автоматическом режиме.

Создаем DHCP Client соединение.

Через командную строку терминала:



 

DHCPserver для локальной сети.

Создаем пул IP-адресов, которые будут раздаваться автоматически.

Через командную строку терминала:



 

Укажем сеть для DHCP-сервера.

Через командную строку терминала:



 

Создадим DHCP Server.

Через командную строку терминала:



 

Привяжем полученный IP-адрес к MAC-адресу ПК пользователя.

Через командную строку терминала:



 

DNS.

Динамический DNS будет присвоен автоматически, или его можно указать вручную.

Allow Remote Requests – отмечаем галочкой.

Через командную строку терминала:



 

NAT.

NAT masquerade подменяет IP-адреса локальной сети на внешний IP при отправке запросов и обратная ситуация при возвращении ответов.

Через командную строку терминала:



После этих действий Интернет заработает в локальной сети.

Для полноценной работы необходимо выполнить настройки по безопасности, и некоторые другие настройки (см.базовая настройка роутера MikroTik).


Routes.

Создадим маршрут от первого до второго роутера. Это можно сделать в меню  IP >> Routes.

Через командную строку терминала:



Этот маршрут означает что при необходимости попасть в сеть 192.168.20.0/24 будет использован шлюз 172.16.0.20.

 


СПОЙЛЕР Настройки роутера №2.

Подключаемся к роутеру через WinBox из локальной сети. (как это сделать)

Reset Configuration.

Сбрасываем конфигурацию без сохранения настроек по умолчанию.

Через командную строку терминала:



Подключаемся к роутеру по MAC-адресу.

 

Ports.

Переименуем порты, чтоб не путаться в процессе настройки.

ether1-WAN (внешняя сеть – Интернет)

ether2-ROUTE (роутер №1)

ether3-ether5 – LAN (локальная сеть)

Через командную строку терминала:



 

Bridge.

Создаем мост для внутренней локальной сети.

Через командную строку терминала:



 

Bridge ports.

Добавляем в мост порты ether3-ether5

Через командную строку терминала:



 

Bridge address.

Назначим мосту статический IP-адрес.

Через командную строку терминала:



 

Ether2-ROUTE address.

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

Через командную строку терминала:



 

DHCPclient.

Создадим получение IP-адреса от вышестоящего роутера (провайдера) в автоматическом режиме.

Создаем DHCP Client соединение.

Через командную строку терминала:



 

DHCPserver для локальной сети.

Создаем пул IP-адресов, которые будут раздаваться автоматически.

Через командную строку терминала:



 

Укажем сеть для DHCP-сервера.

Через командную строку терминала:



 

Создадим DHCP Server.

Через командную строку терминала:



 

Привяжем полученный IP-адрес к MAC-адресу ПК пользователя.

Через командную строку терминала:



 

DNS.

Динамический DNS будет присвоен автоматически, или его можно указать вручную.

Allow Remote Requests – отмечаем галочкой.

Через командную строку терминала:



 

NAT masquerade.

Через командную строку терминала:



После этих действий Интернет заработает в локальной сети.

Не забываем выполнять базовые настройки по безопасности.


Routes.

Создадим маршрут от второго роутера к первому роутера. Переходим в боковом меню в  IP >> Routes.

Через командную строку терминала:



Этот маршрут означает что при необходимости попасть в сеть 192.168.10.0/24 будет использован шлюз 172.16.0.10.

Настроенная система прошла успешное тестирование. Доступ между сетями может ограничивать антивирус или правила Firewall в роутерах.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.



2021-04-02T16:37:28
Настройка ПО

Резервное копирование Mikrotik через Oxidized

Итак сегодня речь пойдет об инструменте в задачу которого входит выполнение централизованного резервного копирования конфигурационных файлов (те которые выполняются с расширением rsc) оборудования Mikrotik. Плюс инструмент умеет отображать разницу в изменениях, а делает он это через складирование изменений посредством системы контроля версий GIT. Я если честно давно искал такой инструмент и вот я воплотил свою задумку разобрав от и до все шаги по разворачиванию сервиса oxidized в систему Ubuntu 18.04 Server amd64. Узнал я о нем это просматривая опубликованные презентации посвященные Mikrotik, к примеру если через поисковую систему Google ввести «Автоматизируем бэкап — MUM — MikroTik»




Предварительные действия: На всех Mikrotik(ах) для которых Вы хотите осуществлять резервное копирование нужно сделать учетную записи с минимальными правами, к примеру только на чтение:




ekzorchik@srv-bionic:~$ ssh -l admin 172.33.33.22
 
[admin@MikroTik] > user add name=test password=Aa1234567 group=read
 
[admin@MikroTik] > quit




Connection to 172.33.33.22 closed.




ekzorchik@srv-bionic:~$




Шаг №1: Настраиваю систему





ekzorchik@srv-bionic:~$ hg clone --insecure https://ekzorchik@172.35.35.8/hg/dproject
 
ekzorchik@srv-bionic:~$ sudo ./dproject/default




Полученная текущая система с учетом моего скрипта настройки который я применяю в своей локальной сети:




ekzorchik@srv-bionic:~$ uname -a && lsb_release -a




Linux srv-bionic 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux




No LSB modules are available.




Distributor ID: Ubuntu




Description: Ubuntu 18.04.2 LTS




Release: 18.04




Codename: bionic




ekzorchik@srv-bionic:~




Шаг №2: Устанавливаю пакет Oxidized в систему Ubuntu 18.04 Server amd64:




ekzorchik@srv-bionic:~$ sudo apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev libicu-dev -y
 
ekzorchik@srv-bionic:~$ gem install oxidized oxidized-script oxidized-web




Fetching: asetus-0.3.0.gem (100%)




ERROR: While executing gem ... (Gem::FilePermissionError)




You don't have write permissions for the /var/lib/gems/2.5.0 directory.




ekzorchik@srv-bionic:~$ sudo gem install oxidized oxidized-script oxidized-web




Done installing documentation for charlock_holmes, rack, tilt, rack-protection, sinatra, emk-sinatra-url-for, temple, haml, htmlentities, puma, rb-fsevent, ffi, rb-inotify, sass-listen, sass, backports, rack-test, multi_json, sinatra-contrib, oxidized-web after 675 seconds




22 gems installed




ekzorchik@srv-bionic:~$




Шаг №3: Cоздаю пользователя oxidized, с правами которого будет запускаться система бэкапа:




ekzorchik@srv-bionic:~$ sudo useradd -m -p 712mbddr@ -s /bin/bash oxidized




На время даю права повышения привилегий, в конце заметки заберу.




ekzorchik@srv-bionic:~$ sudo usermod -aG sudo oxidized




Шаг №4: Создаю структуру запуска приложения oxidized




ekzorchik@srv-bionic:~$ sudo su - oxidized




oxidized@srv-bionic:~$ oxidized -v




0.26.1




oxidized@srv-bionic:~$




oxidized@srv-bionic:~$ whereis oxidized




oxidized: /usr/local/bin/oxidized




oxidized@srv-bionic:~$ oxidized




edit ~/.config/oxidized/config




oxidized@srv-bionic:~$ mkdir ~/.config/oxidized/crashes




oxidized@srv-bionic:~$ mkdir ~/.config/oxidized/mikrotik/




oxidized@srv-bionic:~$ sudo find / -name oxidized




/home/oxidized




/home/oxidized/.config/oxidized




/run/sudo/ts/oxidized




/usr/local/bin/oxidized




/var/lib/gems/2.5.0/gems/oxidized-web-0.13.1/lib/oxidized




/var/lib/gems/2.5.0/gems/oxidized-0.26.1/lib/oxidized




/var/lib/gems/2.5.0/gems/oxidized-0.26.1/bin/oxidized




/var/lib/gems/2.5.0/gems/oxidized-script-0.6.0/lib/oxidized




/var/lib/gems/2.5.0/doc/oxidized-web-0.13.1/ri/lib/oxidized




oxidized@srv-bionic:~$




Шаг №5: Преднастраиваем GIT для устройств Mikrotik бекапы которых будут хранится в репозитарии:




oxidized@srv-bionic:~$ sudo apt-get install git -y




oxidized@srv-bionic:~$ git config --global user.email "oxidized@ekzorchik.ru"




oxidized@srv-bionic:~$ git config --global user.name "oxidized"




oxidized@srv-bionic:~/.config/oxidized$ git init oxidized.git




Initialized empty Git repository in /home/oxidized/.config/oxidized/oxidized.git/.git/




oxidized@srv-bionic:~/.config/oxidized$ git init devices.git




Initialized empty Git repository in /home/oxidized/.config/oxidized/devices.git/.git/




Шаг №6: Настраиваем конфигурационный файл




oxidized@srv-bionic:~$ nano ~/.config/oxidized/config




---
 
model: routeros
resolve_dns: true
 
#Как часто делать бекапы

interval: 3600
use_syslog: false
debug: false
threads: 30
timeout: 20
retries: 3
prompt: !ruby/regexp /^([w.@-]+[#>]s?)$/
rest: 0.0.0.0:8888
next_adds_job: false
vars: {}
groups: {}
models: {}
pid: "/home/oxidized/.config/oxidized/pid"
log: "/home/oxidized/.config/oxidized/log"
crash:
directory: "/home/oxidized/.config/oxidized/crashes"
hostnames: false
stats:
history_size: 10
input:

#Тип подключения к устройству

default: ssh
 
#Расширенное логирование отключено
 
debug: false
ssh:
secure: false
map:
verify_host_key: never
utf8_encoded: true
 
#где хранится конфигурации GIT
 
output:
default: git
git:
user: oxidized
email: oxidized@ekzorchik.ru
repo: "/home/oxidized/.config/oxidized/oxidized.git"
git:
user: oxidized
email: oxidized@ekzorchik.ru
repo: "/home/oxidized/.config/oxidized/devices/devices.git"

#Откуда берется информация об устройства которые бекапятся
 
source:
default: csv
csv:
file: "/home/oxidized/.config/oxidized/mikrotik/router.db"
delimiter: !ruby/regexp /:/
 
#Структура строки в router.db: name:model:ip:port:username:password
 
map:
name: 0
model: 1
ip: 2
port: 3
username: 4
password: 5
model_map:
cisco: ios
juniper: junos
mikrotik: routeros




На заметку: Если не настроена авторизация на Mikrotik через публичный ключ, т. е. Вход на Mikrotik с одним лишь указанием логина, то в конфигурационный файл oxidized следует добавить параметр: verify_host_key: never




Шаг №7: Копируем публичный ssh—ключ на Mikrotik:




oxidized@srv-bionic:~$ ssh-keygen




Your identification has been saved in /home/oxidized/.ssh/id_rsa.




Your public key has been saved in /home/oxidized/.ssh/id_rsa.pub.




oxidized@srv-bionic:~$ cp ~/.ssh/id_rsa.pub idrsa
 
oxidized@srv-bionic:~$ ftp 172.33.33.22




Connected to 172.33.33.22.




220 MikroTik FTP server (MikroTik 6.42.5) ready




Name (172.33.33.22:ekzorchik): admin




ftp> put idrsa




ftp> quit




oxidized@srv-bionic:~$
 
oxidized@srv-bionic:~$ ssh admin@172.33.33.22
 
[admin@MikroTik] > user ssh-keys import public-key-file=idrsa user=test
 
[admin@MikroTik] > quit




Connection to 172.33.33.22 closed.




oxidized@srv-bionic:~$




oxidized@srv-bionic:~$ ssh test@172.33.33.22 — подключение проходит без каких либо запросов на ввод пароля.




Шаг №8: Теперь создаю файл подключения к оборудованию Mikrotik:





oxidized@srv-bionic:~$ nano ~/.config/oxidized/mikrotik/router.db
 
mikrotik:routeros:172.33.33.22:22:test:Aa1234567




Шаг №9: Проверяю запуск и соответственно на предмет каких-либо ошибок препятствующих запуску:




oxidized@srv-bionic:~$ oxidized ~/.config/oxidized/config




Puma starting in single mode...




* Version 3.11.4 (ruby 2.5.1-p57), codename: Love Song




* Min threads: 0, max threads: 16




* Environment: development




* Listening on tcp://0.0.0.0:8888




Use Ctrl-C to stop







У каждой строчке есть колонка «Actions»







  • Первая иконка: Посмотреть текущий конфигурационный файл
  • Вторая иконка: Посмотреть историю изменений конфигурационного файла
  • Третья иконка: Это запуск процедуры снятия изменения в репозитарий




Шаг №10: См.логи если что-то пошло не так




ekzorchik@srv-bionic:~$ tail -f /home/oxidized/.config/oxidized/log




W, [2019-03-04T11:34:49.491810 #28328] WARN -- : /mikrotik status no_connection, retries exhausted, giving up




I, [2019-03-04T11:36:11.666786 #28380] INFO -- : Oxidized starting, running as pid 28380




I, [2019-03-04T11:36:11.669229 #28380] INFO -- : lib/oxidized/nodes.rb: Loading nodes




I, [2019-03-04T11:36:11.812262 #28380] INFO -- : lib/oxidized/nodes.rb: Loaded 1 nodes




I, [2019-03-04T11:36:14.351899 #28380] INFO -- : Configuration updated for /mikrotik




Шаг №11: Для того, чтобы oxidized стартовал как служба, сделайте следующее:




oxidized@srv-bionic:~$ sudo find / -name oxidized.service




/var/lib/gems/2.5.0/gems/oxidized-0.26.1/extra/oxidized.service




oxidized@srv-bionic:~$ sudo cp /var/lib/gems/2.5.0/gems/oxidized-0.26.1/extra/oxidized.service /lib/systemd/system/




oxidized@srv-bionic:~$ sudo nano /lib/systemd/system/oxidized.service




[Unit]
Description=Oxidized - Network Device Configuration Backup Tool
After=network-online.target multi-user.target
Wants=network-online.target
 
[Service]
ExecStart=/usr/local/bin/oxidized
User=oxidized
KillSignal=SIGKILL
Environment="OXIDIZED_HOME=/home/oxidized/.config/oxidized/"
 
[Install]
WantedBy=multi-user.target




oxidized@srv-bionic:~$ sudo systemctl enable oxidized.service




Created symlink /etc/systemd/system/multi-user.target.wants/oxidized.service → /lib/systemd/system/oxidized.service.




oxidized@srv-bionic:~$ sudo systemctl start oxidized




oxidized@srv-bionic:~$ sudo systemctl status oxidized | head -n5




● oxidized.service - Oxidized - Network Device Configuration Backup Tool




Loaded: loaded (/lib/systemd/system/oxidized.service; enabled; vendor preset: enabled)




Active: active (running) since Mon 2019-03-04 12:16:53 MSK; 9s ago




Main PID: 29039 (oxidized)




Tasks: 7 (limit: 2322)




Проверяю, что ожидаются соединения на порт 8888




oxidized@srv-bionic:~$ sudo netstat -tulpn | grep :8888




tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 29039/puma 3.11.4 (




oxidized@srv-bionic:~$




Шаг №12: По умолчанию у сервиса нет возможности указать авторизацию, а потому в конфиге config изменяю доступ на 172.0.0.1




oxidized@srv-bionic:~$ nano ~/.config/oxidized/config




#rest: 0.0.0.0:8888

rest: 127.0.0.1:8888




oxidized@srv-bionic:~$ sudo apt-get install nginx -y




oxidized@srv-bionic:~$ sudo rm /var/www/html/index.nginx-debian.html




oxidized@srv-bionic:~$ sudo unlink /etc/nginx/sites-available/default




oxidized@srv-bionic:~$ sudo unlink /etc/nginx/sites-enabled/default




Создаю файл связки логина и пароля для аутентификации через Web—интерфейс:




oxidized@srv-bionic:~$ sudo sh -c "echo -n 'ekzorchik:' >> /var/www/html/.htpasswd"




oxidized@srv-bionic:~$ openssl passwd -apr1




Password: 712mbddr@




Verifying - Password: 712mbddr@




$apr1$rwseclUD$ANBsXcpdvR.07mthC2PLO.




oxidized@srv-bionic:~$ sudo sh -c "openssl passwd -apr1 >> /var/www/html/.htpasswd"




Password: 712mbddr@




Verifying - Password: 712mbddr@




oxidized@srv-bionic:~$ cat /var/www/html/.htpasswd




ekzorchik:$apr1$V6ZTHWcF$bdDbxqPJAQAzfdXw7Z9n/0




oxidized@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/.htpasswd




oxidized@srv-bionic:~$ sudo nano /etc/nginx/sites-available/oxidized




server { 
listen 172.33.33.4:80; 
server_name _; 
root /usr/share/nginx/html; 
include /etc/nginx/default.d/*.conf; 
location / { 
auth_basic "UserName and Password Please"; 
auth_basic_user_file /var/www/html/.htpasswd; 
proxy_pass http://127.0.0.1:8888/; 
} 
}




oxidized@srv-bionic:~$ sudo ln -s /etc/nginx/sites-available/oxidized /etc/nginx/sites-enabled/oxidized




oxidized@srv-bionic:~$ sudo nginx -t




nginx: the configuration file /etc/nginx/nginx.conf syntax is ok




nginx: configuration file /etc/nginx/nginx.conf test is successful




oxidized@srv-bionic:~$ sudo systemctl restart nginx && sudo systemctl status nginx | head -n5




● nginx.service - A high performance web server and a reverse proxy server




Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)




Active: active (running) since Mon 2019-03-04 12:19:27 MSK; 34ms ago




Docs: man:nginx(8)




Process: 29084 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)




oxidized@srv-bionic:~$




Auth Basic авторизация в Oxidizing через NGINX




Вход успешно выполнен в систему Oxidizing на Ubuntu 18.04 Server




Работает! Итого я для себя разобрал, как использовать инструмент oxidized на Ubuntu 18.04 Server amd64 для создания резервных копий с оборудования Mikrotik и просмотра внесенных изменений через Web-интерфейс с применением системы контроля версий на базе GIT. Жалко что нельзя использовать Mercurial — мне данная система контроля версий ближе, у меня все на ней построено: скрипты, конфигурационные файлы и т. д. А пока на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.













Источник: https://www.ekzorchik.ru/2019/03/backing-up-mikrotik-via-oxidized/







Git проекта: https://github.com/ytti/oxidized



2021-04-01T22:40:19
Software

MikroTik – настройка двух каналов доступа в Интернет.

В описании представлена настройка двух Интернет-каналов в режиме резервирования. При пропадании связи с одним из каналов, трафик автоматически переходит на второй канал. Работа основана на мониторинге основного канала через пинг и разной метрике шлюзов.

Недостаток метода в том, что мониторинг выполняется от роутера MikroTik до следующего роутера (провайдера).  Если Интернет пропадет на участке ВОЛС (см. схему ниже), то наш MikroTik не обнаружит этого и не переключится на резервный канал.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Схема подключения.

В схеме участвует роутер MikroTik RB750Gr3 с прошивкой 6.47.4.

В первый и второй порты подключены патч-корды внешних сетей. В пятый порт патч-корд от коммутатора локальной сети.

Подключаемся к MikroTik через WinBox из локальной сети. (как это сделать)

 

Reset Configuration.

Сбрасываем конфигурацию без сохранения настроек по умолчанию.

Через командную строку терминала:



Подключаемся к роутеру по MAC-адресу.

 

Ports.

Назначим следующие подключения на порты:

ether1 – подключение канала доступа в Интернет №1

ether2 – подключение канала доступа в Интернет №2

Переименуем порты внешней сети, чтоб не путаться в процессе настройки.

ether1-WAN1

ether2-WAN2

Через командную строку терминала:



 

Bridge.

Создаем мост. Он предназначается для внутренней локальной сети.

Через командную строку терминала:



 

Bridge ports.

Добавляем в мост порты ether3-ether5

Через командную строку терминала:



 

Bridge address.

Назначим мосту статический IP-адрес.

Через командную строку терминала:



 

DHCPclient.

Создадим получение IP-адресов от вышестоящих роутеров (провайдера) в автоматическом режиме.

Создаем аналогичными действиями два DHCP Client соединения с разницей в интерфейсе:

-для первого ether1-WAN1;

-для второго ether2-WAN2.

Add Default Route: no (отключаем создание дефолтного маршрута)

Через командную строку терминала:



Через некоторое время DHCP Clients получат IP-адреса. Это можно проверить в IP >> Addresses

D-dynamic (динамический адрес)

 

Routes.

Создадим два статических маршрута для каждого шлюза.

Для первого:

Dst.Address:0.0.0.0/0

Gateway: 192.168.1.1

Distance:1

AS – active, static (активный статический маршрут).

В маршрутах разные внешние шлюзы и метрика.

Для второго:

Dst.Address:0.0.0.0/0

Gateway: 192.168.0.1

Distance:2

Через командную строку терминала:



Маршрут с наименьшей метрикой будет использоваться в приоритете. Как только пропадает связь с основным шлюзом (с роутером провайдера), роутер переключается на следующий по величине метрики маршрут.

Для корректной работы нужно указывать дополнительную настройку для основного канала — check-gateway=ping.

Периодически (каждые 10 секунд) шлюз проверяется с помощью отправки ICMP запросов (ping) или запросов ARP. Если ответ от шлюза не получен в течение 10 секунд, время ожидания запроса истекает. По истечении двух таймаутов шлюз считается недоступным. В нашем случае произойдет переключение на второй шлюз.

После получения ответа от шлюза он считается достижимым, и счетчик тайм-аута сбрасывается.  wiki.mikrotik.com

DHCP-server.

Для удобства управления создадим DHCP-сервер на внутренней сети.

Создаем пул IP-адресов, которые будут раздаваться автоматически.

Через командную строку терминала:



Укажем сеть для DHCP-сервера.

Через командную строку терминала:



Создадим DHCP Server.

Через командную строку терминала:



Привяжем полученный IP-адрес к MAC-адресу ПК пользователя.

Через командную строку терминала:



 

Интернет не заработает без DNS и NAT. Настроим их.

DNS.

Динамические DNS прилетят автоматически, либо их можно прописать вручную.

Allow Remote Requests – отмечаем галочкой.

Через командную строку терминала:



 

NAT.

Создаем два правила NAT masquerade, подменяющие IP-адреса локальной сети на внешний IP, для двух внешних интерфейсов.

В первом правиле указываем Out.Interface: ether1-WAN1

При создании второго правила действия аналогичные, только указываем Out.Interface: ether2-WAN2

Через командную строку терминала:



Для полноценной работы необходимо выполнить настройки по безопасности, указать NTP сервер и некоторые другие настройки. см. базовая настройка роутера MikroTik.

 

Проверка.

Выполним проверку переключения каналов.

Отключим патч-корд канала №1 и убедимся, что трафик пойдет через канал №2.

Наблюдаем ситуацию в IP >> Routes

При штатной работе оба шлюза достижимы (reachable), активным (AS) является ether-WAN1 Интернет трафик идет через него. Можно запустить пинг на какой-нибудь внешний ресурс в командной строке ПК и смотреть как он будет выполнятся.

Отключаем патч-корд первого канала от роутера. Первый канал недостижим (unreachable) и трафик начинает идти через канал №2.

Возвращаем первый патч-корд на место и видим, что активным (AS) становится первый канал, трафик идет через него.

Для мониторинга резервирования каналов до какого-нибудь сервера в Интернете используется приложение Netwatch или рекурсивные маршруты. Об этом будет написано в другой раз.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.



2021-03-26T15:43:34
Настройка ПО

Securing MikroTik Router with Port Knocking

MikroTik Router usually sits between untrusted public network and trusted local network. So, it is so important to apply security in MikroTik Router otherwise MikroTik Router can be compromised by the hackers. There are various firewall techniques in MikroTik RouterOS those can be applied to secure MikroTik Router. In my previous articles, I discussed how to harden MikroTik RouterOS with restricting login services and restricting MikroTik login users. In this article I will discuss how to secure MikroTik RouterOS with Port Knowing.




Port Knocking




Port knocking is a method that enables access to the router only after receiving a sequenced connection attempts on a set of prespecified closed ports. Once the correct sequence of the connection attempts is received, the RouterOS dynamically adds the knocking host source IP to the allowed address list and the allowed host will be able to connect to MikroTik Router.




In port knocking method, all incoming requests are kept blocked and only the correct sequence maintained host is allowed to MikroTik Router. Hackers usually cannot scan the router and cannot do brute forcing. So, MikroTik Router keeps safe by implementing port knocking method.




How to Implement Port Knocking in MikroTik Router




It is so easy to implement port knocking in MikroTik RouterOS. MikroTik Firewall is enough to implement port knocking in RouterOS. Applying the following four firewall rules, a simple port knocking system can be implemented in MikroTik RouterOS. It is also possible to make more complex port knocking system although.




Rule 1: Creating First Port Knocking Firewall Rule




In the first firewall rule, we will create a firewall filter rule that will add the knocking host IP address to an address list if any host knocked on TCP port 9000. You can use any TCP or UDP port. I am using TCP port 9000 for this article configuration. The following steps will show how to create first knocking firewall rule in MikroTik RouterOS.






  • Login to MikroTik Router with Winbox using full permission user credential.
  • Go to IP > Firewall menu item. Firewall window will appear.
  • Click on Filter Rules and then click on PLUS SIGN (+). New Filter Rule window will appear.
  • Click on General tab and choose input from Chain drop down menu. Click on Protocol drop down menu and choose 6(tcp) and then put 9000 in Dst. Port input box.
  • From Action drop down menu, choose add src to address list option and put address list name (example: port:9000) in Address List input box and then put 1m duration(00:01:00) in Timeout input box. So, it will wait one minute to get second legitimate port knocking.
  • Click Apply and OK button.




Creating First Port Knocking Sequence
Creating First Port Knocking Sequence




First port knocking firewall rule has been created. We will now create second firewall rule to determine legitimate host.




Rule 2: Creating Second Port Knocking Firewall Rule




After creating first port knocking firewall rule, we will now create second port knocking rule that will add the knocking host IP address to another address list if the knocked host IP address was listed in the previous address list and the knocking port is TCP port 8000 [You can use any TCP or UDP port here]. The following steps will show how to create firewall rule to get second port knocking.




  • Click on Filter Rules tab again and then click on PLUS SIGN (+). New Filter Rule window will appear.
  • Click on General tab and choose input from Chain drop down menu. Click on Protocol drop down and choose 6(tcp) and then put 8000 in Dst. Port input box.
  • From Advanced tab, choose the previous address list (port:9000, that we created in Rule 1) from Src. Address List drop down menu.
  • From Action drop down menu, choose add src to address list option and put address list name (example: secure) in Address List input box and then put 30m duration(00:30:00) in Timeout input box. So, the host can use MikroTik RouterOS for 30 minutes.
  • Click Apply and OK button.




Creating Second Port Knocking Sequence
Creating Second Port Knocking Sequence




Second port knocking rule has also been created. Now if any host send request on TCP port 9000 and then TCP port 8000, the host IP will be added in secure address list. We will now create third firewall rule that will allow access if the host IP keeps in secure address list.




Rule 3: Allowing Host That Knocked Maintaining Correct Sequence




We will now allow that host which will follow correct port knocking sequence. From the above two rules, we can see that if any host follow correct sequence, the host will be added to secure address list. Now we will allow the host which is in secure address list. The following steps will show how to allow host which is in secure address list.




  • Click on Filter Rules tab again and then click on PLUS SING (+). New Filter Rule window will appear.
  • From General tab, chose input from Chain drop down menu.
  • From Advanced tab, choose secure from Src. Address List drop down menu.
  • From Action tab, choose accept from Action drop down menu.
  • Click Apply and OK button.






With this firewall rule, only those hosts will get access which will keep in secure address list. Now we will create another firewall rule that will block any request that will try to access in MikroTik RouterOS.




Rule 4: Creating Access Blocking Rule




We will now create the last firewall rule that will block any incoming request which is not in secure address list group. The following steps will show how to create blocking firewall rule in MikroTik RouterOS.




  • Click on Filters Rules tab and then click on PLUS SIGN (+). New Filter Rule window will appear.
  • From General tab, choose input from Chain drop down menu.
  • From Action tab, choose drop from Action drop down menu.
  • Click Apply and OK button.




So, now any incoming request will be dropped except those who are in secure address list group. Make sure the created rules are in the following order otherwise port knocking will not work.




Firewall Filter Rules for Port Knocking
Firewall Filter Rules for Port Knocking




After creating the above rule, your Winbox will be disconnected and cannot be logged in until port knocking. So, we have to now know how to do port knocking in MikroTik Router. In the following section we will learn how to do port knocking in MikroTik Router OS.




Port Knocking Methods in MikroTik RouterOS




There are a lot of methods those can be applied to do port knocking. Among these, I will mention only three simple and easy port knocking methods here.




Method 1: Port Knocking from Browser




Web Browser is the basic and easiest port knocking client. Just open your favorite web browser and type Router IP address and Port combination [http://ip_address:port_number] in the URL bar. Your browser will do port knocking and you will be able to do logged in MikroTik Router. Make sure you have followed the correct port sequence. For example, according to our above configuration, first type https://ip_address:9000 and hit enter key and then type http://ip_address:8000 within one minute and then hit enter key. After successful port knocking, dynamic address list will be created like the following image.




Dynamic address list created by port knocking
Dynamic address list created by port knocking




Method 2: Port Knocking from Winbox




Winbox can also be used to do port knocking. Open winbox and type ip_address:port_number combination in Connect To input box and then click Connect button. Winbox will do port knocking and you will be able to connect MikroTik Router. Make sure you are following the correct port sequence.




Port Knocking from Winbox
Port Knocking from Winbox




Method 3: Port Knocking with Windows Port Knocking Application




Greg Sowell provides a windows based port knock application which is amazing. Download [http://gregsowell.com/?download=5695] port knock application from their website and unzip it. If it asks to provide password, put portknock. Run the application and provide IP address and port sequence and then hit Knock button. It will do port knocking and you will be able to login to MikroTik Router.




Windows Based Port Knocking Application
Windows Based Port Knocking Application




How to secure MikroTik Router with Port Knocking has been discussed in this article. I hope, you will now be able to implement port knocking in MikroTik Router. However, if you face any confusion to implement port knocking, feel free to discuss in comment or contact me from Contact page. I will try my best to stay with you.



2021-03-21T23:29:19
MikroTik Router Tutorials & Guides

Маркировка роутеров Mikrotik

У каждого роутера или свича фирмы Mikrotik есть коммерческое название и маркировка аппаратной платформы (Product code). Например маршрутизатор «hEX» имеет Product code — RB750Gr3. В этой статье разберем что означает каждая буква в маркировке Product code.





Читать далее…