Comments 50
Странно, что-то не вижу я тут комментаторов с цитатами модели OSI, и что «годик понастраиваешь разные железки и потом такоё слёту будет отскакивать». Извините, о наболевшем.
Если везде микротики, почему не стали использовать EoIP? Можно было сделать одну большую локалку. Разве что, широковещательные пакеты могут канал забивать.
Задачи такой не стояло, да и менять структуру сети нельзя было, нужно было обойтись только изменением на роутерах.
Никогда не понимал админов, которые используют в офисной сети адреса 192.168.0.0/24 и 192.168.1.0/24.

Во-первых, половина голосовых шлюзов и коммутаторов имеют эти адрес по умолчанию и будучи неаккуратно подключенными в сеть (или сброшенными на заводские настройки) они в подобной сети создают сетевые проблемы.

Ну и подавляющее большинство домовых маршрутизаторов используют подобную же адресацию, как следствие — VPN пользователи не видят в сети половины (а то и всех) ресурсов.

Попадись мне такая бы задача, первое с чего бы начал — со смены адресации и не городил бы всех остальных костылей.
Ну начнём с того, что я выполнял то что было оговорено в ТЗ, а во вторых где вы увидели тут костыли?
У вас решение архитектурно ошибочно. И далее неважно, насколько технически грамотно оно реализовано — это все-равно называется костылем.

Правильное решение — потратить деньги клиента на смену адресации в сетях, а не на настройку костылей. Учитывая, что у клиента сеть 192.168.0.0 (да еще и провайдер такой же адрес дает) — там явно ничего критичного из сервисов не было.
У меня архитектурно? я его не строил и не проектировал, и не обслуживал! Я просто настроил маршрутизаторы под инфраструктуру заказчика.
Я бы на вашем месте не был так уверен. Скажем так, в сетях стоит оборудование, за которое отвечают третьи лица, и поменять на них сеть не представляется возможным, а точнее по договору не имеют право.
У меня архитектурно? я его не строил и не проектировал, и не обслуживал! Я просто настроил маршрутизаторы под инфраструктуру заказчика.

Да, у вас архитектурно ошибочно. Решая задачу, вы пошли самым легким для себя путем. По большому счету, вы не уменьшили проблемы вашего заказчика, а только увеличили их. Напряги вы тех, кто это строил и обслуживал — решение получилось бы и прямее и надежнее и дешевле в обслуживании.
пройдет полгода. У провайдеров что то поменяется, в сети клиента что то поменяется, вы будете на мальдивах вне зоны доступа… В результате прийдет другой, и мы почитаем еще одну статью на хабре «как я разбирался с настройками микротика и сделал все с нуля»…

Из личного опыта — чем проще решение — тем лучше. Его легче обслуживать, легче в нем разбираться…
Что же вы все упёрлись ….
Это желание заказчика, заказчик захотел так. И точка.
Вся конфигурация было описана в документации, и конфигурация была согласованна с ИТ отделом.
Да это понятно.
Плохо что согласовано с ИТ отделом ;)

А вообще — надо разговаривать с провайдерами ;) Если провайдер выдает на соединение серые адреса — то либо провайдер небольшой и адресов не так уж и мало, либо в целях экономии сидим на «квартирном» подключении. А ведь если поговорить с провайдером — то может и найдется возможность подключиться к инету напрямую, без туннелей, натов, серых адресов…
Как я понял, что это арендатор помещения на заводской территории, который сам находится в промзоне.
В итоге это два провайдера от завода и промзоны, там что ли VDSL модемы, которые нельзя перенастраивать толи ещё какое-то брахло.
Вообще странно, что «провайдеры» выдают адреса из 192.168.0.0/24 сети.
Но зачем тогда эту же сеть использовать в офисе.
«Провайдеры» не в курсе о существовании друг друга?

А еще мне не понятно как реализован failover.
То, что другая офисная сеть будет доступна при падении 1 бриджа это понятно.

А вот что будет с доступом в интернет при неполадках у одного провайдера не понятно.
А если линк будет, а доступа в интернет не будет? (Если там VDSL модемы, то линк получается ни при каких неполадках не упадёт, только если не с самим модемом проблемы)
С моей стороны заказчику было предложено построить рекурсивный маршрут с изменением target-scope, но заказчик попросил с помощью netwatch проверять доступность более десятка адресов, для уверенности, что точно провайдер не работает.
А как вы при помощи netwatch определяете, что основной канал вновь работоспособен?
трафик ICMP до проверяемых адресов маркируется и отправляется только через первого провадера.
Ping позволяет явно указать какую таблицу маршрутизации использовать. Мне кажется это менее костыльное решение.
Netwatch в микротике для каких-то непонятных мне целей сделан.
тут вопрос вкуса, либо явно указать таблицу маршрутизации в пинге.
Либо сказать что весь ICMP трафик до данных узлов идёт через такую то таблицу маршрутизации.
Ну а потом их местный админ, когда будут проблемы с интернетами, решит попинговать какой нибудь 8.8.8.8 (он же есть в списке, наверное) и будет в замешательстве.
скажу ещё в «двадцатый раз», если есть документация «что и почему и для чего», то у грамотного админа вопросов не возникнет.
Мдя. Я за такое сетестроительство руки бы отрывал.
А вообще, делаю либо хорошо, либо не делаю вовсе. То есть в вашем случае отказался бы от объекта. На крайний случай поставил бы перед выбором, либо делаем по уму либо я умываю руки и ищете другого исполнителя. По опыту знаю, что подобные заказы на «срубить бабла по быстрому» выливаются потом в кромешный ад.
И не надо говорить, что таким образом без заказчиков остаться можно.
Именно благодаря такой политике наработал себе неплохую репутацию, которая теперь работает на меня.
… потом Заказчику захочется еще что-нибудь. За Вами придет следующий грамотный админ и тоже напишет статью. Потом еще… Конечно, клиент всегда прав. Но если он захотел переделать картонный плот в яхту, может стоит сказать ему, что плот придется разобрать, полностью?
Кстати вот вам ещё пример.
Дали мне два не настраиваемых LTE модема одинаковых, сказали настрой, так чтобы обо одновременно работали. и как вы думаете какие там адреса? правильно одинаковые.

и вам ещё один пример.
Было объединение двух филиалов с каждый из сторон три десятка сетей /24 из 10.0.0.0/24 и одна сеть пересекалась, одна из шестидесяти. Так как план и сроки были утверждены временно использовали конструкцию, которую я описал выше и уже потом, медленно и не спеша стали выводить данную сеть из продакшена.
Я приношу извинения, но я три раза перечитал, но к сожалению так и не понял о чем статья. Вероятно проблема во мне. Что я должен понять из названия статьи MikroTik и 192.168.0.0/24?
Может быть это инструкция по использованию vrf в микротик?
Если кто не знает, в OpenVPN есть опция --client-nat, которая в юзерспейсе сделает ремап одного диапазона адресов в другой. Бывает удобно ее использовать не по самому прямому назначению, а для того, чтобы подключаться к одному и тому же адресу через разные VPN, подключаясь на разные адреса на стороне клиента.
«на всех маршрутизаторах включен RoMON, который позволяет подключатся с помощью winbox по mac к маршрутизатору через другие маршрутизаторы, очень похож на BGP.»

Кто на кого похож?
This page contains information about RoMON feature in RouterOS. RoMON stands for «Router Management Overlay Network». RoMON works by establishing independent MAC layer peer discovery and data forwarding network. RoMON network operates independently from L2 or L3 forwarding configuration.

Each router on RoMON network is assigned its RoMON ID. RoMON ID can be selected from port MAC address or specified by user.

RoMON protocol does not provide encryption services. Encryption is provided at «application» level, by e.g. using ssh or by using secure winbox

Фантазия автора безгранична. Какая связь между протоколом передачи маршрутной информации и протоколом удаленного управления микротиков? Кстати, я бы этот romon в доверенной сети только держал. Исключительно ;)
Как я в своё время запарился выкорчёвывать адреса типа 1.1.1.1 и так далее с ptp интерфейсов в одной не маленькой сети…
Туже задачу разрулил с помощью VLAN на микротик — всё гораздо проще.
видимо, в каждом влане одна из «одинаковых» сетей, и потом какие-то маршрутизации идут.
Я же не вместо него отвечаю, я предполагаю.:) Либо он имел в виду EoIP, который в статье на хабре же обзывают как VLAN.
Вопрос от новичка:
А почему именно MikroTik, и можно ли решить эту же задачу другими средствами, например, pfSense?
Статья именно про микротик, но думаю любой маршрутизатор с vrf на борту справится с такой задачей
Ну статья-то — всего лишь описание проделанной Вами работы. Мне просто любопытно, почему выбран именно MikroTik.
Наверное, логичнее всё же использовать action=netmap в обоих случаях (как в srcnat, так и в dstnat) — именно для этого оно и делалось.

Да, я заметил, что action=same при использовании целой подсети в параметре to-addresses ведёт себя аналогично action=netmap, но какова причина такого совпадения — всё руки не доходят узнать у разработчиков… В любом случае, action=same, судя по мануалу, не гарантирует соответствия 1:1, в отличие от action=netmap, и поведение вполне может измениться в будущем.
http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/NAT

netmap — creates a static 1:1 mapping of one set of IP addresses to another one. Often used to distribute public IP addresses to hosts on private networks
same — gives a particular client the same source/destination IP address from supplied range for each connection. This is most frequently used for services that expect the same client address for multiple connections from the same client

То есть same гарантирует только то, что новые соединения каждого клиента будут натироваться тем же адресом, что и текущие, уже снатированные
Где вы это увидели? action=netmap работает так (напримере to-addresses=11.11.11.0/24 и клиента 192.168.30.40):
1) отсекает у адреса (src или dst — в зависимости от того, в какой цепочке натируем) сетевую часть (при заданной маске /24 от адреса останется 0.0.0.40);
2) на её место ставит сеть из to-addresses (получается 11.11.11.40).
Так что адреса всё же будут разниться в указанных пределах.

И — это по сути есть именно то, что вы и реализовали, пусть немного другим синтаксисом :)
да, у вас схема сложнее той что приходилось настраивать мне, вариант 1:1 как альтернатива с более простой схемой.
Only those users with full accounts are able to leave comments. Log in, please.