记录下自己的路由器配置。这个方案用了几个月了,大部分时间没啥问题。
工具
- OpenWrt
- Clash: 主要自带 geoip,不用自己折腾太多规则
- Clash 控制面板: https://github.com/haishanh/yacd
方案
搭一个 OpenWrt 做网关转发流量,通过 iptable 把流量交给 clash
OpenWrt 只做透明代理
配置文件
配置 OpenWrt
给 OpenWrt 一个静态 ip1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20vim /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fda4:2477:ac44::/48'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.1.xxx'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.1.1'
list dns '192.168.1.1'
配置 Clash
- 下个最新版 clash
https://github.com/Dreamacro/clash/releases
下载自己需要的版本1
2
3
4
5
6# 配置文件 config.yaml 和 clash 都扔里就行
mkdir /root/clash/
# Country.mmdb 最近总是下载失败, 可以试着跑一下 看看有没有啥问题
cd /root/clash/
./clash -d .
1 | # config.yaml |
- 没啥问题给 clash 写个 service 自启
1 | vim /etc/init.d/clash |
/etc/init.d/clash
文件内容复制下边这个1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#!/bin/sh /etc/rc.common
# Example script
# Copyright (C) 2007 OpenWrt.org
USE_PROCD=1
START=95
start_service() {
procd_open_instance
procd_set_param respawn
procd_set_param stderr 1
procd_set_param stdout 1
procd_set_param command /root/clash/clash -d /root/clash/
procd_close_instance
}
配置 OpenWrt iptable
1 | # /etc/firewall.user |
客户端设备
我的设备都是手动配的网关和 DNS,有时需要切下代理,打开 http://yacd.haishan.me/ 这个面板基本够用了
问题
- 时不时的不能打开 google.com, 但是 google.com.hk 没问题,应该是 clash dns 的问题
- 微信语音视频不通,zoom 音频不通,怀疑是 udp 问题,不清楚
- clash dns 总是出问题,现在没啥动力,忍了