udp - 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
解决方案
我相信您想要的是以下内容:
sudo iptables -t nat -A OUTPUT -p udp --dport 10009 -j DNAT --to-destination 192.168.233.52:10009
因为 PREROUTING 链不会在本地出站流量的路径中。输出会。
推荐阅读
- hybris - Hybris 启动服务器进行单元测试
- macos - 如何使用 Homebrew 安装 solr 6.x?
- google-cloud-dataflow - 如何使用其他命令行参数显式设置直接运行器?
- janus-gateway - 在重新协商时使用自己的流
- sql-server - 你能在 TSQL 中引用变量标识符和参数标识符吗?
- javascript - 如何获得 Highmaps 缩放级别以及是否有 Highmaps 缩放事件?
- angular - 商店更新时重新渲染 HTML - NGXS
- git - 使用 Git 子模块获得类似 `svncopy --pin-externals` 行为的最简单方法
- tomcat - Tomcat 客户端和第一个 ignite 服务器之间的通信问题
- android - 如何使用 gradle 为风味配置不同的 buildType