我在运行 Archlinux 的 Raspberry Pi 上运行一个 tornado 服务器。为了避免以 root 身份运行该进程,我想在端口 5000 上运行服务器,同时将端口 80 上进入的所有 TCP 数据包路由到端口 5000,反之亦然。
我研究过 iptables,但我无法理解配置语法。我在谷歌上找到的例子并不是特别透明。谁能好心为我提供完成此操作所需的命令?解释命令的不同部分的奖励积分。
最佳答案
你需要安装一个'prerouting/nat'风格的规则:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
指令是:
-t nat
- 这会影响 nat 表-A PREROUTING
- 附加到 PREROUTING 链 - 这几乎是“一旦我看到这个数据包”链-i eth0
- 这是受影响的接口(interface)-p tcp
- 仅 tcp 连接(例如 http)--dport 80
- 目标端口 80-j REDIRECT
- 当这条规则匹配时跳转到REDIRECT链--to-port 5000
- 这条规则生效的地方,重定向到5000端口
关于linux - 使用 iptables 将端口 80 路由到端口 5000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24180284/