bullitufa
@bullitufa
электронщик программист (микроконтроллеры и PC)

Как правильно связать два ethernet интерфейса и сделать фильтрацию пакетов?

Здравствуйте, уважаемые знатоки!

Есть устройство с двумя ethernet портами/интерфейсами. Необходимо передавать пакеты с одного на другой только на определённый ip. В другом направлении можно всё. Настройки сети могут быть разными.

Как правильно называется такой режим проброса? Мост? Маршрутизация?
Можно ли просто перекидывать пакеты с одного интерфейса в другой не модифицируя пакет?

Как проще всего такое реализовать? Устройство на мк stm32, стек tcp есть.
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 3
@ky0
Миллиардер, филантроп, патологический лгун
Это вопрос к устройству - умеет оно анализировать пакеты и принимать какие-то решения в соответствии с данными или нет.

То, что вам нужно, обычно на том же линуксе реализуется фаерволлом - просто наличия TCP-стека недостаточно, если нужно нечто большее, чем объединение двух интерфейсов в мост, т. е., фактически, в один L2-домен.
Ответ написан
@pfg21
ex-турист
вопрос в мощности stm32. хватит мощи - пиши свой/кроспортируй роутер на стм32.
имхо прямее и эффективнее взять готовую железяку с готовым линуксом (от роутера типа nexx wt3020h до малинки/бананки/итд) и нарисовать правила роутинга в нем.
Ответ написан
@oam2oam
Такое устройство называется hub, если оно не фильтрует пакеты. Проблема же с stm32 в том, что у него только одно MAC - стало быть, можно подключить только один eth-интерфейс. Сейчас есть у NXP процессор на CORTEX-M7 с двумя MAC - на нем это сделать очень просто: надо брать пакеты и фильтровать (даже стек TCP не нужен).
У меня есть такая же примерно разработка на stm32f107, но она не фильтрует пакеты, а отслеживает и инжектирует по мере необходимости.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы