Я работаю над проектом, в котором мне нужно передать несколько широковещательных пакетов 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, а туннелирует исходный пакет туда, куда ведет туннель, а затем отделяет от туннеля до конечного пункта назначения.