將流量從連接埠 80 重新路由到單一 ip 上的另一個連接埠

將流量從連接埠 80 重新路由到單一 ip 上的另一個連接埠

我有一台具有多個與其關聯的 IP 位址的伺服器。我正在嘗試運行一個node.js Web伺服器(我不想以root身份運行),僅使用這些IP位址之一(如果來自所有IP位址的流量都被轉發,那將是非常糟糕的)。

透過搜尋超級用戶,看起來這可以透過 iptables 實現:

如何設定 iptables 以在連接埠 80 上轉送來自特定來源的流量

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

但是,我不明白為什麼需要 eth0。

根據:

http://blog.softlayer.com/2011/iptables-tips-and-tricks-port-redirection/

這可以透過以下方式完成:

iptables -t nat -A PREROUTING -p tcp --dport 2525 -j REDIRECT --to-ports 25

將連接埠 80 上的單一 IP(例如 111.111.111.111:80)的流量轉送到同一伺服器上的另一個連接埠(例如 111.111.111.111:8765)的正確方法是什麼?

感謝您的幫忙!

答案1

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

eth0我的意思是,您可以使用您想要的接口,而不是使用 IP 位址,而使用接口名稱。

iptables 這條規則說:

  1. 在 PreRouting 上執行
  2. 多納特
  3. 在介面 eth0 上
  4. 協議是TCP
  5. 要匹配的目標連接埠是 80
  6. 重定向到連接埠 8765

相關內容