将进程或用户绑定到特定IP(Linux)

前端之家收集整理的这篇文章主要介绍了将进程或用户绑定到特定IP(Linux)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的服务器上有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上(您不会听到很多回复否则).

这也只会影响从这些用户拥有的进程本地发起的流量.如果用户正在设置网络侦听守护进程,则需要采用不同的方法来处理回复,如果服务器充当路由器,则无法使用;但你没有说这两种情况都适用,所以我没有解决这些问题.

猜你在找的Linux相关文章