clash 版本更新后开启透明网关方法变得比以前更简单,只需要简单几步就可以完成,不需要单独设置iptables与tproxy当然前提是使用 clash premium版本,下面介绍下一如何开启。请根据自己的操作系统选择相应的版本,开启的方法可以选择使用 eBPF与auto route 方式.
测试仅在 Linux 环境,windows 与 Mac 未进行测试
开启流量转发
开启流量转发需要执行:sysctl -w net.ipv4.ip_forward=1
开启 dns
53 端口可能被占用,可以选择关闭默认的系统 dns 端口
systemctl disable systemd-resolved
dns
  enabletrue
  listen0.0.0.053
  enhanced-modefake-ip
  nameserver
114.114.114.114
  fallback
8.8.8.8使用 auto-route 方式
auto-route 与 ebpf 方法是冲突的,只能二选一
tun
  enabletrue
  stacksystem # or gvisor
  dns-hijack
any:53
tcp://any:53
  auto-routetrue
  auto-detect-interfacetrue # 上网的网卡名称自动检测,Linux 环境一般让他自动检测就可以
#interface-name: ens33 # 手动指定网卡的名称这样配置完成后启动 clash 就可以实现透明网关,单台设备上网可以设置设备的网关与DNS为 Clash设备的ip, 要连上路由器的设备都可以科学上网,只需要在路由器管理页面设置网关与DNS为 clash 设备IP,其它设备连上路由器后可以自动实现科学上网功能。
使用 ebpf 模式
eBPF 模式与 auto-route 冲突,只能二选一
tun
  enabletrue
  stacksystem # or gvisor
  dns-hijack
any:53
tcp://any:53
interface-nameens33
ebpf
  redirect-to-tun
ens33
routing-mark7777配置完成后与 auto-route 方法一样
Tags:
教程
