我的系统上有两个以上的用户和两个不同的网络接口,我想让我的第二个用户优先选择其中一个。
这些设备之一是 eth0 和 tun1。是否可以实现这一点,或者这些选项是系统范围内的吗?
另一个用户应该继续使用 eth0。
是的,我正在使用 ubuntu。(18.04)
答案1
是的,这是可能的。你必须用“所有者”标记数据包,参见这)MARK
基于流程和用户的扩展。
iptables ... -j MARK --set-mark 15
一旦数据包被标记,您就可以创建新的路由,例如新的默认路由,并将其关联到路由表:
ip route add table 10 your_route_for_that_user
然后你告诉系统使用表 10 来路由所有标记为 15 的包裹(15 和 10 可以是ip route add table
和的任意有效数字-j MARK
):
ip rule add fwmark 15 table 10