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

暗黑破坏神2

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

无法连接服务器

1. 什么是OpenWrt?

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

OpenWrt架构

2. OpenWrt安装

NAS上安装OpenWrt有两种方法:

  • 通过docker方式安装
  • 通过VWM方式安装

2.1. docker方式安装

在群晖的套件中心搜索docker或者container manager,然后安装。安装后打开,然后选择注册表,搜索openwrt,下载image。

docker

openwrt

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

dockerpull

  • 开启混杂模式

    在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
    10
    config 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 ,就能看到登录界面。

    WebUI

2.2. 通过VWM方式安装

  • 新增硬盘映像:

image-20231023153310442

  • 新建虚拟机,CPU和内存给1G足够,存储选10G,网络可以直接选default VM network,自启动选择开启。

    vmw

  • 开机并配置网络

    开机后选择连接,此时会打开群晖的vnc窗口,输入vi /etc/config/network 开始配置网络。参考docker上的网络配置步骤。最后输入reboot重启openwrt,至此openwrt基础配置已完成。可以进入openwrt web界面开始下一步配置。

    image-20231023154040233

    配置科学上网

    1. 配置网络

      输入密码进入 openwrt 界面,找到 网络 - 接口 - LAN - 修改,将网关、DNS 服务器都指向主路由的地址

    image-20231023155012766

​ 检查下网络是否正常:

image-20231023155212911

  1. 配置OpenClash

    实现的方式有很多种,因为我用 Clash 比较多,这里就用 OpenClash 来做演示。点击左侧菜单栏 ,选择服务 - OpenClash,在配置订阅中上传配置文件myOpenClash.yaml

    image-20231023155715665

​ 保存配置之后,在openclash运行状态栏中选择启动OPENCLASH

image-20231023155938757

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

image-20231023162940661

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

image-20231023160846090