我正在使用 iptables 并尝试执行非常简单的任务:将流量转发到我的 Ubuntu 上的端口 8888 到位于 IP 172.21.16.1 和端口 5000 的另一台服务器。
在我的环境中,我有一个 Windows 工作站。Ubuntu 由 hyper-v 提供服务。我的 Windows 工作站有几个网络接口,包括由 hyper-v 创建的。在那里分配给的 IP 地址172.21.16.1。Ubuntu 有一个 IP 172.21.26.237。
我在 Windows 工作站上启动了简单的 Web 服务器,它侦听端口 5000 以获取 HTTP 请求。如果在浏览器中打开页面http://172.21.16.1:5000(没关系,如果是 Ubuntu 或 Windows),我会看到预期的输出。
我查了几篇文章,看起来应该很简单明了。我执行了以下命令:
sudo iptables -A PREROUTING -t nat -p tcp --dport 8888 -j DNAT --to-destination 172.21.16.1:5000
sudo iptables -A POSTROUTING -t nat -p tcp --dport 8888 -j SNAT --to-source 172.21.26.237
Run Code Online (Sandbox Code Playgroud)
如果我从 Windows 工作站打开页面http://172.21.26.237:8888/ - 超时。
我检查过的: …