Hello, I forwarded udp to a local port through iptables. Originally, I could resolve the destination address from msghdr, However Libuv didn't open this struct to the outside world.
What should I do if I want to know the original destination of udp?
ip rule add fwmark 1 lookup 100
ip route add local default dev lo table 100
iptables -t mangle -A PREROUTING -p udp --dport 53 -j TPROXY --on-ip 127.0.0.1 --on-port 5353 --tproxy-mark 0x01/0x01
iptables -t mangle -A OUTPUT -p udp --dport 53 -j MARK --set-mark 1
I'm moving this to libuv/help because the feature you're asking for is not something libuv can support, it's non-portable. As a workaround, try using a uv_poll_t.
Hello, I forwarded udp to a local port through iptables. Originally, I could resolve the destination address from msghdr, However Libuv didn't open this struct to the outside world.
What should I do if I want to know the original destination of udp?
https://github.com/libuv/libuv/blob/47e0c5c575e92a25e0da10fc25b2732942c929f3/src/unix/udp.c#L304