先认真的说明,这不是一篇教程。
只是折腾过后希望记录一下,说一说自己的想法,学到的东西,记一下自己踩过的坑。
AC2100
首先买了一个新的路由器,红米 AC2100。其实小米 AC2100 会更好看,只是贵大概 30 块钱。听说小米的做工会更好,其他差别我也不懂,反正大佬建议我买红米的就行,于是就买了这个。
感觉上就是大。
我特意把尺子放在上面拍了一张,大家可以自己感受一下。路由器本体也不小,再加上天线看起来挺热闹的。
这么大的体积,但里面有很多空间是空的,估计是为了散热,可能里面还有风扇之类,看下图可以看到空隙中漏出的光。
为了照顾整个家里的信号强度,所以摆放的位置尘土非常多,马上就是冬天,又不需要考虑散热,所以我用塑料薄膜给他罩了一下:
我并没有进行刷机,就用的原装系统,所以这方面没啥可说的。手机上的 APP 还是推荐安装的,因为 APP 中会比路由器后台多出几个功能来,比如很实用的 hosts,我用这个简单屏蔽了一下家里小米电视的广告。有人吐槽 APP 必须登录小米账号才能使用,不过我用的本身就是小米手机,也登录了账号,所以这方面并不是很介意。
这个路由器的设置和使用还是非常简单的。
桥接
在网络方面我就是个小白,所以完全靠一边和朋友们打听,一边折腾。他们告诉我路由器和猫之间桥接是性能最好的。
桥接其实就是以前我们最常用的那种方式,猫就负责在那里发呆,路由器负责拨号,然后成功上网。
这里我翻车比较严重,因为在光猫后台拿到的宽带密码其实是加密以后的。然后上不去网了,人就傻了。后来经过尝试,是个弱密码。(这期间联系了负责维修宽带的小哥,我没敢具体说是怎么回事,不过他也没有过来。尝试在运营商的 APP 中去重置宽带密码,显示重置成功了,但实际并不可用,因为他要求 6~12 位的密码,我设置了一个 13 位的。然后说是支持字母和数字并区分大小写,但是为了稳妥起见,建议就用纯数字。
所以如果你想这样做,首先确保自己拿到了准确的宽带密码。
其他方式
如果觉得上面的方式对自己有风险,那么就把拨号这件事情也交给光猫去做吧。路由器这边选择静态IP。术语我不会讲,反正光猫拨号之后,创建了一个内网,然后路由器接入这个内网。而路由器自己又创建一个内部网络,电脑手机等设备接入路由器的这个内部网络。这个操作有点儿套娃,比上面桥接的方式会牺牲一丢丢性能,但据说微乎其微。好处是设置非常方便。这也是最推荐的方式。
我以前使用的是另外一种方法,记不清是在哪里学来的了,因为以前我只会这一种方法,很不凑巧,这种方法也是性能最低的。光猫创建了内网之后,路由器接入,但并没有创建自己的内网。手机电脑这些设备差不多是和路由器处于同一级别。据说这种方式接入性能就全看光猫了,在我这里的表现是经常有设备,没有办法上网,而且被挤掉的设备很随机,特别难受。
路由器接口
现在家里的宽带一般都有几百兆,但是路由器上的接口并不全是千兆接口,如果使用的是一个百兆接口,显然这里就成了瓶颈。所以买路由器的时候一定要买带有千兆接口的,然后接线的时候也要注意一下,别弄错了。
之所以讲这个,是因为我前面用的那个路由器就全是百兆接口,想哭。
旧的路由器
首先我手头旧的路由器比较多,这次折腾的是更早淘汰下来的 Newifi mini,69 块钱可以刷机,有 USB 接口,是个众所周知的神机。曾经我用它当做主力路由,也用了好几年。
但其实这种东西折腾的价值并不大,说起来有许多功能,但实际上普通用户能用的上的并不多。然后路由器的性能就那么点儿,也非常不建议在主路由上去折腾,有可能影响到自己日常上网的稳定性。然后 USB 接口一般只有 2.0,这个读写速度也做不了什么大事情。而且这方面的优化也都很差,,无论是U盘还是移动硬盘,用在上面都会显得非常费。
所以或者是确实有需求,并且没有钱买专业的设备(大概几百块钱就可以获得很好的体验了),或者是单纯为了学习。否则真的不推荐去折腾。
道理
因为我在网络方面真的是小白,所以在一些非常基本的道理上,栽了好多跟头。通过反复尝试以后,我终于理解。我不应该把这个旧路由器当做网络中的一个普通设备去看待,他一切的开放都是相对于他几下的内部网络的。而我现在把它接到主路由之下,主路由的网络相对于他是外网,所以对旧路由器的一切操作,都要考虑如何公开到“外网”,否则是没有办法访问的。
只需要在防火墙中设置对应的端口转发即可,内部 IP 地址设置为 192.168.1.1,这种内部指的是旧路由器自己创建的内网,所以这个IP对应的就是他自己。
网络
我直接用 WiFi 连接的主路由,OpenWrt 的无线网络设置界面,扫描找到对应的 WiFi,然后填入密码连接即可,其他设置都不需要修改。
固件
找一个好用的固件,能够省事非常多。这方面推荐多试一试,找一个自己顺手的。我这里用的是一个其他人编译的 OpenWrt,加入了一些实用功能,并且经人测试,对这个路由器适配的挺不错。
共享
原本想要设置 Samba 的,就是电脑上的那个网络共享网上邻居。但是因为内网外网,再加一些权限问题,搞得我头大没有成功。想一想使用 FTP 也挺香的,反正 OpenWrt 自带了 FTP,于是就这么的偷懒了。
硬盘
后台的系统——挂载点,添加一下就好,,重启以后可以自动挂载,但可能需要到命令中手动新建一下对应的文件夹,设置一下权限什么的。
磁盘格式就别较劲了,格式成 ext4 挺畅快的。反正接在网络里共享,也不可能老把它拔下来,插在电脑上。NTFS 会没有办法进行写入,网络上确实讲了一些办法,但实际测试下来……翻车。需要卸载一个插件,再安装一个。但是安装的那个并不能直接安装上,忽略掉一些问题,终于装上了,又缺少依赖,装上了对应的依赖,依赖又出问题了……再想退回去,安装最原始的那个插件,又出问题了。
FTP
网上许多教程讲解了,如何设置给出了配置文件,配置文件还有注释。我就不做摘录了,反正挺简单的,只要会使用 SSH 上去修改文件就行。
真正的坑在于,一般这些配置都只开启了主动模式,你用各种 FTP 工具进行登录一般都没什么问题,但是想把它直接添加进 windows 系统就麻烦了。
所以,要在配置文件中加入这一行来开启被动模式:
PASV_enable=YES
然后被动模式需要开启一系列的端口,我们要限制一下端口的范围,不过一般应该在 1000 以上(我猜是为了防止和日常的这些端口产生冲突)
PASV_min_port=number 被动模式最低端口
PASV_max_port=number 被动模式最高端口
在防火墙中也开放这些端口就可以了,防火墙中的端口转发可以填写范围的,比如:10240-10512
Transmission
BT 下载工具,因为后台自带了,所以开启一下就好。
记得同时设置一下各个目录,我全都设置到移动磁盘上去了,记得在移动磁盘上同时新建对应的目录,避免出错。如果想用来挂 PT 站之类,DHT 要取消勾选。
这里没有啥难度,但是也没有 web 控制台,只要开启 RPC,防火墙里转发相应端口。然后随便找一个客户端,填好路由器的地址就可以用。
在系统——软件包里面可以先刷新,然后再查找对应的 web 控制台,安装就好。但这样有两个小问题,一个是他安装在路由器自带的存储空间,但这个空间非常小,而这个界面的体积可不算小。另一个问题是自带的界面真的不怎么好看。
我的解决方法是,找到这个控制台界面的文件夹,大概是 /usr/share/transmission/web 这样的位置,然后在移动硬盘上新建一个文件夹,软链接过来。把内容放进去,就可以使用了。
然后去下载大家都知道的 GitHub - ronggang/transmission-web-control: 一个 Transmission 浏览器管理界面。Transmission Web Control is a custom web UI. ,把其中src文件夹的内容复制进去,就有更好看的界面了。记得先把以前的 index.html 重命名为 index.original.html。新界面也可以用命令行安装,但其实效果和上面的操作是一样的(多了一步修改权限)。
安卓手机上安装一个 Transmission Remote,就可以方便的控制了。
Aria2
相比上面这个要简单好多,开启设置对应的目录就行了。手机上我使用 Aria2App。
他的 web 界面我们一会儿再说。
Web 服务器
路由器这点儿小性能,实在不适合跑那些全套的服务,如果像我这样,只是放点静态网页玩玩静态博客,还是够用的。那么既然路由器的管理界面能够显示出来,那么说明它是自带 http 服务的。所以我们只需要简单的修改它的配置文件就可以。配置文件的位置在 /etc/config/uhttpd
在配置文件的末尾添加这样的内容:
config 'uhttpd' 'aria2'
option 'listen_http' '6060'
option 'home' '/mnt/disk/aria2/web/'
config 'uhttpd' 'web'
option 'listen_http' '8080'
option 'home' '/mnt/disk/web'
其中 aria2、 web 这些就是一个标签,随便取名字就好。下面需要修改的就是端口和对应的路径。
修改配置之后,记得在防火墙中转发对应的端口。然后在系统——启动项里可以重启对应的服务。
AriaNG
Aria2 的 web 界面,反正很好看就对了,好不好用的我也不知道。地址: AriaNg
就像上面那样建立一个文件夹,对应好端口,然后下载这个放到对应的文件夹里。就可以了。
还……
但其实上面这些东西我都没啥需求,所以折腾这些就是纯玩儿。
还有一个没有 USB 接口的路由器,显然可玩性就非常低了,毕竟捉襟见肘的储存空间。不过也可以用它去搞一些其他的玩法。比如挂一些自动签到的服务,但那就是等哪天心情好折腾的内容了。
网盘
感觉我自己没有需求,,而且受限于路由器的性能,那些知名的网盘系统大多也用不了,就算勉强能够运行,你也要考虑持续运行以后的系统稳定性。
如果有需求,可以考虑一下这个非常小巧简洁的网盘系统 https://webd.cf/ ,我是还没有尝试,反正他的安装也不复杂,而且几十 kb 的体积放在哪个文件夹下都没所谓了。
Webdev
受限于性能,没有找到好的解决方案。
Swap
看很多人挂在移动硬盘以后都折腾这个,然后我搜索到如下的一段话,觉得大概差不多是这个样子,于是决定不折腾了。
首先,你需要知道什么是linux的swap,并确定你真的要用它,虽然swap可以帮你增加可用内存,但是,带来的代价却非常大,一旦使用到swap内存,你的路由将会变得反应非常慢,并且,在反复调用swap空间的时候,可能会对你的u盘、sd卡造成不可修复的伤害。所以,非到十分必要,不要开启swap。
目前看来,这个路由器尚有余力,也就应该可以保证稳定的运行。
定时重启
希望路由器稳定运行的话,可以考虑加入。但有人告诉我,只要调教的好,几个月不重启完全没问题。想想我这里偶尔停电,或者折腾插座时难免插拔,那应该也没什么必要了。
而且重启可能产生的影响有点多,比如说正在进行中的任务等。