契机
市面上的云服务器,但凡把配置拉上去点,费用便相当吓人。(尤其是对咱这种没什么盈利项目的小站长而言)
![图片[1] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823111247878-1024x566.png)
若自己组装一台服务器,同等配置下,价格更低廉,隐私性、可控性也大大提升。
自己组装,意味着需要花费心思挑配件、需要动手组装,需要为服务器交电费。抛开这些不谈,光 “公网访问困难” 这一条,其实就足够劝退我了。
尤其是,本人在过去一直以为,Frp 是唯一一种让设备可被公网访问的途径。
![图片[2] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823110842661-1024x521.png)
常见的第三方 Frp 服务提供商(诸如 Sakura Frp),他们的免费套餐往往带宽低(差不多 1MB),节点稳定性也比较一般,各种限制也相对较多。自己建 Frp Server 吧,国内云服务器带宽不够,国外的云服务器延迟又高,不宜将其作为长久之计。
那么,有什么方案能兼顾 “价格优势” 和 “公网可访问性” 呢?
前几天好巧不巧,先是听说迷你主机(准系统)现在的价格很便宜,大概五六百。又听说光猫改桥接,再关闭路由器防火墙,即可得到一个能被外网访问的 IPv6 地址。理论可行,开始实践!
关于迷你主机
极摩客 G3 介绍
极摩客 G3,准系统的话是 599 元。多平台比价,京东最便宜,579 元到手。
![图片[3] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823122242866.jpg)
英特尔 12 代 N100 处理器,4 核 4 线程,DDR4 3200 Mhz 最高 16 GB,两个硬盘位,支持 Wi-Fi 6,单网口。
![图片[4] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823123302975-808x800.png)
优先考虑的就是功耗(电费要是太贵的话还不如直接买云服务器),N100 功耗大约在 6W-15W,电费肯定是非常 ok 的。
另外都迷你主机了,也没什么需要动手组装的地方,从各方面来看都很完美。
加装了一根 8 GB 的笔记本内存和 256 GB 的固态,全部加起来也就八百块左右,性价比可以的。
制作 Ubuntu 启动盘
![图片[5] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823124309663-1024x389.png)
在 Ubuntu 官网 下载想要的镜像。我这里选择的是 24.04 LTS 桌面版。
为什么下桌面版?因为考虑到可能会有使用图形化界面的需求(孩子比较傻,不会太多命令,大佬轻喷)
桌面版可以通过命令在 图形化界面
和 命令行
之间切换:
# 切换到命令行界面
sudo systemctl set-default multi-user.target
# 切换到图形界面
sudo systemctl set-default graphical.target
打开 Rufus,选取对应镜像文件,直接点刷入,其它设置不用动,过一会就完事了。
安装 Ubuntu 系统
插上电源线、有线键盘和鼠标,狂按 Esc
进 BIOS。
我一开始用的无线键鼠,一直识别不到,换了一套有线键鼠就能识别到了。
进去之后,打开 Boot
菜单,设置 USB Device
为第一启动项。
稍后的安装步骤都挺简单,点几下就完成了。
关于公网
IPv4 的资源很稀缺这不必说,不掏点银子去拉专线是不行的,而且运营商会封 80 和 443 端口。
IPv6 不仅多,而且似乎没有封 80 和 443 端口。这几年随着 IPv6 的推广发展,就算是纯 IPv6 服务器也能有一个尚可的体验。
光猫改桥接
改桥接是第一步,也是最重要的一步。
之前用的联通宽带,师傅不给改桥接就算了,还死活不愿意给超级密码。
最近合约到期,换了移动的宽带。师傅也没问太多,光猫的超密非常爽快就给我了,师傅在他们内部 App 上输入户主手机号,就可以直接查到宽带的超级密码,包含一个临时超密和一个永久超密。
![图片[6] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823133606946.png)
有了超密,接下来都好办。访问 192.168.1.1
进入光猫管理后台,账号是 CMCCAdmin。当然,账号密码都以师傅告诉你的为准。
进来之后,左侧菜单依次选择 网络
– 宽带设置
,选中第二个名为 2_INTERNET_B_VID_200
的连接,然后把连接模式从 Route
改成 Bridge
。改完就可以退出光猫了。
![图片[7] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823133731365.png)
图中第一条 TR069 是移动的监控模块,也用于远程下发配置。第三条 OTHER 应该是给 IPTV 留的,如果家里有办 IPTV,改完桥接可能会导致看不了电视直播。
网上搜了一番,看不了电视这茬似乎也有办法解决。仍在研究中。
务必注意:改每一项设置前,最好截图原先的设置,或者备份光猫配置文件。
改完之后,再登录你家路由器的后台,从 DHCP
改为 PPPoE
,也就是让路由器自己负责拨号上网。
![图片[8] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823134339713.png)
账号一般是户主手机号,密码一般是六位数,可以试试 手机号后六位
、010086
、123456
,实在忘了也可以打运营商电话问,这个一般都会告诉你的。另外手机营业厅似乎也可以在线重置。
改完之后保存,等一分钟,路由器这边应该会显示拨号成功,这时候基本就大功告成了。
![图片[9] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823134726568-595x800.jpg)
这时候无法访问 192.168.1.1 是正常的,如果还需要再进光猫管理后台,那就再把路由器改回 DHCP。
关闭 IPv6 防火墙
我这边用的是小米路由器,DMZ
、端口转发
开了又关,总是没法从外网访问这台迷你主机。最后只关了个 IPv6 防火墙
就神奇般的解决了。
![图片[10] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823135149885.png)
如果没有这个开关,就去网上搜搜你家路由器的型号。不过其它品牌的路由器应该比小米更好折腾。
查看公网 IPv6 地址
ssh 连接到迷你主机,输入命令 ip addr show
得到当前的 IPv6 地址,会输出长长一段,找到带有 scope global temporary dynamic
左边的这一串,看图中红框,这就是这台迷你主机的公网地址。
![图片[11] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823140344715-1024x228.png)
验证可访问性
搭好相关网站服务后,在浏览器地址栏输入 http://[你的 IPv6 地址]
回车,如果能访问到则说明大功告成。
IPv6 地址必须包括在英文方括号内。
DDNS
公网也有了,但毕竟是动态的。这时候就要引入 DDNS 了,让你的访问更优雅。
插一句,移动 IPv6 地址的租期似乎还挺长,好几天才变一次。
![图片[12] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823142045602-1024x523.png)
路由器自带的 DDNS 就那么几个选择,根本没法用。所以一开始我想了一个很蠢的办法:写一个定时任务脚本,每隔 5 分钟检测网卡 IP 变化,有变化就通过 SMTP 发送新 IP 到我的邮箱。
现在想起来还是很蠢,毕竟要人工去改解析,特别麻烦。
部署 DDNS-GO
然后就发现了 DDNS-GO 这个项目,支持多家 DNS 服务商,能够直接帮你修改对应的解析记录。这真是极好的。
![图片[13] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823142426610-1024x715.png)
部署起来也比较方便,支持直接下载和 Docker 两种部署方式,按 GitHub 的指引,很简单就搞定了,不再赘述。唯一需要提一嘴的就是,国内主机拉取不了 Docker 镜像,比较恶心。
最终还是按第一种部署方式(下载压缩包 – 解压 – 赋予执行权限 – 执行),然后即可在 9876
端口访问它的 Web 界面。
值得一提的是,DDNS-GO 还支持多家 Webhook 通知。比如我这里设置了一个飞书机器人:
![图片[14] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823142953762-918x800.png)
IPv6 地址发生变化时,会通过机器人向我发送通知:
![图片[15] - 极摩客 N100 迷你主机折腾小记:移动宽带 + 光猫桥接 + DDNS 搭建公网 IPv6 服务器](https://cdn.baiyuyu.com/2024/08/20240823143202288.png)
总结
至此,一套配合 DDNS 搭建公网 IPv6 服务器的方案就正式完成了。
后续打算配合 CDN 进一步拓展可玩性,让只有 IPv4 的用户也能够访问到服务器。目前遇到的问题是,DNS 解析有 DDNS “动态解析”,但 CDN 回源似乎没有 “动态回源” …
尚在慢慢把玩探索中,欢迎大佬批评建议~