Jump to content
Калькуляторы

Маршрутизация и резервирование локальных шлюзоd без NAT возможно ли? необходимо сделать резерв-failover двух каналов интернет без NAT

Прошу совета у форумчан - гуру Миротика

 

Имеется два канала ISP - статика с маской /30 - ISP1 и ISP2 . Имеется три роутера Mikrotik RB2011UiAS-RM - на первый Микротик заходит ISP1 (WAN), на второй Микротик- ISP2 (WAN) , на обоих включен NAT, в локалку смотрят адреса 192.168.3.101 и 192.168.3.102 - оба эти канала включены в третий Микротик в порты 6, 7 , они же (эти адреса шлюзов) с других портов первых двух микротиков будут включены в локалку напрямую как шлюзы для нескольких устройств

 

Задача, сделать из третьего микротика шлюз с резервированием каналов - первый канал основной, второй резервный, с автоматическим переключением туда-назад. Основная проблема - нужно, чтобы сеть за третьим микротиком видела его , как шлюз 192.168.3.2, а в самом микротике интернет передавался напрямую без NAT от адреса 192.168.3.101 к локальной сети 192.168.3.0/24. На компьютерах в сети будет указан шлюз 192.168.3.2.

 

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

 

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

 

Спасибо, кто откликнется,

Edited by SLAVCHIKS

Share this post


Link to post
Share on other sites

Guest Nikolay

Для таких задач... три IP шлюза... в одной плоской подсети... для произвольных клиентов...

Сходите, помочитесь на могилу вашего преподавателя по сетевым технологиям.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

SLAVCHIKS, я так понимаю, три микротика используется для распределения нагрузки на процессоры? Иначе, это всё можно одним аппаратом сделать. Какой суммарный трафик и ёмкость канала?

Чтобы небыло недопонимания - рисуйте схему и выкладывайте сюда. В схеме не забудьте показать адресацию и направления трафика/"default route"

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

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

post-138349-073416300 1481184803_thumb.jpg

Edited by SLAVCHIKS

Share this post


Link to post
Share on other sites

вынесите два пограничных микротика в отдельную подсеть, если уж они вам так необходимы, изолируйте их от локальной сети. Сделайте 3.2 дефолтом для всех, а в нем маршрутизацию в зависимости от источника (читать про mark routing, manglе и пр.).

Вообще, ИМХО, три микротика для такой тривиальной задачи это явное излишество. Хватило бы и одного + второй такой же, с копией конфигурации, в резерве на полочке

Share this post


Link to post
Share on other sites

SLAVCHIKS, ну вот, со схемой стало всё гораздо яснее. EugeneTV предложил Вам хороший вариант.

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

Если планируете реализовать отказоустойчивость, используя 192.168.3.2 как "всегда подключенный к интернету шлюз", то лучше поглядите в сторону VRRP на ДВУХ маршрутизаторах. Третий - опять таки лишний.

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

Спасибо за советы.

 

Я так понял, что маршрутизировать WAN напрямую в локалку не получится без NAT. Использовать один Микротик можно, это не проблема, но при моей схеме, если выйдет хоть один микротик из строя, то я всегда имею внешний доступ к сети из вне, если например отсутствую в другой стране )))

 

Проанализировав все, я пойду другим путем задействую два микротика - на один запущу IPS2 через NAT, на второй подключу IPS1 и включу из первого микротика канал через повторный NAT как резервный. По итогу через двойной NAT у меня будет в сеть к пользователям уходить интернет только если отвалится первый канал, что вполне допустимо, пока не починят магистраль или восстановят связь на ISP1.

Share this post


Link to post
Share on other sites

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

Именно VRRP и предназначен для подстраховки от выхода из строя роутера. Если сдохнет R1, "виртуальный" IP-адрес шлюза LAN переплывёт на R2. Текущие соединения оборвутся т.к. NAT и изменится внешний IP. Но программы разоравнные соединения должны восстановить самостоятельно отработав на своем уровне.

Соответственно клиенты без инета не останутся. Они даже ничего не заметят, кроме обновления MAC роутера.

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

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

Именно VRRP и предназначен для подстраховки от выхода из строя роутера. Если сдохнет R1, "виртуальный" IP-адрес шлюза LAN переплывёт на R2. Текущие соединения оборвутся т.к. NAT и изменится внешний IP. Но программы разоравнные соединения должны восстановить самостоятельно отработав на своем уровне.

Соответственно клиенты без инета не останутся. Они даже ничего не заметят, кроме обновления MAC роутера.

А если добавить в схему два коммутатора, то на резервном роутере тоже будут два внешних канала.

Share this post


Link to post
Share on other sites

А если добавить в схему два коммутатора, то на резервном роутере тоже будут два внешних канала.

Малоэффективно.

1) сам дополнительный коммутатор становится "точкой отказа";

2) у вышестоящего провайдера со сложной инфраструктурой может быть много вариантов "падения", и медный линк до роутера ничтожно маловероятная точка;

3) Если хорошо подумать, можно сделать схему "два канала на каждом микротике" без дополнительных свитчей.

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

VRRP идея интересная, меня бы устроило, единственное что пугает, впервые что-то настраивать на микротике это всегда эксперименты, на которые не всегда есть время, уже не раз сталкивался с ситуацией, где Mikrotik WiKi расходится c реальным положением вещей

Share this post


Link to post
Share on other sites

SLAVCHIKS, там всё очень просто. Ломаться особо нечему.

Шесть команд, по три на роутер, из первого примера по приведенной мной выше ссылке.

Если адреса на клиентах заданы статикой - то это всё. Если клиенты используют DHCP от mikrotik-1, то скопировать настройки DHCP и на втором роутере включать/выключать его из "/interface/vrrp/scripts" по "on Master"/"on Backup"

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

Судя по WiKi должны быть одинаковые mac адреса у VRRP на первом и втором роутере ? Не совсем понятно как включить мне wan - это один канал интернета должен быть в каждом роутере, или отдельные каналы и по сути vrrp то же самое резервирование, только уже не дистанция (метрика) переключает лефолтные маршруты, а уже полностью роутеры переключаются? если на первый порт вывести vrrp, то можно остальные порты роутеров 1 и 2 использовать как шлюзы для других подсетей , например 192.168.7.0/24, 192.168.8.0/24 без VRRP

 

адреса в сетях у меня статика. не люблю DHCP, использую его только в Wi-FI

 

Соответственно клиенты без инета не останутся. Они даже ничего не заметят, кроме обновления MAC роутера.

 

в примере на WiKi указан один MAC в настройках VRRP, как лучше сделать?

Edited by SLAVCHIKS

Share this post


Link to post
Share on other sites

в примере на WiKi указан один MAC в настройках VRRP, как лучше сделать?

Лучше не задавать мак. Как в примере

/ip address add address=192.168.1.1/24 interface=ether1

/interface vrrp add interface=ether1 vrid=49 priority=254

/ip address add address=192.168.1.254/32 interface=vrrp1

 

А дальше "/interface vrrp print detail" это уже вывод результата.

 

В разных реализациях vrrp виделось по-разному. Мак мог меняться (в старых), а может "переезжать"(в новых), что более "прозрачно" для клиента. Не суть.

Не совсем понятно как включить мне wan - это один канал интернета должен быть в каждом роутере, или отдельные каналы и по сути vrrp то же самое резервирование, только уже не дистанция (метрика) переключает лефолтные маршруты, а уже полностью роутеры переключаются?

Проще всего так:

1) завести разные каналы на разные роутеры.

2) между роутерами R1-R2 прокинуть туннель (или соединить доп.линком) назначив линковочную подсеть /30

3) Затем назначить R2 запасным маршрутом для R1 через подсеть /30, задав приоритет метрикой и на всякий случай замаскарадив.

4) дефолтный приоритетный маршрут с R1 на ISP1 должен использовать check-gateway

Тогда в случае падения ISP1 трафик просто пойдет по пути R1->R2->ISP2

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

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

Edited by SLAVCHIKS

Share this post


Link to post
Share on other sites

Проще всего так:

1) завести разные каналы на разные роутеры.

2) между роутерами R1-R2 прокинуть туннель (или соединить доп.линком) назначив линковочную подсеть /30

3) Затем назначить R2 запасным маршрутом для R1 через подсеть /30, задав приоритет метрикой и на всякий случай замаскарадив.

4) дефолтный приоритетный маршрут с R1 на ISP1 должен использовать check-gateway

Тогда в случае падения ISP1 трафик просто пойдет по пути R1->R2->ISP2

 

А как в таком случае сработает резерв шлюза VRRP? откуда клиентам знать, что там отвалился внешний канал? шлюз то ведь останется на месте? не будет так, что внешний канал переключится на второй роутер, а шлюз пользователей это будет сам роутер R1 без внешнего канала, и как потом произойдет восстановление, когда пинг канала вернется на ISP1 ?

Share this post


Link to post
Share on other sites

А как в таком случае сработает резерв шлюза VRRP? откуда клиентам знать, что там отвалился внешний канал? шлюз то ведь останется на месте? не будет так, что внешний канал переключится на второй роутер, а шлюз пользователей это будет сам роутер R1 без внешнего канала, и как потом произойдет восстановление, когда пинг канала вернется на ISP1 ?

Во-первых VRRP - это резервирование маршрутизатора для клиента на случай выхода маршрутизатора из строя. Поднимается и работает на стороне LAN. Обрыв внешнего канала к событиям VRRP не относится.

Все задачи по отслеживанию доступности каналов выполняет сам маршрутизатор и сам же решает через какого провайдера слать пакеты. В простейшем случае, задано два маршрута для 0.0.0.0/0 (deafult):

1) R1->ISP1->Internet (distance=1)

2) R1->R2->ISP2->Internet (distance=2)

R1 проверяет доступность ISP1 через "check-gateway". Если ISP1 недоступен, то пакеты будут отправляться по второму маршруту.

Клиенты при этом ничего не замечают. Для них шлюз всегда один и тот же.

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.