포트 Y(UDP)에서 실행 중인 애플리케이션이 있습니다. 애플리케이션 A를 건드리지 않고 미러를 생성하여 애플리케이션 a와 추가로 다른 포트 Y의 애플리케이션 B(동일 호스트)에서 메시지를 받을 수 있습니까?
나는 시도했다
socat udp-listen:x,reuseaddr,fork udp:localhost:y
불행하게도 socat
포트 X에서 리스너를 시작했는데 애플리케이션 a가 메시지를 수신하지 못했습니다.
나는 또한 iptables
mangle을 사용하여 일부 솔루션을 읽었습니다. 내 버전에서는 더 이상 지원되지 않는 것 같습니다 iptables
.
두 가지 플랫폼에서 실행되어야 합니다.
- iptables v1.8.4(레거시)가 포함된 Ubuntu 20.04
- 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
제가 링크한 사이트에서 자세한 내용을 읽어보세요.