为了提升 fq速度,提高工作效率,我莫名其妙地了解到了软路由!?

J1900机子

一路下来,总算是入了个门,记录下~

什么是软路由?

相对于我们平常用的(硬)路由器,它是在一台小小的电脑上面安装一个路由系统来控制网络。

看了好多文章和视频,以下的内容是对于我来说最有用的

我在最终实际操作的时候是参考了以下资料:

安装lede

花了 ¥659买了个低配版的 J19002GB内存+8GB存储SSD,今天收到快递就开刷了。

虽然店家已经预装好系统,但是我还是想自己体验一番安装软路由系统

制作U盘启动

把U盘插在电脑上,打开老毛桃软件,默认即可,点击 一键制作
老毛桃制作U盘启动

准备固件&写盘工具

固件:koolshare Lede

  • 官方下载链接:使用其结尾为x86-64-uefi-gpt-squashfs.img.gz的固件;
  • 下载完成后解压:随便重命名固件(一定要短名字)后拖进U盘;
  • 为什么重命名?方便后面进入命令行界面执行该文件时,少打字符

写盘工具:physdiskwrite

  • 百度搜索下载或者在我的网盘里下载;
  • 准备好固件以及写盘工具,并拖进U盘根目录下如下(我把固件包重命名为了kool

准

开始安装

给小电脑插上键盘,U盘和显示器

进入PE系统
1.J1900开机按键盘 F7,进入BIOS启动选项;
2.选择U盘启动(就是你的U盘名字,不要选择那个带UEFI标识的),回车;

删除分区
3.打开PE系统下的 DiskGenius程序,选中要安装系统的那块硬盘,右击直接删除分区即可;

进入命令行
4.Win+R调出运行命令窗口,输入 CMD,回车进入命令行工具;
5.PE系统将U盘盘符识别为“U”,那就在命令行里面输入 u:,回车,进入U盘目录;
6.输入 physdiskwrite -u kool.img,回车;(前面将固件重命名为 kool.img就在这儿用上了。)
7.接下来你就会看到界面提示 Which disk to you want to write? <0..1>,选 0;接下来还会提示一个警告信息,硬盘容量大于2GB之类的,下方会有提示 About to overwrite the contents of disk 0 with new data. Proceed?,输入 y,回车确认安装。

小插曲:我乱按选 1,你猜发生什么事情?

我把系统安装到了U盘上面...后面重启系统时发现把U盘拔了路由页面就访问不到了,原来如此那个尴尬

设置启动项
8.等待进度条跑完后,就可以重启J1900主机了,先进入BOIS设置第一启动选项为 硬盘启动,保存退出即可;
9.再次重启后便会进入LEDE软路由系统,好像卡住不动的时候,按下键盘 enter就会出现 root输入界面,这个时候你就可以把键盘和U盘都拔掉了!

基础设置

准备工作

  • 用网线把 电脑 和 软路由 连接起来:连接的网线需要插到J1900的lan2网口。貌似由于主板设计原因,其lan2才是lan口(那个能够登陆进管理页面的口...)
  • 手动修改电脑IP为同个网段:比如192.168.1.100。接着在浏览器访问192.168.1.1,输入登陆密码koolshare进入管理界面。

一、修改软路由的IP地址:

一般家用光纤猫的IP是 192.168.1.1,而软路由系统默认的IP也是 192.168.1.1,为避免软路由和光纤猫之间冲突导致上不了网,我们需要手动修改下软路由的IP~

  • 在管理界面依次点击:网络 - 接口 - LAN - 修改
  • 在基本设置下:协议=静态地址,IPv4地址=任意你想要的地址(比如我改成了192.168.12.12);
  • 最后点击保存(切记不要点击保存&应用,我们还需要继续设置好下面操作的wan口和lan口)。

二、配置软路由的wan口和lan口:

1.配置wan口:

  • 依次点击:网络 - 接口 - WAN - 一般设置下 - 物理设置
  • 勾线接口选项中的以太网适配器:“eth3”,保存。

为什么选 eth3?我自己的喜好,这个 eth3对应地就是我这个软路由的 lan4网口,它靠近电源比较好记它就是wan口;接着我们再把剩下的3个网口(lan1,lan2,lan3)设置为lan口即可。

继续设置wan口:

如果你是在自家有宽带的话:WAN - 一般设置下 - 基本设置 - 更改协议选项为PPPoE - 填写宽带账号及密码,保存;

如果你是在出租屋的话:由于房东/网管一般在总路由器会设置 DHCP(自动分配IP给租客上网),需要操作:WAN - 一般设置下 - 基本设置 - 更改协议选项为DHCP客户端,保存。

2.配置lan口:

  • 依次点击:网络 - 接口 - LAN - 物理设置
  • 勾选接口选项中的以太网适配器:“eth0”、“eth1”、“eth2”
  • 至此所有基本配置已完成,就可以点击保存并应用

点击之后,此时浏览器中的管理界面应该是没有反应了的,由于上面修改了软路由的IP管理地址,导致电脑与软路由不在同个网段下了。

3.调整下网线连上网络:

  • 把网线从lan2网口更换到刚配置了wan口的lan4网口,另一头从电脑拔掉接到房间里有网络的网口;
  • 再找根网线把台式电脑/路由器连接到软路由剩余的任意lan口lan1lan2lan3

此时应该就可以上网了!

  • 不行的话,记得把刚配置软路由的电脑的网络设置回自动获取IP的状态;
  • 还不行的话?重启电脑;
  • 还还不行的话?重启路由器;
  • 还还还不行的话!重启软路由!

Lean's OpenWrt

2020-01-07更新:从入坑 koolshare的固件以来,使用了将近4个多月挺舒服的,但最后2个月总感觉挺多 BUG的;包括但不限于:在 ShadowSocksR Plus+ 中操作频率高一些的话会莫名地保存或删除不了修改,而且每天会不定时地、持续一小会儿地不稳定...

经过一番谷歌,我终于下定决心来重刷一个稳定的恩山L大的OpenWrt;体验了一段时间,确实轻量、高效、稳定,又来继续更新记录下折腾了什么...

编译固件

编译OpenWrt固件的过程类似于定制一个操作系统预装自己想要的各类应用,嫌麻烦的话可以直接网上搜索别人编译好的固件;我当然是尝试自行编译固件:新开一个临时的高配谷歌云实例(八核15GB + 磁盘80GB),初次编译耗时大概30-60分钟,成品在 lede/bin/targets/,连上FTP拉回电脑重刷J1900。

除了利用谷歌云进行快速编译,还可以在本地电脑编译或者使用GitHub Actions云编译,更多细节记录在这里:

优化操作

1.使用 DiskImage(可视化界面)可以更加便捷地写入新编译好的固件;

2.在 shell界面打开 /etc/config/network可以快速地修改已刷入固件的IP地址,WAN口和LAN口们:

# 1.把默认的192.168.1.1修改为自己想要的地址
option ipaddr '192.168.12.12'

# 2.定义LAN口为J1900上哪些网口(比如我设置了eth0 eth1 eth2,分别对应物理网口的lan1,lan2,lan3)
config interface 'lan'
        option ifname 'eth0 eth1 eth2'

# 3.定义WAN口为J1900上哪个网口(比如我设置了eth3,对应物理网口的lan4)
config interface 'wan'
        option ifname 'eth3'

最后重启网络 /etc/init.d/network reload,即可联网了~

更多配置

除了以上的IP+WAN+LAN修改,可玩儿的地方还有很多,包括但不限于:

  1. 开启Turbo ACC 网络加速;
  2. 将软件源修改为国内源并opkg update更新下;
  3. 开启网络共享Samba:在编辑模板里边加#注释掉该限制invalid users = root,再在命令中执行smbpasswd -a root设置下密码;

4.opkg安装到非根目录下以避免根目录空间捉急(可选非必要)

4.1.挂载剩余的磁盘空间,涉及命令有磁盘分区 fdisk,格式化分区 mkfs.ext4和挂载分区 mount

# 比如挂载剩余的磁盘空间 sda5 到任意目录,比如/root
mount /dev/sda5 /root

# 新建文件夹 optware,专门放自定义下载的软件
mkdir /root/optware

4.2.修改配置文件 /etc/opkg.conf

# 默认如下
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay

# 关键字dest后跟着目的位置名称(可以随便起),然后就是文件系统位置
# 例如:dest opt /root/optware
# 最终文档如下
dest root /
dest ram /tmp
dest opt /root/optware
lists_dir ext /var/opkg-lists
option overlay_root /overlay

4.3.修改环境变量 /etc/profile

# 在export PATH上边新增一行,如下:
export LD_LIBRARY_PATH="/root/optware/usr/lib:/root/optware/lib"

# 在export PATH里面新增了/root/optware/usr/bin和/root/optware/usr/sbin,如下:
export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/root/optware/usr/bin:/root/optware/usr/sbin"

# 让修改后的profile立即生效
source /etc/profile

4.4.最后就有空间可以安装了:

# 格式
opkg install somepackage -d destination_name

# 举个栗子
opkg install vim -d opt

5.手动安装rclone

其实把rclone编译进固件,没有也可以手动来折腾:

5.1.官方安装脚本运行不成功,于是乎就跟着手动教程来了:

# 下载解压到家目录下
cd ~
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip

# 将里边的rclone复制到/optware/usr/bin/
cd rclone-current-linux-amd64
cp -r rclone ~/optware/usr/bin/

# 修改权限
chown root:root /optware/usr/bin/rclone
chmod 755 /optware//usr/bin/rclone

5.2.初次在openwrt上rclone挂载网盘时会提示错误:Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found in $PATH,我们需要安装:fuse-utils,直接 opkg install fuse-utils -d opt 安装到我上面自定义的软件目录下即可~

6.捣鼓docker

我编译的固件已经预先安装了docker,现在来配置下:

6.1.修改docker存储位置为 /root/docker(因为根目录空间捉急啊!)

# 建立文件夹
mkdir /root/docker

# 修改/etc/docker/daemon.json,自定义"data-root"后的路径即可
vim /etc/docker/daemon.json
"data-root": "/root/docker/"

# 重启dockerd
/etc/init.d/dockerd restart

# 看看储存地址是否已生效
docker info

6.2.方便打字,我将 /etc/init.d/dockerd restart别名为了 dr

alias dr=“/etc/init.d/dockerd restart”

6.3.折腾docker运行centos部署lnmp跑WordPress:

  • 新建container,随意命名如gmt,设置开机自启,映射到宿主机端口8080,选择官方centos:7.7.1908版本,后台运行shell防止没活动而导致该container自动关闭:
docker run --name gmt --restart always -p 8080:80 -dit centos:7.7.1908 /bin/bash
  • 在该镜像上安装lnmp一件安装包:
# 进入镜像的命令行
docker exec -it gmt /bin/bash

# 更新下系统
yum update -y

# 安装下wget
yum install wget -y

# 安装lnmp1.7
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp

# 大概耗时77分钟,看到以下输出结果后 ctrl c 退出:
Install lnmp takes 77 minutes.
Install lnmp V1.6 completed! enjoy it.

# 试试在宿主机浏览器访问:`http://路由器IP:8080`应该可以看到欢迎界面了!
  • 再安装WordPress,先访问:http://路由器IP:8080/phpmyadmin去新建个数据库,排序规则选择utf8_general_ci;这里不新建虚拟机,直接修改脚本的默认站点目录default 即可(本地测试站点,怎么方便怎么来啊~)
# 进入default目录,删除无关的index.html文件
cd /home/wwwroot/default
rm -rf index.html

# 下载WordPress
wget https://wordpress.org/latest.zip

# 可能提示ERROR 429: Too Many Requests,只能迅雷下载后用宿主机的shell用docker cp上传到这里了(或者直接在共享文件夹里找到该镜像目录拖进来)
docker container list #查看该镜像的id
docker cp ~/latest.zip 镜像的id:/home/wwwroot/default #从家目录把该压缩包复制进镜像

# 解压,把WordPress所有文件都移动到default根目录下
unzip latest.zip
mv ./wordpress/* ./

# 设置下default文件夹权限,以防止安装插件主题等出问题
chmod -R 777 /home/wwwroot/default

# 最后在宿主机浏览器访问:`http://路由器IP:8080`出现熟悉的wp安装页面,开始装吧~

PS:在捣鼓上边操作之前,我还参考过这里用不同container组网,如下汇总下:

# 安装并运行mysql、phpmyadmin和WordPress
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306  mysql:5.7
docker run --name phpmyadmin -d -e PMA_ARBITRARY=1 -p 8081:80 phpmyadmin/phpmyadmin
docker run --name wordpress -p 8080:80 -d wordpress:latest

# 组网
docker network create wordpress 
docker network connect wordpress mysql
docker network connect wordpress phpmyadmin
docker network connect wordpress wordpress

后面没用这种方式,总发现网页反应有点慢,可能我个人操作不当原因吧...

其他配置,有空再更新咯。

Last modification:February 2, 2021
如果觉得我的文章对你有用,请随意赞赏