Назад | Перейти на главную страницу

Как транслировать пакеты DNAT

Я работаю над проектом, в котором мне нужно передать несколько широковещательных пакетов DNAT на IP-адрес удаленной машины. До сих пор я узнал, что IP-таблицы могут использовать только одноадресные пакеты DNAT, а не широковещательные пакеты DNAT. Я ищу программное обеспечение, которое может прослушивать эти широковещательные пакеты на Ubuntu или Centos, а затем преобразовывать их в одноадресные пакеты, чтобы их можно было отправлять на удаленный компьютер в другой сети. Я знаю, что есть несколько вариантов для окон, таких как "multi-port-forwarder" и "AUTAPF", но я ищу аналогичную утилиту для Linux.

Основной дизайн

В качестве альтернативы AUTAPF, сокат может быть использован.

$ sudo socat UDP4-RECVFROM:139,broadcast,fork UDP4-SENDTO:10.1.1.255:139

Где 10.1.1.255 - прямая трансляция цели

Базен на [Перенаправление UDP-портов с помощью socat, Мэтт Райалл] и [Многоадресная IP-рассылка с помощью Socat]

Просто демонизируйте это.

Или portfwd

udp.cfg

user  nobody
group nobody

udp /* UDP packets */
{
        /*
         * All packets on port 10000 are forwarded to 127.0.0.1:11000.
         */
        10000 { => 127.0.0.1:11000 }
}

Если ваша цель - снова получить пакет в виде широковещательной рассылки в пункте назначения, вы можете использовать L2 VPN. Это не DNAT, а туннелирует исходный пакет туда, куда ведет туннель, а затем отделяет от туннеля до конечного пункта назначения.