【问题标题】:AWS ubuntu iptable port forwarding between its two interfacesAWS ubuntu iptable 两个接口之间的端口转发
【发布时间】: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


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢!文字命令有效!我会看一下以了解更多关于 iptable 链的概念。再次感谢您让我免于无休止的调试时间。
猜你喜欢
  • 1970-01-01
  • 2013-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-08
  • 1970-01-01
  • 2019-05-30
  • 2022-12-11
相关资源
最近更新 更多