[BCIE] Clash自定义下一跳(Next-hop)小技巧routing版

由于GFW造孽, 奇怪的需求越来越多~
案例 :
Clash自带的出站方式已基本被阻断, 现需要将"Clash1号透明网桥"识别到的"Youtube , Twitch"的流量精准投递到"赶羚羊2号透明网桥"去处理 .
如果有next-hop这种参数那就直接填IP就能转到下一个设备了.
然而Clash路由方式出站只有"interface-name"这个参数 .
也就是必须多一个接口, 不能使用任何Routing的方式 .
这个时候就必须划VLAN了 ~
Linux或OpenWRT划分VLAN都是新建一个接口, 比如网卡是eth0, vlan ID是232 , 那新建的接口就是 : eth0.232

之后给2个设备的VLAN接口上再配上IP
比如 192.168.232.2/24 , 另一头 192.168.232.1/24
ping 一下 , 通了 ~ 就进入下一步~

很多Bill Mike的观众会认为Clash只要选了eth0.232 这个接口 , 流量自动会发给 192.168.232.1
如果真是这样的话 , CISCO就是他开的了~

按照图1 : 新建一张路由表 比如 2333 , 网关写 192.168.232.1
按照图2 : 新建路由规则 将eth0.232上的192.168.232.2作为源IP, 路由表选 2333
这样Clash选择 eth0.232这张网卡后 , next-hop 才会是 192.168.232.1
没有这样一条规则无论接口选哪个都跟着main表走

数据发到下一跳就完了?
之后怎么出去呢?
不同网段 NAT出去是不是要Masquerade?
然而加这条规则的地方找不到?
习惯了RouterOS Rule-Based防火墙的人是找不到的~
OpenWRT的防火墙是 Zone-Based方法.
先把接口加入到一个区域中 , 比如lan. (图3)
然后到网路-防火墙里确认一下 lan-wan 是否有 "IP 动态伪装"这一条 , 这就是"masquerade", 默认应该已经有了 . 容易忽略的是把接口放到对应的Zone里 .

最后别忘了在Clash配置文件里加入这个接口 :
-
name: 'x'
type: direct
interface-name: eth0.232
 
 
Back to Top