Зеркалирование портов на другой порт локального хоста

Зеркалирование портов на другой порт локального хоста

У меня есть приложение a, работающее на порту Y (UDP). Возможно ли создать зеркало, не трогая приложение A, чтобы получать сообщение в приложении a и дополнительно в приложении B (тот же хост) на другом порту Y?

Я попробовал с

socat udp-listen:x,reuseaddr,fork udp:localhost:y

К сожалению, socatзапускает прослушиватель на порту X, и приложение a не получает сообщение.

Я также читал решение с iptablesmangle, которое, похоже, больше не поддерживается моей iptablesверсией.

Он должен работать на двух разных платформах:

  • Ubuntu 20.04 с iptables v1.8.4 (устаревшая версия)
  • SLES12SP5 с v1.4.21

Я не могу использовать второй IP-адрес в подсети моего eth0интерфейса.

решение1

Ах, ты можешь это сделать.с IPtables...

С этого сайта:

iptables -t mangle -A PREROUTING -p UDP --dport 162 -j TEE --gateway 127.0.0.2
iptables -t nat -A PREROUTING -d 127.0.0.2 -p UDP --dport 162 -j DNAT  --to 127.0.0.1:1162

Подробнее об этом читайте на сайте, ссылку на который я привел.

Связанный контент