AWS ubuntu 其两个接口之间的 iptable 端口转发

AWS ubuntu iptable port forwarding between its two interfaces

我有一个具有以下网络接口的 AWS ubuntu 实例:

ens5, ip: 172.XX.XX.XX

A5TAP, ip:192.168.233.1 (VPN)

如何将端口 10000-10200 udp 转发到 192.168.233.52:10000-10200? 我尝试了下面针对单个端口 10009 的明显命令,但它不起作用:

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

=======到目前为止我尝试了什么:

我正在尝试将所有 udp 流量转发端口 10009 到 ens5,到 A5TAP 中的 192.168.233.52:

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

udp流是视频流。

我遵循了 this 教程,但它不起作用。当我将 udp 流拍摄到 172.XX.XX.XX:10009 时,没有视频显示。 如果我这样做 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....)

这意味着我的 AWS 实例正在从我的机器接收视频流。

但是我做的时候sudo tcpdump -i A5TAP -n udp port 10009,没有流量

如果我把带视频流的机器加入到A5TAP VPN,把udp流发送到192.168.233.52:10009,就可以看到流了。


多亏了maxstr的回答,同一台机器接口之间的端口转发成功了:

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

我相信你想要的是:

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

因为 PREROUTING 链不会在本地出站流量的路径中。输出将。