首页 > 解决方案 > AWS ubuntu iptable 两个接口之间的端口转发

问题描述

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

ens5, ip: 172.XX.XX.XX

A5TAP, ip:192.168.233.1 (VPN)

如何udp端口转发端口10000-10200到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

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

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

172.XX.XX.XX:10009 -> 192.168.233。52 :10009

udp 流是视频流。

我按照教程进行操作,但它不起作用。当我将 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

标签: udpiptablesportforwarding

解决方案


我相信您想要的是以下内容:

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

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


推荐阅读