Рассмотрим ситуацию, когда провайдер выдал нам один шнурок и несколько 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 для подстановки нужного белого адреса на основании метки.


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