原来的tun模式是要拦截所有dns流量的,这样有一个问题,就是如果本地配置了k8s,之类的,内部的service是无法调通的,因为都被clash的dns劫持了。
所以需要配置ebpf来只代理外网的流量,内网的就不代理。
安装 bpf
配置 clash
这几行是需要修改的内容,合并到原来的文件里面就可以了,其中 wlan0
要修改为你连接外网的设备
tun:
auto-route: false
ebpf:
redirect-to-tun:
- wlan0
routing-mark: 6667
配置权限
如果是root执行的clash应该可以不用理,如果是普通用户的话,需要设置一下 clash 的权限。
# /usr/bin/setcap CAP_PERFMON,cap_bpf,cap_sys_admin,cap_net_admin,cap_net_bind_service=ep /usr/bin/clash
然后应该就可以启动 clash 了
如果是 clash-verge 启动的话,需要确认 Clash 字段
是不是勾选了上面所有的字段。