我在我的服务器上有3个非root用户,我想给他们每个人不同的IP地址(我在一个networking接口上有多个IP地址)。 例如,user1将具有192.168.1.2,user2 – 192.168.1.3等等。 或者,如果不可能,我怎样才能将特定的进程绑定到给定的IP地址(我build议,可以用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上(您不会否则会听到很多回复)。
这也只会影响来自这些用户拥有的进程的本地stream量。 如果这些用户正在设置networking监听守护进程,则需要采用不同的方法来处理响应,如果服务器充当路由器,则这将不起作用; 但是你没有说这些情况是适用的,所以我没有解决这个问题。