Я пытаюсь создать службу многоадресного обмена сообщениями между vlan. Когда и многоадресный клиент, и сервер находятся в одном и том же vlan, клиент получает пакет без каких-либо проблем. Когда клиент и сервер находятся в разных vlan, мне нужно маршрутизировать многоадресные пакеты с vlan1 на vlan2. В настоящее время я использую Linux-машину с двумя nic - eth0 и eth1 в качестве маршрутизатора. Я нашел источники для настройки маршрутизаторов для маршрутизации многоадресных пакетов, но я не смог найти источники для использования Linux-машины, чтобы сделать то же самое. Может ли кто-нибудь помочь?
Ниже представлена моя установка: setup
Для этого можно использовать SMCRoute (да, для управления маршрутами многоадресной передачи нужен отдельный демон). SMCRoute можно использовать для установки статических маршрутов многоадресной передачи в таблице маршрутизации ядра Linux, которая отделена от таблицы маршрутизации unicast. Загрузите последнюю версию и соберите ее с:
tar xf smcroute-2.4.4.tar.gz
cd smcroute-2.4.4/
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
Теперь можно запустить make install
для установки SMCRoute в систему. Однако я решил не показывать это ниже, это зависит от вас. Напоминание о моем ответе использует пути относительно вашего каталога сборки.
Теперь создайте smcroute. conf
файл со следующей строкой:
mroute from eth0 source 192.168.1.2 group 224.0.0.3 to eth1
Запустите демона SMCRoute в фоновом режиме следующим образом:
sudo ./src/smcrouted -f smcroute.conf
Затем вы можете просмотреть таблицу маршрутизации многоадресной передачи, используя одну из:
ip mroute
sudo ./src/smcroutectl show routes
Убедитесь, что проверяете TTL многоадресного потока с сервера, он должен быть >1, чтобы быть маршрутизирован ядром.
Также, возможно, вы захотите посмотреть на изменение группы вашего сервера. Диапазон 224.0.0.* зарезервирован для link-local multicast, который по определению никогда не должен быть маршрутизирован.
.