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
listen 0.0.0.053
enhanced-mode fake-ip
nameserver
114.114.114.114
fallback
8.8.8.8
使用 auto-route 方式
auto-route 与 ebpf 方法是冲突的,只能二选一
tun
enabletrue
stack system # or gvisor
dns-hijack
any:53
tcp://any:53
auto-routetrue
auto-detect-interface true # 上网的网卡名称自动检测,Linux 环境一般让他自动检测就可以
#interface-name: ens33 # 手动指定网卡的名称
这样配置完成后启动 clash
就可以实现透明网关,单台设备上网可以设置设备的网关
与DNS
为 Clash
设备的ip
, 要连上路由器的设备都可以科学上网,只需要在路由器
管理页面设置网关与DNS为 clash 设备IP,其它设备连上路由器后可以自动实现科学上网功能。
使用 ebpf 模式
eBPF 模式与 auto-route 冲突,只能二选一
tun
enabletrue
stack system # or gvisor
dns-hijack
any:53
tcp://any:53
interface-name ens33
ebpf
redirect-to-tun
ens33
routing-mark7777
配置完成后与 auto-route
方法一样
Tags:
教程