2014-06-12 156 views
0

我在运行Archlinux的Raspberry Pi上运行龙卷风服务器。为了避免以root身份运行进程,我希望在端口5000上运行服务器,同时将端口80上进入的所有TCP数据包路由到端口5000,反之亦然。使用iptables将端口80连接到端口5000

我已经查看了iptables,但是我无法将我的头包裹在配置语法中。我在Google上找到的例子并不是特别透明。任何人都可以提供必要的命令来完成这个任务吗?用于解释命令的不同部分的奖励点。

+0

端口重定向更多的是一种系统管理员/超级用户问题比编程问题 – Petesh

+0

好问题,但它真的是超级用户。我投票重定向它那里 –

回答

6

你需要安装一个 'PREROUTING/NAT' 样式规则:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000 

的指令是:

  1. -t nat - 这会影响nat表
  2. -A PREROUTING - 追加至PREROUTING链 - 这几乎是'一看到这个数据包'的链'
  3. -i eth0 - 这是受影响的接口
  4. -p tcp - 只有TCP连接(例如, HTTP)
  5. --dport 80 - 目标端口80
  6. -j REDIRECT - 当这种规则匹配跳转到重定向链
  7. --to-port 5000 - 治所在今生效,重定向到端口5000
+0

太棒了!可能是愚蠢的后续问题:这是否也会将HTTP响应正确地路由回发端?也就是说,我不需要单独的规则来回答? – Godsmith

+1

是的,它会将响应路由回去。 – Petesh

相关问题