我可以为不同的用户设置不同的路由表吗?

我可以为不同的用户设置不同的路由表吗?

我的 Linux 机器有两个账户。我想为不同的账户设置不同的默认网关。如果可以的话,我该怎么做?

答案1

路由表是系统范围内的,而不是用户特定的。所以,它并不简单。

步骤如下:

1:大量使用ip routeip rule命令创建多个路由表。

2:设置 iptables 根据发送方进程的 UID 标记传出的数据包。

3:根据标记(传出的数据包从 iptables 获得)设置路由表。

解决方案是属于某个用户的所有进程都将使用备用路由表。


扩展 #1:不幸的是,ip route和并ip rule没有很好的文档记录。但是您可以创建多个具有不同规则的路由表。注意:它们是路由表,与 iptables 完全不同!而且,诀窍在于您可以在 iptables 中“标记”数据包,这实际上意味着您可以为它们赋予单个整数值。最后,您可以设置 iptables 规则以将标记的数据包路由到其他方式(使用其他路由表)。它很简洁,并且功能良好,但文档记录并不完善。

扩展 #2:据我所知,这ip rule是处理多个路由表实体的命令。ip route您还可以设置要将给定路由插入(修改)到哪个路由表中。

扩展 #3:通过 iptables 更改传出数据包的路由表并非易事,这个帖子做什么也由我起作用。

答案2

但是请看我的例子 uidrange 路由表

相关内容