unraid 折腾日记以及虚拟旁路由教程

在 smzdm 的社区中跟着阿文菌大佬学习了很多 nas 的知识,最近自己也在咸鱼上收了个二手 itx 主机做nas,配置就是普通的 i3 8100 (被大佬疯狂安利),8G 内存

下面的内容主要是介绍旁路由的一些设置,网上查了很久的资料都不全面,无奈只能自己总结学习

最看好的就是这个机箱,正常能放四块硬盘,如果把电源再换成小电源的话还能再放进去一个硬盘架,应该还能再多装两块硬盘

现在刚装了两块东芝的 P300 ,一块数据盘,另一块做检验盘,不太好的一点是这个盘的声音确实是有点太大了,以后可能会选择更静音的盘。不过等我全部设置好了之后可能会放在弱电箱那边,应该就听不见了 hhh

unraid 基础安装和简单设置

安装系统确实是没什么难度,准备一个 U 盘,上网下载镜像文件再写入即可

不过如果你用开心版的话,建议使用 6.8.2 ,其他版本的话我在 win10 里是没有写入成功的。看了一些教程都是建议在 win7 下进行系统的写入,如果手头有 win7 的话可以尝试然后分享一下~

设置方面也是比较直接,使用起来比较方便,唯一的困难是界面都是英文 … 我也懒的去装中文补丁,直接使用 Google 翻译也是可以的

网页的设置我就不多说了,跟着大佬的基础教程文章即可,还有很多设置是需要打开命令行进行操作,需要一定的 Linux 基础,不过很多教程把所有的命令都一步一步写出来,直接照着做就可以了

安装 openwrt 做旁路由

创建虚拟机

因为我这台机器的 PCIe 接口好像是有点问题,买的两块网卡都用不了,本来是想直接虚拟一台主路由出来的,只好作罢。另外我也怕系统万一出了什么故障导致家里的所有设备都上不了网,所以还是做旁路由比较合理

系统我选择的是 koolshare 版本的 openwrt,直接在官网下载,然后上传到 unraid 中的任意一个文件夹即可

unraid 的虚拟机设置在 VMs 里面,点击添加 Linux 虚拟机

  1. 选择你需要的配置 (CPU、内存)
  2. 在把 BIOS 选择为 SeaBios
  3. 选择镜像文件不是 ISO,而是把 Primary vDisk Location 修改为 manual ,然后再后面的路径里选择你刚才上传的镜像文件即可

声明:我写文章不是很喜欢放图 … 我觉得还不如用文字把步骤一步一步写清楚来的好,看图片和视频教程我会很狂躁 … 不喜勿喷哈

安装后先点击 openwrt 的头像,点击 webUI 进入终端,接着输入下面的命令

1
vi /etc/config/network

把 192.168.1.1 修改成你家的路由器下发地址,比如你家路由器的后台地址是 192.168.0.1 ,这里你就修改为 192.168.0.199 只要不和别的设备重复即可

修改完后按下 esc ,:wq 退出

再输入

1
passwd root

给 root 创建密码,需要连续输入两次,终端里不会显示 * 号,输完回车即可

然后重启虚拟机,可以在 unraid 控制,也可以直接在终端里输入 reboot

等虚拟机重启完成后在浏览器输入刚才修改的地址,例如 192.168.0.199 就能打开 openwrt 的管理界面了,使用刚才创建的密码就可以进去了

基础设置

这里我们还需要一下 openwrt 的网关和 DNS ,否则我们是没法上网的

打开左侧 网络 > 接口 ,因为我们只有一个网口,所以只用保留 lan 口。剩下的可以直接删除

编辑 lan 口的网关和 DNS ,填上你家的路由器地址就可以了 ,比如 192.168.0.1

后面 DHCP 和 IPV6 功能直接禁用(如果你用不上的话)

随后在右下角点击应用,这时我们使用 ssh 连接 openwrt

我们直接在 Windows 里使用 powershell ,省的去下那些 ssh 连接软件,其实功能都是一样的

打开 powershell

1
ssh [email protected]

这里输入密码时一样不会出现 * 号
这里 @ 后面写的是你的路由器地址,我这里仅仅是示范

1
wget www.baidu.com

看下是不是能够正常的下载,下载到 inden.html 文件就是成功联网了

给 openwrt 安装插件

这里我们安装 openclash (不写全了以免误删,懂的都懂),这边我建议你先在自己电脑上打开 clash 软件,打开局域网共享功能(allow lan),鼠标悬浮在这个功能上就可以看到局域网中你的 ip 地址,我们假设是 192.168.0.9

然后我们打开 ssh 连接我们的 openwrt

1
2
3
4
5
ssh [email protected]

export http_proxy=http://192.168.0.9:7890
export https_proxy=https://192.168.0.9:7890

输入完上面两条命令后在当前窗口,你的 openwrt 就可以使用你电脑的代理上网了

我们继续安装过程,这里说一下 在Windows ssh 进入openwrt 时,复制是 ctrl + c,粘贴是鼠标右键

先安装依赖库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
opkg update
opkg install luci
opkg install luci-base
opkg install iptables
opkg install dnsmasq-full
opkg install coreutils
opkg install coreutils-nohup
opkg install bash
opkg install curl
opkg install jsonfilter
opkg install ca-certificates
opkg install ipset
opkg install ip-full
opkg install iptables-mod-tproxy
opkg install iptables-mod-extra
opkg install libcap
opkg install libcap-bin
opkg install ruby
opkg install ruby-yaml
opkg install kmod-tun
opkg install luci-compat
opkg install ip6tables-mod-nat(ipv6)

建议一条一条执行上面的命令,这样有错误也好排查,下面我总结一下我碰到的问题

  1. 在安装 ip-full 时提示错误 libtiny1.so 文件已存在。解决方法:删除这个文件即可
1
2
rm /usr/lib64/libtiny1.so
opkg install ip-full

这里我写的路径可以不正确,你在删除的时候直接复制路径即可

  1. 在安装 kmod-tun 时提示安装失败。解决办法:
1
opkg install kmod-tun --force-depends

或者

1
opkg install kmod-tun --nodeps

这里我是使用了第二种方法后成功安装的,不过我查的结果都是使用第一种方法,可以自行尝试

安装完依赖库后我们下载 ipk 文件到 Windows 电脑中,从 github 下载 ,打开网页后在下面有个 Assets ,点开下载第一个 ipk 文件即可

一般我们都是下载到 “下载”文件夹内,我们使用命令直接上传文件

重新打开一个 powershell

1
2
cd Downloads
scp luci-app-openc*.ipk [email protected]:/root

然后我们在刚才 ssh 连接的窗口中

1
2
cd /root
opkg install luci-app-openc*.ipk

这样插件就安装好了,我们打开浏览器,刷新一下 openwrt 的后台,在左侧点开服务就能看到插件已经安装完成

给插件安装内核

安装完成后我们还不能启动,因为还缺少内核文件,就像你买了遥控车需要安装电池才能启动一样

我们下载两个内核 普通版本TUN 版本,这里需要注意的是一定要下载对应你 cpu 型号的内核文件,我这里是 i3 ,选择 amd64 即可。你可以现在网上查询一下再下载

我们下载好后在本机先解压,普通版本解压后命名为 clash ,TUN 版本解压后命名为 clash_tun
解压完成后我们再上传到 openwrt 的 /etc/openclash/core/ 文件夹中,继续使用上面的命令

重新打开一个 powershell

1
2
cd Downloads
scp clash* [email protected]:/etc/openclash/core/

在 ssh 连接的窗口中

1
2
cd /etc/openclash/core/
chmod +x *

这样我们在启动 clash 的时候就不会报内核错误了

OpenClash 简单配置教学

在 YouTube 上有很多视频教学,如果觉得看文字教学有困难的话可以去 YouTube 上观看

官方也有相较本文更加专业的图文教学,可以自行选择学习

这里我简单直接的说明可以直接使用的教学,如果你有更高级的需求可以自行添加即可

运行模式

在我的虚拟机中只能使用 FAKE-ip 模式,原因我也不太清楚,而且在这个模式下没法进入 LOL 游戏对局,也没法登录 steam … 应该是 DNS 的设置问题,后续如果解决的话我也会第一时间分享给大家

添加配置文件

如果你使用的机场提供订阅链接的话可以在 openclash 的 配置文件订阅 中直接添加链接,启动的时候就可以自动更新配置文件

如果机场的链接没法自动更细,你也可以手动下载配置文件,然后上传到 openclash 的 配置文件顶管理中,我这里使用的机场链接没法订阅,只好手动上传

其他选项

  1. 关闭所有的 IPV6 (如果你不需要的话)
  2. 规则设置 (访问控制) 这里可以使用第三方规则,这样流量可以更加的细化。也可以屏蔽部分的广告
  3. 一定要开启 UDP 转发,这才是我们能够科学上网的关键,有时候我切换到其他模式之后不能上网的主要原因就是我压根没找到 UDP 转发在哪 …

这些都设置完成后直接点击启动就可以使用了

我们打开 ssh 连接到 openwrt 测试一下

1
2
ssh [email protected]
wget www.google.com

能够正常的下载到 inden.html 文件就是成功了

局域网中的其他设备使用旁路由网络

以电脑为例
我们打开我们网路设置,手动设置 ipv4 的 ip 、DNS 和网卡

假设我们 openwrt 的地址是 192.168.0.199,路由器地址是 192.168.0.1

那么我们电脑的设置如下

ip:192.168.0.19 (与其他设备不重复即可)
DNS:192.168.0.199
网关:192.168.0.199
子网掩码:255.255.255.0

这样我们电脑的流量就走的是我们设置好的旁路由,打开浏览器好好体验吧

声明:文章中所有内容仅供技术以及学习使用,不得违反国家法律。转载请联系作者