Добрый день, коллеги.
Столкнулся с такой задачей, пока не могу сообразить как решить.
Есть роутер Микротик, к которому на один интерфейс по одному кабелю приходят "два провайдера". На самом деле провайдер один, просто исторически сложилось несколько белых адресов из разных подсетей. Т.е. первый белый адрес - 10.10.10.2 со шлюзом 10.10.10.1 , остальные белые адреса 10.20.20.2, 10.20.20.3, 10.20.20.4 со шлюзом 10.20.20.1. Внутри есть несколько подсетей, одной из них (192.168.1.0.24) нужно выходить во внешний мир и получать проброс портов через адрес 10.10.10.2. Остальным - выходить в разных конфигурациях через 10.20.20.Х. Как настроить двух провайдеров на разных интерфейсах - понятно. Как выпустить через разные адреса одной провайдерской подсети - тоже вроде понятно. Но вот как это все увязать на один интерфейс - не очень ясно. Получается для маркировки трафика и маршрутов нужно использовать соответствующий "белый" адрес а не интерфейс? Т.е. в прероутинге маркируем соединения в соответствии с белым адресом своего шлюза (не провайдерского)? Потом в соответствии с этим маркируем маршруты? И строим таблицы маршрутизации? Такая логика должна быть?...Я что-то туплю, подскажите пожалуйста направление мысли...
Спасибо.
Два провайдера на одном интерфейсе
-
- Сообщения: 12
- Зарегистрирован: 16 апр 2019, 10:26
-
- Сообщения: 4204
- Зарегистрирован: 25 фев 2018, 22:41
- Откуда: Москва
Ну как-то примерно так, да.
Тут разница то будет только в том, что src-nat нужно прописывать более детально, раз все адреса на одном интерфейсе.
И возможно ip route rule пригодятся, чтобы жестко разделить трафик между провайдерскими шлюзами.
Тут разница то будет только в том, что src-nat нужно прописывать более детально, раз все адреса на одном интерфейсе.
И возможно ip route rule пригодятся, чтобы жестко разделить трафик между провайдерскими шлюзами.
Telegram: @thexvo
-
- Сообщения: 12
- Зарегистрирован: 16 апр 2019, 10:26
Покритикуйте конфигурацию. пожалуйста (включил только маршрутизацию).
В целом в лабе все работает, но есть сомнения и непонятки...
1. Нужно ли указать в мангл все сети BOGON (не маршрутизируемые) или достаточно прописать только свои внутренние сети? По идеи, если мультикаст от провайдера не ждем - то лучше наверное BOGON...
2. Что делать с исходящим трафиком от самого роутера, для которого не указан исходящий адрес? Или такого быть не может? Поставил одно правило, которое такой трафик отправляет через ISP-2, но при запуске пинга первые пакеты пропадают. Не будет ли проблем?
3. Чувствую, что можно организовать все проще, но не пойму как....
В целом в лабе все работает, но есть сомнения и непонятки...
1. Нужно ли указать в мангл все сети BOGON (не маршрутизируемые) или достаточно прописать только свои внутренние сети? По идеи, если мультикаст от провайдера не ждем - то лучше наверное BOGON...
2. Что делать с исходящим трафиком от самого роутера, для которого не указан исходящий адрес? Или такого быть не может? Поставил одно правило, которое такой трафик отправляет через ISP-2, но при запуске пинга первые пакеты пропадают. Не будет ли проблем?
3. Чувствую, что можно организовать все проще, но не пойму как....
-
- Сообщения: 4204
- Зарегистрирован: 25 фев 2018, 22:41
- Откуда: Москва
Зачем в вашем случае вообще мангл на входящий трафик?
Прилетело что-то - ушло куда надо по dst-nat'у, а ответ отправляем в зависимости от того откуда этот ответ - разве есть какие-то хитрые случаи, когда может прилететь не на тот адрес?
А учитывая, что и в обратную сторону у вас все просто: одна подсеть - один внешний адрес (или это только на стенде?), то можно вообще без mange обойтись - просто route rule
Только если там должно быть жестко, чтобы заведомо не ушло через чужого, action=lookup-only-in-table надо.
На богоны вообще можно забить.
А для трафика с самого роутера просто добавьте маршруты через все три гейта с разными дистансами в основную таблицу.
Прилетело что-то - ушло куда надо по dst-nat'у, а ответ отправляем в зависимости от того откуда этот ответ - разве есть какие-то хитрые случаи, когда может прилететь не на тот адрес?
А учитывая, что и в обратную сторону у вас все просто: одна подсеть - один внешний адрес (или это только на стенде?), то можно вообще без mange обойтись - просто route rule
Код: Выделить всё
/ip route rule
add comment="to LAN" dst-address=192.168.0.0/16 table=main
add comment="From ISP1 IP to Inet" src-address=192.168.1.0/24 table=to-isp1
add comment="From ISP2 IP to Inet" src-address=192.168.2.0/24 table=to-isp2
add comment="From ISP2 IP to Inet" src-address=192.168.3.0/24 table=to-isp3
На богоны вообще можно забить.
А для трафика с самого роутера просто добавьте маршруты через все три гейта с разными дистансами в основную таблицу.
Telegram: @thexvo
-
- Сообщения: 12
- Зарегистрирован: 16 апр 2019, 10:26
Через второго провайдера (второй адрес) будет ходить много подсетей. Отдельные клиенты из разных подсетей - через третий адрес (но это в проекте). Пока, по факту- одна подсеть полностью ходит через первый адрес с первым шлюзом, куча подсетей - через первый адрес пула со вторым шлюзом. Остальные адреса не используются....
-
- Сообщения: 537
- Зарегистрирован: 03 сен 2017, 03:08
- Откуда: Marienburga
-
- Сообщения: 12
- Зарегистрирован: 16 апр 2019, 10:26
Так сложилось исторически.
Был один белый адрес с одним шлюзом. Все ходили через него. Потом под проект понадобился пул адресов. Провайдер смог выдать только отдельный пул с отдельным шлюзом. Плюс скорость с каждого белого IP регулируется провайдером. Т.е. канал один -100 мбит. Но динамически скорость провайдер отдать не может. Только определенная скорость на определенный адрес. Скорость меняют по запросу, общая не больше 100. Поменять провайдера возможности вообще нет, отдельный адрес нужен под проект, который еще идет. Пока вопрос решен бриджом на внешнюю сеть на одном из микротиков в который воткнут второй микротик со вторым внешним адресом. Внутренние сети разделены физически. Одна выходит через один роутер, остальные через второй. Хотим избавиться от этой конструкции...
По факту получается два провайдера на оном кабеле![Смех :-)](./images/smilies/ag.gif)
Был один белый адрес с одним шлюзом. Все ходили через него. Потом под проект понадобился пул адресов. Провайдер смог выдать только отдельный пул с отдельным шлюзом. Плюс скорость с каждого белого IP регулируется провайдером. Т.е. канал один -100 мбит. Но динамически скорость провайдер отдать не может. Только определенная скорость на определенный адрес. Скорость меняют по запросу, общая не больше 100. Поменять провайдера возможности вообще нет, отдельный адрес нужен под проект, который еще идет. Пока вопрос решен бриджом на внешнюю сеть на одном из микротиков в который воткнут второй микротик со вторым внешним адресом. Внутренние сети разделены физически. Одна выходит через один роутер, остальные через второй. Хотим избавиться от этой конструкции...
По факту получается два провайдера на оном кабеле
![Смех :-)](./images/smilies/ag.gif)
-
- Сообщения: 4204
- Зарегистрирован: 25 фев 2018, 22:41
- Откуда: Москва
Ну тогда сами смотрите, что легче и целесообразнее: в route rule к сожалению нет возможности использовать списки - один адрес/подсеть, одно правило.MikhailO писал(а): ↑12 июн 2022, 18:29 Через второго провайдера (второй адрес) будет ходить много подсетей. Отдельные клиенты из разных подсетей - через третий адрес (но это в проекте). Пока, по факту- одна подсеть полностью ходит через первый адрес с первым шлюзом, куча подсетей - через первый адрес пула со вторым шлюзом. Остальные адреса не используются....
В мангл все описывается буквально несколькими правилами через списки, но зато например мангл не сочетается с fasttrack'ом.
Telegram: @thexvo