#1858: Broadcast при network mapping и bc_forwarding

Отредактирована: 292 дня назад

Симптомы

Имеется необходимость настроить переадресацию широковещательных пакетов из одной подсети в другую. Используется два порта межсетевого экрана с IP (192.168.1.1 и 192.168.2.1), к которым подключенны по одному хосту из соответствующих подсетей (192.168.1.20 и 192.168.2.20 соответственно), на хосте 192.168.1.20 запущена передача широковещательных пакетов 192.168.1.20 -> 192.168.1.255, которые должны приниматься на 192.168.2.20.

Для этого был опробован механизм network mapping (так как несколько портов должны быть объединены в единую сеть) с подменой сети источника на интересуемую сеть.

В журнале траффика отображается соотвествующее преобразование, сеть назначения изменяется с 192.168.1.255 на 192.168.2.255, однако пакеты не приходят на порт межсетевого экрана. Механизм bc_forwarding активирован для данных портов, ARP ответы от портов разрешены. Если изменить передачу с broadcast адреса на unicast, то всё отрабатывает хорошо и пакеты адресуются.

Решение

Использовать directed broadcast, при котором адрес 192.168.1.20 будет отсылать пакеты сразу в подсеть 192.168.2.255.

Причина

Особенность такой отработки в том, что при broadcast'е (192.168.1.20 -> 192.168.1.255) отрабатывает обычная обработка broadcast пакета. При network mapping адрес изменится на 192.168.2.255, но пакет будет принят на интерфейсе из сети 192.168.2.0/24 и не отправится дальше в сеть. При directed broadcast срабатывает другой механизм по перенаправлению пакета (192.168.1.20 -> 192.168.2.255), который регулируется через параметр bc_forwarding=1 в CLI.