Home » Mikrotik » Доступ к Mikrotik по 2 или более WAN (внешним IP) одновременно

Доступ к Mikrotik по 2 или более WAN (внешним IP) одновременно

Продолжаю цикл статей про функциональные и очень доступные роутеры из Латвии. Речь пойдет о том, как получить доступ к Mikrotik через несколько одновременно настроенных провайдеров или внешних IP. Настройка не сложная, плюс в интернете есть информация на эту тему. Я дополню ее тем, что поделюсь своим опытом применения этого функционала.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Курс стоящий, все подробности читайте по ссылке.

Введение

Настройка нескольких провайдеров или одновременный доступ через разные внешние IP на микротике не представляет какой-то особенной сложности. Я настраивал такие вещи очень давно еще на Linux. Ну а тут под капотом он же и стоит, так что принцип будет один и тот же.

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

Таким образом, настройка одновременно двух провайдеров сводится к следующему:

  1. Маркируем все входящие соединения, назначая разные метки для разных WAN интерфейсов.
  2. Для промаркированных соединений назначаем ту или иную метку маршрутизации.
  3. В зависимости от метки маршрутизации, направляем трафик на тот или иной маршрут по умолчанию, которых будет несколько, в зависимости от количества одновременно подключенных провайдеров.

Приступаем к настройке. Если вы только начинаете знакомство с устройствами Mikrotik, то рекомендую посмотреть мои статьи по базовой настройке роутера и настройке firewall. Эти знания будут нужны для того, чтобы реализовать задуманное.

Маркировка соединений с двух WAN

Первым делом маркируем все соединения. Для этого идем в раздел IP -> Firewall -> Mangle и добавляем новое правило маркировки для пакетов из wan-1.

Маркировка соединений с двух WAN интерфейсов в Mikrotik

Следующим этапом назначаем метку маршрутизации для этих соединений. Делается этот тут же в новом правиле.

Роутинг метки для двух провайдеров

То же самое делаете для второго соединения, заменяя ip ардес, имя интерфейса и назначая другую метку. Должны получиться следующие 4 правила.

/ip firewall mangle
add action=mark-connection chain=input dst-address=109.68.184.112 in-interface=ether1-wan1 new-connection-mark=wan1-in passthrough=no
add action=mark-routing chain=output connection-mark=wan1-in new-routing-mark=wan1 passthrough=no
add action=mark-connection chain=input dst-address=77.31.15.221 in-interface=ether2-wan2 new-connection-mark=wan2-in passthrough=no
add action=mark-routing chain=output connection-mark=wan2-in new-routing-mark=wan2 passthrough=no

С маркировкой закончили.

Одновременный доступ по двум внешним IP

Теперь нам нужно настроить маршрутизацию таким образом, чтобы работали одновременно два wan интерфейса с двумя разными ip адресами. У меня есть очень старая статья, где тоже используются 2 провайдера, но только для резервирования интернета. Одновременно работает только один провайдер, а на второй происходит переключение в случае проблем у первого.

Идем в раздел IP -> Routes и добавляем 2 дефолтных маршрута. Настраиваем их точно так же, как это делали, если бы был только один провайдер. Но при этом указываем для каждого маршрута свою метку маршрутизации (Routing Mark).

Одновременный доступ через два провайдера

То же самое проделываем для второго интерфейса. Должно получиться вот так:

/ip route
add distance=1 gateway=109.68.184.1 routing-mark=wan1
add distance=1 gateway=77.31.15.1 routing-mark=wan2

Все, этого достаточно, чтобы к Mikrotik можно было подключиться извне по любому из предложенных IP адресов обоих WAN интерфейсов. По сути он стал доступен через обоих провайдеров одновременно. Важно понимать, что мы настроили только доступ к самому устройству через оба wan интерфейса, а не работу через обоих провайдеров клиентов локальной сети, если mikrotik выступает в качестве шлюза. Там нужно выполнить дальнейшие настройки, чтобы все корректно работало. Надо промаркировать пакеты и из локальной сети и направить их на тот или иной маршрут в зависимости от меток. В данной статье я это не рассматриваю. Возможно, сделаю отдельно.

Mikrotik как резервный шлюз

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

В удаленных местах, где нет постоянного технического персонала для обслуживания шлюза, я всегда ставлю 2 устройства, которые могут работать в качестве шлюза для локальной сети. Обычно это полноценный роутер Mikrotik или шлюз в виртуальной машине на базе какого-то линукса. Там могут быть настроены два провайдера, резервирование и т.д. Не суть важно, рассказываю не об этом. В качестве резерва чаще всего выступает свитч микротик с возможностью роутинга. Например, CRS326. Это очень удобно, так как свитч в любом случае какой-то будет установлен, пусть уж сразу с доп. функуионалом.

Таким образом, у вас есть основной шлюз, который обеспечивает интернетом локальную сеть и запасной. Если с первым происходит физическая поломка и он полностью выходит из строя, вы можете подключиться к резервному и настроить его в качестве основного, пока с ним не будет решена проблема. Такая схема возможна, если у вас 2 провайдера с несколькими внешними IP адресами, которые настраиваются у обоих шлюзов — основного и резервного. Если у резервного только один IP адрес — он настраивается на запасном шлюзе. Таким образом, автопереключения на резерв не будет. Приходится этим жертвовать в данном случае.

В случае, если у вас только 1 провайдер, но он предоставляет несколько внешних ip адресов, то все настраивается примерно так же. На резервном Микротике настраивается интернет через основной шлюз в локальной сети (в моей статье это wan1), а отдельный внешний ip адрес настраивается как дополнительный (wan2). Отличие будет только в том, что соединения через основной шлюз и локальную сеть не надо маркировать. Будут проблемы с доступом через локальную сеть, vpn и т.д. Достаточно настроить маркировку входящих пакетов только через wan2 — внешний ip адрес провайдера.

При такой схеме вы будете застрахованы от физической поломки основного шлюза. Если она случится, вы подключаетесь через внешний ip адрес к запасному микротику и делаете его временно основным шлюзом. Можно просто назначить ему ip адрес мертвого шлюза или настроить dhcp сервер и выдавать новые сетевые настройки. Это уже будет зависеть от вашей топологии.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

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

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте . Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

27 комментариев

  1. Аватар
    Алексей

    А не будет достаточно маркировать только один, допустим резервный wan? Первый основной будет работать на шлюз с наименьшей метрикой, а если обращаться ко второму то он будет отправлять по правилам маркировки.

    • Zerox

      Думаю, достаточно, если каналов только 2. Маркировка обоих каналов это задел на настройку и и большего количества. Для трех все делается точно так же.

  2. Аватар
    Алексей

    А не будет ли достаточно промаркировать только второй канал? Если по первому wan прийдет пакет, то он и уйдет в шлюз с наименьшей метрикой, а второй будет работать с маркированным трафиком.

  3. Аватар

    У меня оба провайдера по DHCP. На одном серый IP на другом белый. Должно ли работать?

  4. Аватар

    Можно узнать почему в цепочке input при маркировке соединений указывается адрес и входящий интерфейс?
    На мой скромный взгляд это избыточно и хватит указать только входящий интерфейс.

    • Zerox

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

  5. Аватар

    как быть если провайдер выдает динамический ip и шлюз тоже меняется?

    • Аватар

      А у вас какой тип подключения к провайдеру?
      Обычный ipoe с получением по dhcp или подключение через логин и пароль?

  6. Аватар

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

    • Zerox

      Есть возможность выгрузить конфигурацию такого устройства и показать? Я не понимаю, как это должно работать. Такие схемы я не только в микротике настраивал. В системе нельзя просто так настроить два равнозначных шлюза по-умолчанию. Как она будет решать, куда отправлять ответ на входящий запрос? Ответы всегда будут уходить в дефолтный шлюз с наименьшей метрикой, если ничего не настроить дополнительно. Я не могу понять, как это без маркировки чисто теоретически должно работать.

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

    • Аватар
      Михаил

      Работает такое. Но. Механизм роутинга таков, что он идет по основной таблице, то есть в этом случае будет ассиметричный роутинг в котором запросы придут на wan2 а уйдут с wan1, причем с адресом источника wan2. К чему это может привести и как будет оператор это обрабатывать — предлагаю подумать.

  7. Аватар

    Ммм’ FHRP/VRRP вам в помощь и не надо городить такое. Причём железки переключаются сами вам только настроить получение сообщения о недоступности основной железки через zabbix или что вы там используете.

    • Zerox

      Это совершенно другой уровень решения задачи. Думаю, если бы при поиске эникея для последущего обслуживания таких сетей работодателю пришлось писать в требованиях знание протокола FHRP/VRRP, он бы был не очень этому рад :)

      • Аватар

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

  8. Аватар

    Маркировать ничего не нужно :)
    Будет работать с просто двумя дефолтгейтвеями и разными метриками.

    • Zerox

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

    • Zerox

      Нет, не работает. Только что проверил на том же роутере, где это настроено. Просто отключаю маркировку, ставлю distance 1 и 2 у дефолтных маршрутов. Доступ работает только для маршрута с distance 1, что, собственно и логично. Ответный пакет уходит на маршрут с наименьшей метрикой. Можете на пальцах объяснить, как это должно работать без маркировки?

      • Аватар
        Михаил

        Так и работает ) Ответ уходит с другого интерфейса. Просто ACL операторов Ваш обратный трафик блокируют.

        • Zerox

          А какой толк от такой работы?

          • Аватар
            Михаил

            В случае, если у вас собственная АС, например, и у Вас два аплинка — то ответ может уходить как угодно, без особых препятствий, это, более того, абсолютно реальный кейс.
            Ну и в случае, если операторы ограничивают трафик не по IP, или с оператором есть договоренности на прием пакетов от второго WAN — все вполне может работать.

      • Аватар

        На инпуте не нужно маркировать трафик, потому как при обращении на инпут ответ будет отправлен с того интерфейса, на который пришел.

        Если есть желание, могу отправить скрины конфигов где это работает :)

        • Zerox

          Спасибо, я уже понял, как это может работать. Нормальная работа зависит не только от твоих настроек, но и других факторов. Для надежности лучше все же маркировать, что я и буду дальше делать :)

          • Аватар

            Ну.. несколько сертифицированных тренеров подтвердили, что маркировать инпут — затея бесполезная, так как это и так делается conntrak-ом, по-сути)
            Но с другой стороны это не влечет за собой особо никаких негативных моментов, потому тут уже каждый волен поступать как ему комфортнее)

            • Zerox

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

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

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.