Настройка маршрутизаторов Mikrotik (ч.2): резервирование интернет-канала

Настройка маршрутизаторов Mikrotik (ч.1): подключение, основные параметры

Настройка маршрутизаторов Mikrotik (ч.2): резервирование интернет-канала

Настройка маршрутизаторов Mikrotik (ч.3): использование USB-модема для резервного канала

Задача:

Предположим, у нас есть два интернет-провайдера, предоставляющих доступ в сеть через проводное соединение. От первого провайдера мы должны получить настройки по dhcp, для второго их нужно задать статически. Нам требуется обеспечить безотказную работу интернет-соединения. Для этого при возникновении проблем с доступом в интернет через основной канал (первого провайдера) наш маршрутизатор должен автоматически переключаться на резервный (второго провайдера), и, при восстановлении связи, продолжать работу в штатном режиме. Сразу условимся: в первый порт будет подключен основной провайдер, во второй — резервный, остальные три порта будут использоваться для подключения компьютеров локальной сети. О работоспособности канала будем судить по доступности ip-адреса. Для проверки лучше всего взять адрес какого-либо крупного сервиса, вероятность отказа которого крайне мала (мы выбрали google dns).

1. Очистка конфигурации роутера

Для того, чтобы процесс настройки был понятней, и в дальнейшем не возникло путаницы, мы удалим стандартную конфигурацию и будем все делать с нуля. После очистки конфигурации к роутеру можно подключиться только по mac-адресу через программу winbox.

2. Настройка интерфейсов и создание сетевого моста («bridge»)

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

Следующей задачей для нас является настройка внутренней сети. Для обеспечения взаимосвязи между компьютерами и устройствами локальной сети проще всего воспользоваться функциями сетевого моста («Bridge»), который позволяет объединить внутренние сетевые интерфейсы и обеспечить прозрачный доступ внутри сети.

Для создания сетевого моста необходимо воспользоваться пунктом меню «Bridge», указать требуемое имя моста и в закладке «Ports» добавить в мост требуемые внутренние интерфейсы.

3. Добавление ip-адресов

Далее нужно добавить внутренний ip адрес, который будет являться шлюзом для нашей локальной сети (обратите внимание, что его нужно присвоить интерфейсу сетевого моста), а так же ip-адрес, который нам предоставляет второй провайдер.

4. Настройка внутреннего dhcp-сервера

Теперь мы должны настроить параметры внутреннего DHCP сервера для раздачи IP адресов устройствам внутренней сети. Сначала необходимо создать пул выдаваемых IP адресов, для чего открываем пункт меню «IP"-"Pool», создаём новый пул, присваиваем ему различаемое имя и указываем диапазон выдаваемых адресов.

Теперь можно приступать к настройке собственно DHCP сервера. Для этого необходимо перейти в пункт меню «IP"-"DHCP Server» и создать новый сервер, указав его имя, интерфейс на котором сервер будет работать (в нашем случае это сетевой мост) и ранее настроенный пул выдаваемых адресов. После этого мы должны указать параметры сети для нашего DHCP севера. Для этого нужно перейти на закладку «Network» и указать параметры передаваемые клиентам.

5. Создание dhcp-клиента

Так как подключение к сети первого провайдера предполагается осуществлять с использованием динамического адреса, значит нам нужно создать dhcp-клиента, работающего на первом порту маршрутизатора. Сделать это можно из меню «IP» — «Dhcp client».

6. Добавление статических маршрутов

Все взаимодействие между сетями осуществляется в соответствии с таблицей маршрутизации, управлять которой можно из меню «Routes». Маршруты в локальную сеть и к внутренним сетям провайдеров были добавлены динамически, осталось добавить маршруты в интернет (на адрес 0.0.0.0/0) через шлюзы провайдеров. Так же для обоих созданных маршрутов добавляем комментарии и указываем маршрут к 8.8.4.4 через шлюз первого провайдера (необходимо для работы проверки канала).

7. Настройка межсетевого экрана

Используя встроенный файервол можно управлять всем трафиком, проходящем через маршрутизатор. Фильтрация осуществляется на основе правил, заданных в меню «Firewall» и применяемых последовательно ко всем сетевым пакетам. Все действия с маршрутизатором можно проводить, как из графического интерфейса, так и из командной строки. В данном разделе удобнее будет все сделать из консоли.

Заходим в «Terminal» и выполняем следующие команды:

#скрываем внутреннюю сеть за NAT
ip firewall nat add action=masquerade chain=srcnat comment=NAT src-address=192.168.88.0/24
#запрещаем соединения со статусом invalid
ip firewall filter add action=drop chain=input comment="Deny invalid connections" connection-state=invalid
#разрешаем использование протокола icmp
ip firewall filter add chain=input comment="Permit icmp" protocol=icmp
#разрешаем все уже установленные соединения
ip firewall filter add chain=input comment="Permit established connections" connection-state=established
#разрешаем все зависимые соединения
ip firewall filter add chain=input comment="Permit related connections" connection-state=related
#блокируем все новые соединения со всех интерфейсов, кроме LAN
ip firewall filter add action=drop chain=input comment="Deny new connections" connection-state=new in-interface=!LAN
#запрещаем ping 8.8.4.4 через ISP2
ip firewall filter add action=drop chain=output comment="Deny 8.8.4.4 to reserved internet-channel" dst-address=8.8.4.4 out-interface="ether2 - internet II (reserve)" protocol="icmp"

8. Переключение каналов

В ОС роутера есть встроенная утилита «Netwatch», которая позволяет отслеживать состояние хостов в сети посредством отправки ICMP-запросов (ping) и выполнять какие-либо действия на основе их доступности. Мы будем отслеживать ip-адрес 8.8.4.4 через первый канал, и в случае его недоступности переключать маршруты на работу по второму.

Создаем новый «Netwatch host», в графе «Host» указываем отслеживаемый ip-адрес, а в «Interval» — частоту осуществляемых проверок.

В раздел «Up» нужно сделать записи:

#включем маршрут с комментарием "ISP1" (основной канал)
/ip route set [find comment="ISP1"] disabled=no
#отключаем маршрут с комментарием "ISP2"(резервный канал)
/ip route set [find comment="ISP2"] disabled=yes

В раздел «Down»:

#отключаем маршрут с комментарием "ISP1"(резервный канал)
/ip route set [find comment="ISP1"] disabled=yes 
#включаем маршрут с комментарием "ISP1" (основной канал)
/ip route set [find comment="ISP2"] disabled=no

9. Настройка безопасности

Выполняя настройку подобных устройств всегда необходимо думать о сетевой безопасности, поэтому перед введением маршрутизатора в эксплуатацию необходимо произвести следующие настройки:

  • отключить все неиспользуемые сервисы («IP» — «Services»)
  • отключить обнаружение устройства на всех внешних интерфейсах («IP» — «Neighbor»)
  • установить пароль администратора («System» — «Password»)