Как продублировать tcp-пакет, приходящий на сервер, на другой сервер?
Есть сервер ubuntu, на определенный порт которого приходят TCP-пакеты (не HTTP). Эти пакеты обрабатываются сервисом, который слушает порт на этой машине. Сервис нельзя останавливать. Необходимо каким-то образом (если это возможно) направить копию tcp-пакета на другой удаленный сервер (либо направить на другой порт этой же машины).
Как я понимаю, необходим какой-то middleware, который перед тем, как отдаст сообщение сервису, сделает копию и отправит на другой сервер. Смотрел в сторону nginx и proxy_pass, но нахожу только балансировку нагрузки:
stream {
upstream stream_backend {
remoteserver.com:12345; # направить пакет на другой сервер
127.0.0.1:12345; # отдать локальному сервису (на тот же порт!)
}
server {
listen 12345;
proxy_pass stream_backend;
}
}
В идеале, должно быть нечто похожее, только вместо распределения пакетов должна быть многоадресная рассылка. Пока ничего не смог найти в интернете