微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将进程或用户绑定到特定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上(您不会听到很多回复否则).

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

原文地址:https://www.jb51.cc/linux/400254.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐