У меня есть приложение a, работающее на порту Y (UDP). Возможно ли создать зеркало, не трогая приложение A, чтобы получать сообщение в приложении a и дополнительно в приложении B (тот же хост) на другом порту Y?
Я попробовал с
socat udp-listen:x,reuseaddr,fork udp:localhost:y
К сожалению, socat
запускает прослушиватель на порту X, и приложение a не получает сообщение.
Я также читал решение с iptables
mangle, которое, похоже, больше не поддерживается моей 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
Подробнее об этом читайте на сайте, ссылку на который я привел.