群晖折腾记 - 搭建OpenWrt
最近有点怀旧,于是偷偷拿出吃灰很久的Switch,鬼使神差的打开了商城,买了这款《暗黑破坏神2》。

心情激动的启动游戏,打算去里面大杀四方。WTF!无法连接服务器?😂啥玩意还要连战网?众所周知,国区已经关停了。好在我有一台群晖NAS,正好可以安装一个OpenWrt来解决这个困扰。

1. 什么是OpenWrt?
OpenWrt是三大主流路由器固件之一,本质上是是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。OpenWrt不同于其他许多用于路由器的发行版,它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统,OpenWrt支持常见路由协议,包括RIP、OSPF、OLSR、BATMAN等,适用于从小型网络、大型密集网络到无线Ad-hoc网络等各种场景。其架构如下所示:

2. OpenWrt安装
NAS上安装OpenWrt有两种方法:
- 通过docker方式安装
- 通过VWM方式安装
2.1. docker方式安装
在群晖的套件中心搜索docker或者container manager,然后安装。安装后打开,然后选择注册表,搜索openwrt,下载image。


如果遇到注册表无法下载或者打不开的情况,可以以root账户直接ssh上去通过docker pull命令直接下载。

开启混杂模式
在SSH界面,输入命令 ip addr 查看当前NAS使用的网卡的混杂模式是否已经打开。在正常模式下,当网卡接收到数据包时,会验证它是否属于自己。如果不是,会丢弃数据包,但在混杂模式下,则会接收所有经过网卡的数据包,包括不是发给本机的包。
1
sudo ip link set ovs_eth0 promisc on
创建macvlan网络
macvlan是一种Linux的网络驱动,它可以让容器或虚拟机直接连接到物理网络,而不需要使用NAT或桥接。macvlan会为每个容器或虚拟机分配一个独立的MAC地址,这样它们就可以在网络上被识别和访问。1
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.1 -o parent=ovs_eth0 macnet
192.168.2.0/24是当前局域网的网段192.168.2.1是当前网关(也就是主路由IP)ovs_eth0为群晖主机的网卡macnet为要创建的子网名称,可以随便取
此时,我们使用
docker network ls命令可以看到网络macnet已建立成功:1
2
3
4
5
6$ docker network ls
NETWORK ID NAME DRIVER SCOPE
10e676133746 bridge bridge local
f5308b94e8fa host host local
16745ea66852 macnet macvlan local
5e72e41ea02a none null local启动docker镜像
命令行启动方法:
1
docker run --restart always --name openwrt -d --network macnet --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest /sbin/init
或者直接在Container Manager中启动容器:

进入容器并修改网络参数
执行命令后我们便进入 OpenWrt 的命令行界面,编辑 OpenWrt 的网络配置文件。
1
2
3
4
5
6命令行进入openwrt
docker exec -it openwrt bash
修改LAN配置
vim /etc/config/network
重启网络
/etc/init.d/network restart需要更改LAN的配置:
1
2
3
4
5
6
7
8
9
10config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.2.88'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.2.1'
option broadcast '192.168.2.255'
option dns '192.168.2.1'进入Web面板
在浏览器中输入
http://192.168.2.88,就能看到登录界面。
2.2. 通过VWM方式安装
- 新增硬盘映像:

新建虚拟机,CPU和内存给1G足够,存储选10G,网络可以直接选
default VM network,自启动选择开启。
开机并配置网络
开机后选择
连接,此时会打开群晖的vnc窗口,输入vi /etc/config/network 开始配置网络。参考docker上的网络配置步骤。最后输入reboot重启openwrt,至此openwrt基础配置已完成。可以进入openwrt web界面开始下一步配置。
配置科学上网
配置网络
输入密码进入 openwrt 界面,找到 网络 - 接口 - LAN - 修改,将网关、DNS 服务器都指向主路由的地址

检查下网络是否正常:

配置OpenClash
实现的方式有很多种,因为我用 Clash 比较多,这里就用 OpenClash 来做演示。点击左侧菜单栏 ,选择服务 - OpenClash,在配置订阅中上传配置文件
myOpenClash.yaml
保存配置之后,在openclash运行状态栏中选择启动OPENCLASH:

运行状态全绿就表示运行成功了,现在你的家庭网络里就多了一个能够科学上网的软路由了,

拿出Switch,修改下网络配置,痛快的玩耍吧😄
