LINUX.ORG.RU
ФорумAdmin

проброс broadcast через шлюз

 


0

2

Есть устройство преобразующее com порт в ethernet и обратно, а так же программка под виндовс для создания вирутального com порта. Она посылает broadcast 255.255.255.255 в сеть, устройство ей отвечает. Во внутренней сети всё работает хорошо.

Для работы этой программы извне настроил openvpn, вижу внутреннюю сеть, работает rdp, а вот broadcast на openvpn-новском интерфейс приходит, а на внутреннем его нет. Маршрут настроил:

255.255.255.255 0.0.0.0         255.255.255.255 UH    0      0        0 eth1

Правила на сетевом фильтре открыл. Может надо в ядре специально для broadcast разрешить, типа как для форвардинга:

net.ipv4.ip_forward=1
★★

Что за устройство ?

Хочется знать от чего держаться подальше. Авторы этой поделки явно не дружат с головой.

Броадкасты (особенно 255.255.255.255) нельзя форвардить. Нужен ретранслятор или прокся.

vel ★★★★★
()
Ответ на: комментарий от vel

Хочется знать от чего держаться подальше. Авторы этой поделки явно не дружат с головой.

Почему? Обоснуйте пожалуйста.

Броадкасты (особенно 255.255.255.255) нельзя форвардить. Нужен ретранслятор или прокся.

То есть через шлюз под линуксом вообще никак не пробросить?

v4567 ★★
() автор топика
Ответ на: комментарий от v4567

Ты уже столкнулся с проблемой и проблема эта фундаментальная (использование немаршрутизируемых адресов для адресации устройства).

Вариантов 2: либо разработчики на столько тупые, что не смогли реализовать автоконфигурирование, либо это поделка не предназначена для удаленного доступа по причине полного отсутствия безопасности (использование броадкастов один из показателей).

А как у них решен вопрос если таких устройств в сети > 1 ?

IMHO Это либо демо-версия устройства, либо пионерская поделка.

То есть через шлюз под линуксом вообще никак не пробросить?

Без доп. софта это устройство недоступно за пределами той сети в которой оно включено.

Написать такой ретранслятор не очень сложно.

vel ★★★★★
()
Ответ на: комментарий от vel

IMHO Это либо демо-версия устройства, либо пионерская поделка.

https://www.moxa.com/

https://www.moxa.ru/

либо разработчики на столько тупые, что не смогли реализовать автоконфигурирование

А как у них решен вопрос если таких устройств в сети > 1 ?

Наоборот с броадкастом как раз сделано продуманно. Например у нас есть 100 таких устройств, мало того что для каждого устройства надо зайти по веб-интерфейсу и прописать для него свой ip, так ещё и в этой программе (которая создаёт виртуальные com порты) надо прописать для каждого устройства свой ip. А так в этой программе прописывать ничего не надо (там даже таких настроек нет), просто нажимаем кнопку добавить и она рассылает броадкаст 255.255.255.255 . Все устройства в сети получают его, смотрят данные и те устройства для которых эти данные понятны, высылают на обратный адрес ответы со своими серийными номерами и ip, а программа получив эти ответы в виндовсе, автоматом формирует виртуальные com порты. Так что наоборот всё продуманно, просто она наверное не предназначена, для использования вне внутренней сети.

Без доп. софта это устройство недоступно за пределами той сети в которой оно включено.

Получается в ядре линукс это так намертво прописано (не прокидывать броадкаст 255.255.255.255) что никак не включишь, кроме как править ядро или что то писать своё?

Написать такой ретранслятор не очень сложно.

Написать для меня очень сложно.

v4567 ★★
() автор топика
Последнее исправление: v4567 (всего исправлений: 2)

Настроить в openvpn tap туннель и потом его завести в бридж с сетевой карточкой. Будут бродкасты мимо маршрутизации бегать

Yur4eg ★★
()
Ответ на: комментарий от Yur4eg

Настроить в openvpn tap туннель и потом его завести в бридж с сетевой карточкой.

Это имеется ввиду на сервере? Если можно немного поподробней напишите пожалуйста как этот бридж сделать.

v4567 ★★
() автор топика

Limited broadcast именно так называется IPv4 пакет направленный на адрес 255.255.255.255 не когда не маршрутизируется, это запрещено согласно RFC 1812: Requirements for IP Version 4 Routers.

Как вам уже сказали выше, вы можете использовать или UDP relay или же bridging.

Для создания моста, можете использовать команды:

# ip link add name bridge_name type bridge

# ip link set bridge_name up

# ip link set eth0 master bridge_name

ZANSWER
()
Ответ на: комментарий от v4567

То, что броадкаст используется только для обнаружения устройства - это нормально, но из первого поста это не следовало.

Решение из подручных средств (мост с ovpn) тебе уже подсказали.

vel ★★★★★
()
Ответ на: комментарий от vel

Решение из подручных средств (мост с ovpn) тебе уже подсказали.

Спасибо, попробую сделать.

v4567 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.