Linux

將程序或使用者綁定到特定 IP (Linux)

  • February 17, 2011

我的伺服器上有 3 個非 root 使用者,我想為每個使用者分配不同的 IP 地址(我在一個網路介面上有多個 IP)。例如,user1 將有 192.168.1.2,user2 - 192.168.1.3 等等。或者,如果不可能,我如何將特定程序綁定到給定的 IP 地址(我建議,可以使用 iptables,但如何?)。謝謝。

iptables -t nat -A POSTROUTING -m owner --uid-owner user1 -j SNAT --to-source 192.168.1.2
iptables -t nat -A POSTROUTING -m owner --uid-owner user2 -j SNAT --to-source 192.168.1.3
iptables -t nat -A POSTROUTING -m owner --uid-owner user3 -j SNAT --to-source 192.168.1.4

您有責任確保 (a) 您沒有以其他方式使用 POSTROUTING nat 鏈,因此這些規則不會與其他任何內容髮生衝突,並且 (b) 所有這些 IP 地址都存在於您的 NIC 上(您不會否則聽到很多回复)。

這也只會影響來自這些使用者擁有的程序的本地流量。如果這些使用者正在設置網路監聽守護程序,則需要使用不同的方法來處理回复,如果伺服器充當路由器,這將不起作用;但你沒有說這兩種情況都適用,所以我沒有解決這些問題。

引用自:https://serverfault.com/questions/236721