2014-06-12 200 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

相關問題