家庭网络布局:群晖 VMM 虚拟机安装 OpenWrt 旁路由实战

发布于 2022-08-15 00:00 1650 字 9 min read

从零开始玩转 OpenWrt 2026:进阶网络架构与 Nikki 极速配置指南2026 自建节点实战:Xray VLESS-Vision-REALITY 部署指南AI 角色扮演进阶指南:从 SillyTavern 部署到 Telegram 接入从 WordPress 到 Astro 迁移记录ImmortalWrt固件overlay扩容安装指南基于mihomo内核的OpenWrt插件Nikki推荐yaml配置OpenWrt 插件 Passwall 推荐设置指南Cloudflare简易使用指南WordPress 网站向 Jekyll 静态博客迁移全记录OpenWrt 插件 OpenClash 推荐配置指南OpenWrt插件Passwall开启ipv6推荐配置OpenWrt插件Passwall推荐配置指南OpenWrt桥接后访问光猫方法PVE下快速更新OpenWrt固件方法群晖 Docker 容器版 Emby 添加弹弹 play 弹幕实战群晖 NAS 常用 Docker Compose 项目部署汇总群晖 Docker 开启 IPv6 双栈与 OpenWrt 协同配置指南软路由刷 PVE 并安装 OpenWrt 折腾记录群晖开启 macvlan 网络并通过 compose 命令安装 docker 指定 ip家庭网络布局:玩转 PT 与 Docker macvlan 避坑指南在本地运行 docker 连接 api 更稳定使用 chatGPT 服务网站添加石蒜模拟器OpenWrt建议设置(个人备份)家庭网络布局:群晖 VMM 虚拟机安装 OpenWrt 旁路由实战群晖种草教程——从玩机到佛系(自用备份版)一加3T手机刷机及安卓必备系统优化软件推荐利用 phpMyAdmin 指令将 WordPress 网站快速 HTTPS 化利用 Docker 快速安装 Aria2 + AriaNg 教程给 WordPress、Typecho、Emlog 等博客网站添加鼠标点击文字特效Windows 10 快捷方式小箭头去除与恢复指南自动化备份指南:利用 Dropbox Uploader 实现网站数据与 SQL 数据库同步Linux学习笔记(二)Linux学习笔记(一)建站之旅其一:一些想法建站之旅其三:多次尝试与一次挫败建站之旅其二:从 VPS 科学上网到自建站的萌芽建站之旅其四:常用命令与参考资料汇总
本文详细记录了在群晖 NAS 上通过 VMM 虚拟机部署 OpenWrt 旁路由的完整方案,深入探讨了家庭网络拓扑优化、防火墙 SNAT 规则避坑指南,以及在两层 NAT 环境下配置端口转发与 OpenClash 内核手动导入的实操经验。

踩了不少坑,记录一下最后各个设置参数和避雷手段,希望能帮到大家。

首先,我家里的网络布局如图所示,只有 IPV4——

来说下为啥这样做,首先入户盒子小,想平时关闭盒子保持大厅的整洁美观,即不想放在外面还摆个凳子、桌子放一堆路由器、NAS 啥的。
光猫性能较弱,能桥接就尽量桥接,让自己的路由器拨号,而且光猫如果关闭 DHCP 万一出了问题很难登陆处理(特别我这种始终保持光猫 wifi 关闭的选手),所以我是光猫直接一个网段 192.168.1.1,然后桥接到路由器复制拨号,网段另设为 192.168.2.1(第三位随便 2-255 的数字都可以)。
路由器性能仍较弱,无法满载挂酸酸乳 Clash 之类的,所以需要用到软路由,但是软路由又多一个设备和跳线,性价比和美观实用方面完全不如群晖 NAS 做虚拟旁路由。(NAS 单线即可)

首先群晖安装 VMM,设置网络打开 Open vSwitch 功能。

下载 OpenWrt 固件,群晖是amd64或者x86_64
下载好后,在群辉 VMM 里面,映像——硬盘映像(导入)——虚拟机(新增往下拉有个“导入”)

用户电源管理也不用打钩,直接安装后启动——连接——当屏幕打印如下图所示信息,按回车键

运行命令修改网络配置:

vi /etc/config/network

默认配置如下:

config interface 'lan'
    option type 'bridge'
    option ifname 'eth0'
    option proto 'static'
    option ipaddr '192.168.1.1' #默认openwrt ip地址
    option netmask '255.255.255.0'
    option ip6assign '60'

修改为:

config interface 'lan'
    option type 'bridge'
    option ifname 'eth0'
    option proto 'static'
    option ipaddr '192.168.2.2' #主路由192.168.2.1,旁路由我设置192.168.2.2
    option netmask '255.255.255.0'
    option ip6assign '60'

按 ESC 输入:wq 保存并退出。运行下面命令,重启网络使配置生效,当然你也可以群晖 VMM 重启虚拟机都行:

/etc/init.d/network restart

重启后即可以用你刚才设置的 ip 进入路由器进行管理了——

修改网关、DNS 为主路由 ip、关闭 DHCP、关闭 ipV6、取消桥接(如果不能上网再——添加防火墙规则)

到这里,如果你已经能上网,那么恭喜你,端口转发相关的设置你就只需要在主路由进行设置即可! 如果不能,试着在防火墙自定义规则下添加如下句段——

iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

如果不取消桥接,则添加的防火墙规则改为

iptables -t nat -I POSTROUTING -o br-lan -j MASQUERADE

“不加防火墙规则不能上网的,一般是华为、小米、360(其实基本都必须要加才能上网)等主路由器,原因是,这些路由器会校验数据包的 ip 和 mac 地址的对应关系。国内包的上行经过旁路由转发给主路由时,主路由发现旁路由发过来的数据包 ip 不是它自己的,校验失败,所以网络不通了。
然后加了防火墙规则,上边那条规则的意思是执行 SNAT 功能,就是把数据包的源 ip 改成当前机器的,也就是旁路由的 ip。这样 ip 和 mac 地址对应,网络通了。
所以个人总结,先不加规则,如果网络能通,恭喜你,最佳性能。如果必须加规则网络才能通,那么勉强用着吧,所有流量都要经过旁路由,非最佳。
个人网上看到的一些情况,本人也是一知半解,说错也不复杂,不要喷我。”

登陆主路由设置网关和 DNS 为虚拟机(即 OpenWrt)地址,以我的华硕路由器为例——

登陆群晖,重新设置网关和 DNS(有强迫症可以设置完后再自动获取一下也可以)——

至此就设置完成,顺利的话用手机连一下 wifi 点下详细信息就可以看到网关变成了 192.168.2.2,DNS 服务器则是 192.168.2.2/192.168.2.1 两个。

另外再补充一下加入了那句话两层 nat 后,具体如何进行端口转发,以及这种情况下群晖创建 SMTP 服务无法发信或者无法收信的解决方法(想了 3 个晚上,试了很多方案最后终于成功了,呜呜呜),直接上图吧——

主路由:(均指向 OpenWrt 地址)

虚拟路由:

DNS 解析:

群晖的域和主机名(FQDN)都直接填 sirongzi.xyz 的原始域名,你的发件人也是xxx@sirongzi.xyz这样。

——————————————————

以下运行 OpenClash 避坑指南:
需要自己安装内核,推荐自己下载后再上传,毕竟启动第一步如果自动下载的话,那速度,根本下不下来。 Clash 内核https://github.com/vernesong/OpenClash/releases/tag/Clash
TUN 模式内核https://github.com/vernesong/OpenClash/releases/tag/TUN-Premium
下这个版本的,别下 v3 会报错(惨痛经历)clash-linux-amd64.tar.gz

请解压后确认名称为 Clash(无后缀名)再上传,上传位置(不好找……)

会提示文件已成功上传到 “/etc/openclash/core/“,进群晖 VMM 点连接,按 enter 进入命令模式

cd /etc/openclash/core/
chmod 777 clash

如果传错了可以这样删除——

TUN 的也一样(也是命名为 Clash 上传,会自动识别的,但是上传的时候记得选 TUN)——

另外,订阅地址不是 ssr 订阅地址,可以直接用 Clash 托管链接很方便。

其他具体设置就各凭喜好了,下面给出本人的推荐,马上用手机连 wifi 试试效果吧~

这个推荐开启

加的两台电脑

——————————————————————————————————————————

这里再给出一种你 OpenClash 配置好后只使用一层 NAT 不伪装 IP,而通过 OpenClash 实现伪装 IP 顺利上网的方法:

同时防火墙删掉那句伪装 IP 的话 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

然后在主路由进行端口转发直接转到目标地址如 NAS 之类的,好处:看似只用一次转发,坏处:OpenClash 挂了或者配置文件/远程服务器有问题就直接全家断网。
所以,不推荐,不如上面两层 NAT,就端口转发需要设置两次比较麻烦,当然你路由器直接不加那句话能上网就是无敌的,比如 N1、AX86U(都是网上看到的,不一定保证可以)之类的。

参考引用:
https://www.cnblogs.com/osnosn/p/14253536.html
https://codeantenna.com/a/L0EYdJ6au4
https://adao.me/ruanjian/216.html

喜欢的话,留下你的评论吧~