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

Маршрутизация широковещательного пакета

На микротике два бриджа. К каждому подключена локальная сеть. На бридже 1 192.168.1.0/24. На бридже 2 172.16.0.0/16. Для пакетов исходящих с бриджа 2 работает srcnat. Правила файрвола ничему не мешают. 
Задача - маршрутизировать широковещательный пакет (dst ip 255.255.255.255 и dst MAC FF:FF:FF:FF:FF:FF ) из сети 1 в сеть 2.

Вроде бы задача не сложная, но решить не получается. Буду благодарен за помощь. 

Share this post


Link to post
Share on other sites
4 часа назад, kuzma73 сказал:

маршрутизировать широковещательный пакет

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

В качестве вредного совета - объединить бриджи в один и натить не по бриджу, а по сурсу

Share this post


Link to post
Share on other sites

@kuzma73 Лучше напиши, что вы хотите реализовать? 99.9% что вашу задачу можно решить по другому. 

Share this post


Link to post
Share on other sites

Ок. В сети 2 сервера (видеонаблюдение + камеры). В сети 1 клиенты. При добавлении нового клиента он ищет сервера посылая один широковещательный пакет, на который каждый из серверов отвечает уже нормальным юникастом. Если добавлять сервера на клиенты по одному руками, то всё норм. Перенести клиентов в сеть 2 невозможно. 

Share this post


Link to post
Share on other sites

Разобрать бриджи и включать proxy-arp прямо на портах ethernet.

Share this post


Link to post
Share on other sites

А по доменному имени клиенты точно не могут искать? В смысле может есть специальное доменное имя по которому они пытаются разрезолвить адрес сервера?

Share this post


Link to post
Share on other sites
1 час назад, jffulcrum сказал:
1 час назад, jffulcrum сказал:

Разобрать бриджи и включать proxy-arp прямо на портах ethernet.

Так попробую, спасибо.

 

 

27 минут назад, VolanD666 сказал:

А по доменному имени клиенты точно не могут искать? В смысле может есть специальное доменное имя по которому они пытаются разрезолвить адрес сервера?

Не, широковещательный пакет не проходит. Я в шарке глядел.

Edited by kuzma73

Share this post


Link to post
Share on other sites

Я в смысле про то, что клиент может сначала запрашивать какое-нить специальное доменное имя типа: "SUPER-PUPER-SERVER.local.ccc" и когда ему резолв не приходит, он начинает искать широковещательными пакетами. Нет?

Share this post


Link to post
Share on other sites
1 минуту назад, VolanD666 сказал:

Я в смысле про то, что клиент может сначала запрашивать какое-нить специальное доменное имя типа: "SUPER-PUPER-SERVER.local.ccc" и когда ему резолв не приходит, он начинает искать широковещательными пакетами. Нет?

Не, сразу пакет.

Share this post


Link to post
Share on other sites

В догонку, так сказать. Мне не столько надо сделать чтобы эта конфигурация работала - она и так работает.  Сервера руками добавлены. Новые клиенты появляются не часто. Мне интересно как можно (если можно) маршрутизировать пакет. Я пробовал dst nat в прероутинге, манглы + маршруты  и т.д. Не получается. Если в прероутинге делаешь дстнат на ip адрес микротика, то пакет попадает в цепочку input. Если на адрес сети 2 - то его не видно ни в output ни в forward. Хотелось бы разобраться чего происходит.

Share this post


Link to post
Share on other sites

Kuzma73, доброго времени суток.

 

В привычном понимании маршрутизаторов (что мы называем маршрутизаторами класса SOHO), маршрутизация широковещательных пакетов между подсетями (ограниченными маской сети) – не возможна.

 

Возможно только преобразование широковещательного запроса (например DHCP) в IP кадр отправляемый конкретному IP адресу (IP helper перенаправляет запрос DHCP серверу, затем возвращает обратно).

 

Дополнительно: Например, технология IGMP snooping применяемая для IPTV является многоадресной, но не широковещательной.

Большинство современных IP видеокамер, видео регистраторов и софт-видео регистраторов к сожалению сделаны по принципу поиска друг друга в сети с "одним коммутатором", используя широковещательный запрос L2 сети, но полноценных SOHO маршрутизаторов способных преобразовать данный широковещательный запрос на подобии IP helper практически не существует.

Share this post


Link to post
Share on other sites

Возможно, мне хочется странного, но я хотел бы разобраться. Итак на микротик из сети №1 приходит пакет c ip адресом получателя 255.255.255.255 и MAC адресом получателя FF:FF:FF:FF:FF:FF. Я отлавливаю его в цепочке прероутинга и дст натом меняю ему адрес получателя на занятый адрес из сети #2 (например 172.16.155.155 - такой сервер есть). И после этого пакет не появляется ни в одной из цепочек. Что с ним происходит и почему? 

Я рассуждал так: После дст ната в прероутинге, принимая решение о маршрутизации, микротик увидит что пакет адресован компу из сети №2 и отправит его в цепочку форвард. Но что-то, как говорится, пошло не так. Я исходил из того что пакет в микротике движется как нарисовано на прилагаемой картинке (взятой отсюда https://habr.com/ru/post/443788/ ) Т.е. в точке 1 пакет отбрасываеся? Почему?

packet flow.png

Edited by kuzma73

Share this post


Link to post
Share on other sites
On 11/9/2019 at 12:30 AM, kuzma73 said:

Возможно, мне хочется странного, но я хотел бы разобраться. Итак на микротик из сети №1 приходит пакет c ip адресом получателя 255.255.255.255 и MAC адресом получателя FF:FF:FF:FF:FF:FF. Я отлавливаю его в цепочке прероутинга и дст натом меняю ему адрес получателя на занятый адрес из сети #2 (например 172.16.155.155 - такой сервер есть). И после этого пакет не появляется ни в одной из цепочек.

Откуда у вас цепочка прероутинга в NAT-е взялась ? Там есть только цепочки dstnat и srcnat.

Dst-nat из 255.255.255.255 в конкретный адрес работает, я так DHCP запросы от VPN клиентов перебрасываю на MS DHCP сервер.

 

Share this post


Link to post
Share on other sites
3 часа назад, McSea сказал:

Откуда у вас цепочка прероутинга в NAT-е взялась ? Там есть только цепочки dstnat и srcnat.

Dst-nat из 255.255.255.255 в конкретный адрес работает, я так DHCP запросы от VPN клиентов перебрасываю на MS DHCP сервер.

 

А цепочка dstnat в NAT-е где находится?

Пробрасываете именно dstnat-ом, или при помощи DHCP Relay ?

Share this post


Link to post
Share on other sites

@kuzma73 

/ip firewall nat
add action=dst-nat chain=dstnat comment="DHCP INFORM" dst-address=255.255.255.255 dst-port=67 log=yes log-prefix=DHCP protocol=udp src-address=YY.YY.YY.YY src-port=68 to-addresses=XX.XX.XX.XX

Вот такое правило, и к нему еще в Raw надо правило с no track, чтобы обратно адрес сервера на 255.255.255.255 не менялся

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now