Mikrotik — несколько ip на внешнем интерфейсе

Рассмотрим ситуацию, когда провайдер выдал нам один шнурок и несколько ip в нем (например, /29 подсеть). И за нашим роутером находится несколько разных подсетей, которые надо выпускать наружу с разными src-ip; также среди них есть сервер, к которому необходимо сделать прозрачный проброс всех портов, будто белый ip настроен на нём, а не на роутере.

Вводные данные:

Провайдерский шнурок приходит в ether1, в нем подсеть 1.1.1.0/29 (где 1.1.1.6 — провайдерский шлюз).

На Микротике уже настроен один внешний ip и выход в интернет (маршрут и маскарадинг), а также внутренние подсети:

br0 — с сетью 192.168.1.0/24

br1 — c сетью 10.0.0.0/24

br2 — с сетью 172.16.0.0/25

Все внутренние подсети уже имеют выход в интернет и их src-ip при этом — 1.1.1.1, единственный настроенный ip на внешнем интерфейсе:

Задача:

Подсеть 192.168.1.0/24 (br0) продолжает выходить наружу с src-ip 1.1.1.1

Подсеть 10.0.0.0/24 (br1) должна выходить наружу с src-ip 1.1.1.2

Хост 172.16.0.2 (br2) должен выходить наружу с src-ip 1.1.1.3

 

Сначала добавим на внешний интерфейс адреса 1.1.1.2 и 1.1.1.3 (IP — Adresses):

В IP — Firewall — NAT сделаем проброс с внешнего 1.1.1.3 на 172.16.0.2:

Теперь займемся маркировкой исходящих пакетов. Нам нужно, чтобы через mark-routing присваивалась метка маршрута на основе src-ip (кроме случаев, когда трафик идет к не-локальным сетям). Меток понадобится две (для 10.0.0.0/24 и 172.16.0.2), т.к. остальной трафик по умолчанию пойдет через существующий маршрут с src-ip 1.1.1.1. Поэтому сначала добавим в ip — firewall — adress list локальные подсети, а затем создадим два правила в ip — firewall — mangle:

Далее — создаем в ip — routes маршруты для этих routing mark, в pref.source не забываем указывать необходимый src-ip адрес.

И последний штрих: в ip — firewall — nat создадим два правила с action=src-nat для подстановки нужного белого адреса на основании метки.

Созданные правила следует поставить выше остальных.

4 комментария

  1. Добрый день! Подскажите пожалуйста, по этой статье все работает отлично, но есть одно но.
    Добавляю все IP адреса провайдера к примеру
    1.1.1.1
    1.1.1.2
    1.1.1.3

    1.1.1.3 — является так скажем главным, через него идет весь остальной трафик что не маркирован. С него же я отправляю логи на zabbix сервер, но после перезагрузки микротика, все запросы начинают отправляться с наименьшего по числу IP, то есть с 1.1.1.1, если я отключу 1.1.1.1, то будет оправляться с 1.1.1.2 и так пока я не отключу оба IP, только после отключения отправка идет с 1.1.1.3 и потом можно эти 2 IP снова включать, будет работать до перезагрузки микрота, спасибо за ответ заранее!

    1. Добрый день.
      Предположу, что указание 1.1.1.3 в качестве pref.source в дефолтном маршруте должно помочь. Или можно создать правило и маркировать весь остальной трафик под 1.1.1.3.

      1. Добрый день. Не подскажете подробнее как это сделать? В дефолтном маршруте нельзя изменить pref.source (в IP-Routes)
        Или нужно создать дополнительный маршрут?

        Во втором случае, подскажите пожалуйста как правильно сделать маркировку всего остального трафика?

        Создал по аналогии маркировку трафика как тут в инструкции, но все так же выходит с адресом 1.1.1.2 вместо 1.1.1.3

        Спасибо заранее за ответ!

  2. Добрый день.
    А как привязать к ip адресам mac адрес ?
    У провайдера привязка ип к мак.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *