Search code examples
udpiptablesportforwarding

AWS ubuntu iptable port forwarding between its two interfaces


I have an AWS ubuntu instance with the following network interfaces:

ens5, ip: 172.XX.XX.XX

A5TAP, ip:192.168.233.1 (VPN)

How do I udp port forward port 10000-10200 to 192.168.233.52:10000-10200? I tried a the obvious commands below for a single port 10009, but it is not working:

sudo iptables -t nat -A PREROUTING -p udp --dport 10009 -j DNAT --to-destination 192.168.233.52:10009
sudo iptables -t nat -A POSTROUTING -p udp -d 192.168.233.52 --dport 10009 -j SNAT --to-source 172.XX.XX.XX
sudo iptables -t nat -L -n

=======What I tried so far:

I am trying to port forward port 10009 all udp traffic to ens5, to 192.168.233.52 in A5TAP:

172.XX.XX.XX:10009 -> 192.168.233.52:10009

The udp stream is a video stream.

I followed this tutorial, but it is not working. As when I shoot the udp stream to 172.XX.XX.XX:10009, no video is showing. If I do sudo tcpdump -i ens5 -n udp port 10009:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens5, link-type EN10MB (Ethernet), capture size 262144 bytes
14:08:51.035226 IP 59.XXX.XXX.XXX.46696 > 172.XX.XX.XX.10009: UDP, length 1400
14:08:51.035703 IP 59.XXX.XXX.XXX.46696 > 172.XX.XX.XX.10009: UDP, length 510
(and so on....)

That means my AWS instance is receiving the video stream from my machine.

But when I do sudo tcpdump -i A5TAP -n udp port 10009, there are no traffics.

If I joined the machine with video stream to A5TAP VPN, and send udp stream to 192.168.233.52:10009, I can see the stream.


Thanks to maxstr's answer, the port forwarding between interfaces in the same machine worked:

sudo tcpdump -i A5TAP -n udp port 10009:

07:45:53.701800 IP 192.168.233.1.49538 > 192.168.233.52.10009: UDP, length 700


Solution

  • I believe what you want is the following:

    sudo iptables -t nat -A OUTPUT -p udp --dport 10009 -j DNAT --to-destination 192.168.233.52:10009
    

    because the PREROUTING chain will not be in the path of local outbound traffic. OUTPUT will.