在Merlin固件上使用clash

warning: 这篇文章距离上次修改已过780天,其中的内容可能已经有所变动。

2022更新

Merlin Clash 插件已经成熟,请使用插件。

下载&安装clash

clash固件下载地址——https://github.com/Dreamacro/clash/releases

选择固件对应指令集的clash版本,我这里用的是R6300V2,即armv5,如果不清楚可以用命令查看。

这里为了方便起见将解压后的文件重命名为clash

admin@R6300V2-0518:/tmp/home/root# uname -a
Linux R6300V2-0518 2.6.36.4brcmarm #1 SMP PREEMPT Wed May 9 17:23:49 CST 2018 armv7l Merlin-Koolshare
(这里显示armv7但只有v5能用)

文件的准备工作

准备config.yaml,一般由订阅提供,修改或添加以下内容

redir-port: 7892
allow-lan: true
external-controller: 0.0.0.0:9090
dns:
   enable: true
   listen: 0.0.0.0:5353
   enhanced-mode: fake-ip
   nameserver:
    - 119.29.29.29
    - 223.5.5.5

下载Country.mmdb

https://www.maxmind.com/en/home 注册账号并登录,在之后的页面里选择GeoLite2-Country下载解压,改名为Country.mmdb。

文件上传&试运行

使用Winscp上传之前的三个文件到/jffs/.koolshare/,记得给clash可执行权限,先尝试./clash -d . 确认是否能正常启动clash,如果没有报错退出即为成功。

避免使用Winscp内部的编辑器编辑config.yaml,防止因字符转码出现问题。

透明代理&开机自启

/jffs/scripts目录下创建iptable.shfirewall-start并赋予执行权限。

chmod +x /jffs/scripts/iptable.sh  
chmod +x /jffs/scripts/firewall-start

iptable.sh

#Clash  
start-stop-daemon -S -b -x /jffs/.koolshare/clash -m -p /tmp/clash.pid -- -d /jffs/.koolshare/
# ports redirect for clash except port 22 for ssh connection  
iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT  
#new  
iptables -t nat -N CLASH  
#Lan related  
iptables -t nat -A CLASH -d 192.168.0.0/16 -j RETURN  
#redirect to Clash  
iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892   
iptables -t nat -A PREROUTING -j CLASH  
# dnsmasq to clash dns
iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination (你的路由IP):5353  

firewall-start

#!/bin/sh
/jffs/scripts/iptable.sh

如遇到端口被占用等问题,修改配置文件与上方iptables里的端口,保持一致即可

最后在路由器后台Tools==>Script中将/jffs/scripts/firewall-start加入wan自启动即可

clash的控制

yacd控制面板http://yacd.haishan.me/#/

hostname为路由器ip,端口默认为9090,密码为空。

enjoy it :)

本文参考https://github.com/KOP-XIAO/Clash-Merlin/wiki


版权属于:NoColor

转载时须注明出处及本声明

已有 7 条评论

  1. boben boben

    楼主,帮帮忙,dashboard停止维护了,有没有办法?

    1. NoColor NoColor

      有吗???不都在GitHub上?没发现停止维护的迹象啊

  2. shiika shiika

    教程文件的准备工作里的准备config.yaml和下载Country.mmdb,我使用clash windows客户端里订阅和自动生成的文件可以不?我目前根据你教程的步骤都弄好了。订阅的config.yaml将你内容里的部分添加进去后。youtube能打开,但是看不了视频。google打开提示您的连接不是私密连接。。。yacd控制面板里看起来感觉有数据和连接。logs里没有东西,也不知道哪里操作不对了

  3. Gatsby Gatsby

    ./clash -d . 语句没有办法执行是为什么 显示illegal instruction

    1. NoColor NoColor

      clash的版本要和cpu架构对应

  4. zeer zeer

    我是R7K 什么都弄好了,就是测试节点也没有问题,但是就是打不开网页

  5. youke youke

    我这里iptables转发后网页打开就变慢了,如果不用转发直接在客户端上配置代理连接到clash上的话就不会,大佬知道是怎么回事吗?

添加新评论