主页

创建一个空用户,并查看其用户id,查看用户id有2种
第一种:cat /etc/password,查找对应行的用户名然后找到第二个冒号后面大概就是他的uid了。
第二种,切换到该普通用户(sudo 用户名 或者 su 用户名),然后执行id就可以查看到uid了。

iptables -t mangle -A OUTPUT -m owner --uid-owner 6801 -j MARK --set-mark 0x6801
参数解释:
--uid-owner 指定用户id,比如我的是6801,这里改成你自己的。
--set-mark 设定数据包标记id,如果规则不一样,就设定不同的标记id,用于分类。

ip rule add fwmark 0x6801 table 6801
参数解释:

fwmark 指定上面标记的id,比如我的标记的id是0x6801
table 指定分组的表名
ip route add default via 10.40.0.1 table 6801
参数解释:
via表示 网关,可以使用route命令查看默认表里面的路由网关。
给一个分组添加一个默认的网络出口,这样就可以实现给某个程序指定网络出口啦。

ip route add 172.24.0.0/16 via 192.168.2.240 table 6801
参数解释:
添加一个私有网段,网络出口(下一跳地址)为192.168.2.240,只对6801表有效。

注意:用户id、标记id、表名可以不一样,我这里主要是为了方便我自己归类。

版权属于:WANYL
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
0

目录

来自 《linux 多网关情况给某个程序(用户)实现不同走不同网络出口》
评论

WANYL

博主很懒,啥都没有
123 文章数
0 评论量
11 分类数
124 页面数
已在风雨中度过 3年289天14小时2分