路由器直接走代理,听着就很酷
前言
基地的网络可以直接用魔法,刚入队的时候就感觉很神奇,现在终于有机会自己试试了。现在快退役了,丰富一下教程内容。
基地目前(2024.3.4)拥有一个红米 AC2100、两个友善 Nanopi R2S 软路由、一个 J1800 x86 2核4G 小主机
红米 AC2100刷openwrt
像这种路由器也叫硬路由,cpu 算力不高,但是无线性能好。要刷成openwrt系统会经历下面的过程:
红米自带系统->BREED
->OpenWrt
这个教程很详细。热门路由器在网上搜索都可以找到相应的教程,不过值得注意的是,硬路由因为本身性能不高,低价位的路由器刷成 openwrt 系统后可能会出现卡顿、断流等情况,所以这个路由器基本闲置了。
友善 Nanopi R2S 软路由刷入OpenWrt系统
接口:
一个 type-C 供电口
一个 WAN 口(连接学校的网口)
一个 LAN 口(连接局域网设备,如路由器、电脑)
一张 SD 卡
我习惯使用大佬的固件定制网站,搜索 R2S,自定义固件里面把 OpenClash(clash的openwrt插件版)安装上,后台地址和后台密码按需修改,在校园内建议修改为192.168.x.1
将 R2S 上的 sd 卡拿下来放入 sd 卡中插入电脑
我这里使用烧录软件balenaEtcher将镜像烧录到 sd 卡中,一步一步按提示操作即可
插入 sd 卡并开机,LAN 口与自己的电脑连接,你将被分配一个 192.168.x.x 的 ip,访问 192.168.x.1 或者 /op 即可访问 openwrt后台
就普通使用而言,编译固件、ssh、命令行 opkg等等都用不到,如果愿意请自行折腾
J1800 x86刷openwrt
接口:
一个 12V DC 供电
一个 LAN1 口
一个 LAN2 口
一个 HDMI 口
一个 VGA 口
因为它的硬盘不方便/不能像 R2S 一样可以直接接入电脑进行烧录,所以我们选择借助 PE 系统,在 J1800 上运行 pe 系统然后将镜像烧录到原本的硬盘里
我习惯使用大佬的固件定制网站,搜索 x86/64,自定义固件里面把 OpenClash(clash的openwrt插件版)安装上,后台地址和后台密码按需修改,在校园内建议修改为192.168.x.1
烧录 PE 系统,我使用的是优启通 PE 系统
将烧录软件WinDiskFlash 和 openwrt 镜像放入 u 盘之中
开机乱按进入 BIOS,选择以 u 盘启动
试一试两个LAN 口与自己的电脑连接,接入其中一个时你将被分配一个 192.168.x.x 的 ip,那个就是真正的 LAN 口,另外一个是 WAN 口,访问 192.168.x.1 或者 /op 即可访问 openwrt后台
重启解决百分之99的问题!!!!
今天总算是又领悟到这句话的真谛了,一开始上传新固件也是一直报错,一个重启再上传就好了
打开openclash结果主程序一直显示未运行,捯饬半天各种检查各种搜索,结果一个重启又好了
遇到 * opkg_download: 请检查网络设置, 确保本设备网络可用.
也是多运行几次,重启然后再多运行几次就好了
神奇
命令行安装插件
可选
自行安装插件的时候麻烦还挺多,因为完全不了解,有些README读起来有困难,比如uname -a
看到你是mips架构结果你找了半天发现newifid2.zip里面放的就是mipsel的.ipk东西
传输文件我看网上用sftp用的多,但是我之前习惯了scp,我感觉scp似乎更方便,指令像这样scp *.ipk root@192.168.7.1:/package
我试了老半天luci-app-unblockmusic
这个解锁网易云音乐的插件,结果发现最近一次commit是三年前,估计是已经用不了了
OpenClash的使用
上网设置
网络
->接口
,WAN 口设置为 PPPOE 拨号,输入学号密码,在学院楼的话账号是不用充钱的LAN 口的静态地址千万别改,不然就可以考虑重新刷机了(或许设置静态地址也能连上?没试过)
opencalsh设置
OpenClash 与 IPV6 极不兼容,使用 IPV6 的情况下容易发生问题(官方自己说的)
代理发生问题时刻尝试关闭 IPV6 相关设置
附录
最近在研究规则代理的问题,因为有时候总会有代理走不上的情况,个人用的话开个全局或者用proxychains也还行,但是挂在路由器上的代理要是规则没写好,那就g
简单来着只要进入https://nexconvert.com/
1写你在机场买的节点链接(担心安全问题就不要用,用不怕,怕不用)
2远程配置写https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full.ini
3然后把链接复制到clash,下载即可
这样只是优化你的规则,并且会抹掉最前面的dns字段,在openclash上使用时可能会造成一些问题
不过我现在已经不用订阅转换了,最开头自己写规则是因为当时作者还没有把 ChatGPT 相关网站加进去,现在已经有了。还有一方面是订阅转换的网站不开代理不一样连得上,有时候还挺难受的
自定义规则:https://yattazen.com/tutorial/clash-custom-config.html
图形化编辑教程:https://www.jamesdailylife.com/clash_2022
clash官方说明:https://docs.cfw.lbyczf.com/contents/ui/profiles/rules.html
看来之前的风波真挺大,教程全没了
Q&A
链接到wifi后图标如下显示无法连接到Internet,但是可以上网
https://github.com/vernesong/OpenClash/issues/6
https://github.com/vernesong/OpenClash/issues/2239
解决方法
1
2DOMAIN-SUFFIX,msftconnecttest.com,🚀 节点选择
DOMAIN-SUFFIX,msftncsi.com,🚀 节点选择需要让这两个网站走代理,修改规则即可
重启 openclash 插件之后无法科学上网,打开谷歌或者有关提示 dns 解析错误或者 ip 找不到,有时候等待十几分钟或几个小时就好了
最终的解决办法是在配置文件前面添加上dns字段。原因是订阅转换之后导致自带的dns字段被抹掉了,openclash日志显示会自动补全,但是可能自动补全的这个无法使用。但日志时不时输出一句更新内核失败,从 raw.github 什么什么的链接失败,可能也会有点影响,github 上有一个相关的 issue 可以解决那个问题
下面是订阅转换之后的配置文件
1
2
3
4
5
6
7
8
9port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
……………………
……………………只需要加上dns字段即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
dns:
enable: true
ipv6: false
listen: 127.0.0.1:8853
enhanced-mode: fake-ip
nameserver:
- https://223.5.5.5/dns-query
- https://223.6.6.6/dns-query
- https://doh.pub/dns-query
fake-ip-filter:
- "*.lan"
- stun.*.*.*
- stun.*.*
- time.windows.com
- time.nist.gov
- time.apple.com
- time.asia.apple.com
- "*.ntp.org.cn"
- "*.openwrt.pool.ntp.org"
- time1.cloud.tencent.com
- time.ustc.edu.cn
- pool.ntp.org
- ntp.ubuntu.com
- ntp.aliyun.com
- ntp1.aliyun.com
- ntp2.aliyun.com
- ntp3.aliyun.com
- ntp4.aliyun.com
- ntp5.aliyun.com
- ntp6.aliyun.com
- ntp7.aliyun.com
- time1.aliyun.com
- time2.aliyun.com
- time3.aliyun.com
- time4.aliyun.com
- time5.aliyun.com
- time6.aliyun.com
- time7.aliyun.com
- "*.time.edu.cn"
- time1.apple.com
- time2.apple.com
- time3.apple.com
- time4.apple.com
- time5.apple.com
- time6.apple.com
- time7.apple.com
- time1.google.com
- time2.google.com
- time3.google.com
- time4.google.com
- music.163.com
- "*.music.163.com"
- "*.126.net"
- musicapi.taihe.com
- music.taihe.com
- songsearch.kugou.com
- trackercdn.kugou.com
- "*.kuwo.cn"
- api-jooxtt.sanook.com
- api.joox.com
- joox.com
- y.qq.com
- "*.y.qq.com"
- streamoc.music.tc.qq.com
- mobileoc.music.tc.qq.com
- isure.stream.qqmusic.qq.com
- dl.stream.qqmusic.qq.com
- aqqmusic.tc.qq.com
- amobile.music.tc.qq.com
- "*.xiami.com"
- "*.music.migu.cn"
- music.migu.cn
- "*.msftconnecttest.com"
- "*.msftncsi.com"
- localhost.ptlogin2.qq.com
- "*.*.*.srv.nintendo.net"
- "*.*.stun.playstation.net"
- xbox.*.*.microsoft.com
- "*.ipv6.microsoft.com"
- "*.*.xboxlive.com"
- speedtest.cros.wr.pvp.net
proxies:这里还有一份dns设置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17mixed-port: 7890
allow-lan: true
bind-address: '*'
mode: rule
log-level: info
external-controller: '127.0.0.1:9090'
dns:
enable: true
ipv6: false
default-nameserver: [223.5.5.5, 119.29.29.29]
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
use-hosts: true
nameserver: ['https://doh.pub/dns-query', 'https://dns.alidns.com/dns-query']
fallback: ['https://doh.dns.sb/dns-query', 'https://dns.cloudflare.com/dns-query', 'https://dns.twnic.tw/dns-query', 'tls://8.8.4.4:853']
fallback-filter: { geoip: true, ipcidr: [240.0.0.0/4, 0.0.0.0/32] }
proxies:应该都是可以的,我只试了前者。切换之后用了一会儿之后,再使用没有dns字段的配置文件也可以正常使用代理了,可能是,他自己记住了?也或许不是这个 dns 的问题
一些相关链接
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8276453&highlight=%B6%A8%D6%C6openwrt
https://github.com/kiddin9/OpenWrt_x86-r2s-r4s-r5s-N1
op/