策略路由
跳转到导航
跳转到搜索
双网络路由
在主路由表按目标地址进行分流。然后设置策略路由:
ip -6 ru add from NET1 lookup 200
ip -6 ru add from NET2 lookup 201
并且在每一个路由表中设置默认路由项。这样才能让入站流量使用来源接口进行回复(「源进源出」)。
标签分流
给指定的cgroup打标签,并将其分配到指定的路由表。由于确定socket源地址时并没有标签,socket的源地址会依据主路由表来选择,因此需要使用masquerade来修正源地址。[1]
nft add rule ip6 TABLE output 'socket cgroupv2 level 4 "user.slice/user-1000.slice/user@1000.service/matchme.slice" counter meta mark set 0x4'
ip -6 ru add fwmark 4 lookup 200
nft add chain ip6 TABLE postrouting '{ type nat hook postrouting priority 10; }'
nft add rule ip6 TABLE postrouting 'oif wlan0 mark 4 counter masquerade'