【发布时间】:2021-08-29 17:06:42
【问题描述】:
我有一个带有以下网络接口的 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 流是视频流。
我按照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
【问题讨论】:
-
我投票结束这个问题,因为一般 IPTABLES 支持是题外话。支持问题可通过superuser.com 提出。仅将此标签用于有关使用 iptables 进行编程的问题。有关配置 iptables 的问题应该在 Server Fault (serverfault.com/tour) 上提出。
标签: udp iptables portforwarding