Задача:
У нас 2 независимых канала связи от двух разных провайдеров. Мы хотим чтобы наши DMZ сервисы, такие как SMTP/IMAP, HTTP и, например, SQL база были доступны одновременно и независимо на двух каналах связи. Есть Mikrotik, допустим, hAP ac lite с версией 6.x.x (конкретно в данной лабе — 6.34.4), наши сервисы подключены в глобальную сеть через него. Как настроить?
Для выполнения задачи нужно промаркировать трафик так, чтобы ответы DMZ сервисов на запросы клиентов из глобальной сети уходили с того же порта на который пришел запрос.
На нашем микротике порты обозначены соответственно: WAN1 и WAN2. А чтобы не путаться, комментарий интерфейса содержит обозначение провайдера и номер порта на микротике:
Начальные правила в IP->Firewall выглядят так (они идут со стандартной конфигурацией, добавлены только правила для WAN2 и разрешение для winbox):
Инструкция для WinBox по шагам:
- IP-Firewall-Mangle. Добавим маркировку входящий соединений для цепочки prerouting:
- IP->Firewall->Mangle. Добавим маркировку маршрута для уже помеченных соединений для цепочки prerouting, исключая адреса сетей, привязанные к кому-либо интерфейсу (Dst. Address Type: ! local):
Скопируем эти правила для chain=output если мы хотим что бы не только DMZ сервисы, но и сам микротик был доступен на двух разных каналах, с двух провайдеров одновременно.
- Добавим маршруты для помеченных соединений, копируя маршруты по умолчанию, добавляя указание на Routing Mark соответственно каналу. В случае использования DHCP нужно добавить коммент для последующего использования в скрипте актуализации gateway:
- Если используется DHCP на каком-либо канале — добавимВ данном примере WAN2 получает адрес по dhcp и нужно обновлять gateway для правила, которые мы создали (коммент WAN2):
- Теперь добавим проброс портов до сервисов (на примере ssh), которые мы хотим сделать доступными для внешних сетей по каждому провайдеру, правила различаются только входящим интерфейсом:
Задача доступности сервиса на каналах двух провайдеров решена. Технология будет работать и для бОльшего количества провайдеров. Однако остается проблема при использовании динамических IP и привязывания их к постоянному имени в своём домене. Текущий IP микротика можно привязать c помощью нового инструмента RouterOS, начиная с версии 6.14 — IP/Cloud но что делать если нужно и второй, резервный, канал привязять к DNS ? Если у кого-то есть решение — прошу поделиться в комментариях )
По поводу динамического ип: решил через сервис noip и скриптов, добавил расписание и все отлично работает
АОк
Очень тяжело читать почему-то, информация как-то подана чтоль не очень, без обид)
ЛВяЛ