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 для подстановки нужного белого адреса на основании метки.

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

Leave a Reply

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