相信很多朋友都想过如何把自己家里面的闲置电脑变废为宝,用来做一些好玩实用的项目,比如
- 建立自己的网站
- 建立私人云存储NAS
- 游戏服务器
- 数据库服务器
- 云游戏(用手机玩电脑游戏)
- 去中心化聊天服务器
可玩项目还有很多很多,今天我将手把手教大家如何利用一台闲置电脑,一台路由器,一条家庭宽带,一个域名,同时实现这么多功能,打造自己的家庭数据中心,从公网访问你的所有服务
本文内容过于硬核,需要经历太多的折腾,我给大家提供了一个我的方案,更多的细节还是需要大家自己去尝试。
建议先读完本文再去查看本文中的其他内容
如果你还没有域名请自选一种方法注册:
- 免费注册一年的.link顶级域名:Find Your Free Domain (dynadot.com)
- 免费注册eu.org二级域名nic.eu.org审核时间较长,一到两个月不等。
- 无需实名与备案,到namesilo注册,推荐的原因是他们家的价格比较便宜,.TOP顶级域名最便宜
namesilo域名注册优惠码:ZYH8
拥有公网IP
这是打造自己家庭数据中心的基础,由于ipv4地址已经耗尽,所以当下我们想获得IPV四公网地址已经较为困难,在中国四大运营商中只有中国电信容易申请到IPV4公网IP,并且屏蔽了一些常用的端口,如:80,443(建设网站需要使用的http,https默认端口)。但是公网ipv6基本上每家每户都能获取到,并且部分地区并没有屏蔽相关端口,所以本文就以IPV六为中心进行讲解。
光猫篇
首先需要确保我们的光猫能够正常联网,并将其改为桥接模式,更改方法如下
光猫配置网址通常是: http://192.168.1.1/输入超级管理员帐号、密码,进入后台配置页面将联网模式改为“Bridge/桥接模式”即可。修改之前请将配置页面截图保存,并记住您的VLan ID
电信超级管理员账号:telecomadmin
超级管理员密码:nBYjA%5m或admintelecom
移动超级管理员账号:CMCCadmin
超级管理员密码:aDm8H%MdA
联通超级管理员账号:CUAdmin
超级管理员密码:aDm8H%MdA或CUAdmin
路由器篇
我推荐大家使用开源的open W RT软路由,最多650块即可搞定,型号J4125 4个2.5G网口,买准系统自己咸鱼淘两根8g内存条组双通道,随便搞一块SATA固态硬盘,安装ESXI,即可将软路由与服务器集一身,一台小主机直接包揽所有项目。j4125性能不够,不建议将它作为Nas
路由器上网模式更改为PPP OE拨号,输入您的宽带账号和密码连接即可,具体操作请查看
固件下载:
确认自己路由器已经正常联网并获取到公网IPV六地址,如下图(我使用的是istore OS)
复制公网IPV六地址,打开移动数据关闭WiFi,在浏览器中输入[你的ipv6地址]
,看是否能访问到你的路由器页面,如果可以,那恭喜你已经成功了一大半。
在openwrt路由器上安装iStore应用商店,安装程序会更方便一些:
安装好后在应用商店中一键安装DDNS-GO和Socat端口转发,也可以通过docker安装DDNS-GO。手动通过Docker安装DDNS-GO效果更好,我通过iStore安装使用时发现有一些问题,不知道现在有没有修复
因为我们家庭宽带使用的都是动态IP,IP会不断变动,IP发生变动将无法访问我们的服务,所以我们需要一个DDNS,它将会定时检查IP地址是否发生变动,自动更新我们域名的DNS记录,这样就不需要当IP发生变动时手动查看IP并更改DNS记录
配置DDNS-GO
选择你自己的域名解析服务提供商,如果你是在namesilo注册的域名,我建议托管到cloudflare或者DNSPod,如果你需要更高的安全防护和IPV四IPV六双栈支持,请托管到cloudflare(经过cloudflare代理我们的流量后可以通过IPV四访问我们纯IPV六的服务)
如果您托管到cloudflare,请按照创建令牌->编辑区域 DNS (使用模板)创建Token,DnsPod用户点击图中的创建密钥即可创建ID和token
由于我们没有IPV四公网地址,所以跳过, IPV六配置如下图(经过我的测试,通过网卡获取是最稳定的)
接口不要选择LAN相关的,一定要选择WAN,图中显示的IPV六地址一定要能通过移动数据访问到你路由器管理页面才是正确的公网IP
配置完后保存,它将自动设置DNS记录,等待最多二十分钟DNS记录生效后通过浏览器访问你的域名,如果能够正常进入路由器管理页面则配置成功
恭喜,当你到了这一步,你就已经成功打败90%的人了,你想从公网访问你本地的服务将会变得非常轻松。
玩法篇
下面所有的玩法都需要通过配置端口转发来实现公网访问,这里我演示如何通过Socat端口转发来实现公网访问
假设在内网可以通过IP加端口192.168.1.88:5000
访问我们的NAS,在外网通过域名加端口yourdomain.com:8888
访问我们内网的NAS,那么配置如下图
如果您需要通过cloudflare代理来访问自己的服务,那么你需要将外部访问的端口设置为cloudflare支持的端口:
Cloudflare 默认代理发往下列 HTTP/HTTPS 端口的流量。
Cloudflare 支持的 HTTP 端口:
80
8080
8880
2052
2082
2086
2095
Cloudflare 支持的 HTTPS 端口:
443
2053
2083
2087
2096
8443
如果您的域的流量要发送到上面列出的端口以外的其他端口,则可以:
通过您 Cloudflare DNS 页面添加子域为灰色云记录,或者
开启 Cloudflare Spectrum。
通过 WAF 规则 ID 100015 针对 Pro、Business 和 Enterprise 域阻止除 80 和 443 以外的其他端口上的流量:”Block requests to all ports except 80 and 443″.
只有端口 80 和 443 可兼容以下服务:
对于启用了中国网络的域名的中国境内数据中心 HTTP/HTTPS 流量,
Cloudflare Apps 代理,以及
Cloudflare 缓存。
Cloudflare Access 不支持 URL 中的端口号。 系统会从通过 Cloudflare Access 保护的 URL 请求中剥离端口号。
如果你想将你的所有服务都走443或者80端口,不同服务使用不同的域名访问,那你得需要一个反向代理,在本地搭建好反向代理服务器后配置一下端口转发即可。前提是运营商未屏蔽你的443,80端口,建议不要通过这两个端口跑大流量,否则很容易被禁。
建立自己的网站
建立私人云存储NAS
开源好用的影音系统jellyfin
游戏服务器
云游戏(手机玩电脑游戏)
官方GitHub Moonlight Game Streaming Project (github.com)
Moonlight Stream是一款开源项目,其允许你将你的游戏和其他多媒体应用从你的计算机流式传输到其他设备。这个项目最初是为NVIDIA的GameStream服务设计的,但现在已经可以支持许多其他的平台和设备。
Moonlight Stream的主要特性包括:
- 高质量的视听效果:Moonlight可以支持高达4K的分辨率,120 FPS的帧率,以及HEVC (H.265)的编码,提供高质量的视听体验。
- 低延迟:Moonlight使用先进的视频编码技术,保证了低延迟的流式传输。
- 跨平台:Moonlight可以运行在多种操作系统上,包括Windows,macOS,Linux,Android,iOS,以及各种游戏机,如PlayStation Vita。
- 支持多种输入设备:Moonlight支持多种输入设备,包括键盘,鼠标,游戏手柄等。
- 开源:Moonlight是一个开源项目,你可以自由的使用,修改,和分发。
要使用Moonlight,你需要拥有一个支持GameStream的NVIDIA显卡(GeForce GTX 600系列或更高),以及一个安装了适当驱动和软件的计算机。然后,你可以在你的目标设备上安装Moonlight客户端,就可以开始流式传输了。
主机游戏电脑要求
- NVIDIA GeForce GTX/RTX 600+ 系列 GPU 或 NVIDIA Quadro GPU(Kepler 系列或更高版本)
- NVIDIA GeForce Experience (GFE) 2.1.1 或更高版本,或 NVIDIA Quadro Experience
- 连接到 NVIDIA GPU 的 720p 或更高显示器(或无头显示器加密狗)
- 5 Mbps 或更高的上传速度(仅在您家外流式传输时需要)
流式传输 HDR 内容还有其他主机电脑要求。
快速设置说明
- 在您的游戏 PC 上,安装 NVIDIA 的 GeForce Experience 軟體。安装后,你的电脑可能需要重新启动才能完成设置。
- 如果你的电脑装有 Quadro GPU,请改为安装 Quadro Experience 软件。
- 要解决影响运行 Windows 11 的 NVIDIA GameStream 主机的 GPU 驱动程序错误,您需要在主机 PC 上禁用硬件加速 GPU 调度。使用“开始”菜单打开“图形设置”,然后单击“更改默认图形设置”,并将“硬件加速 GPU 调度”选项设置为关闭。
- 啟動 GeForce/Quadro Experience 並點擊「設定」「裝鎮」按鈕。然后选择 盾牌 选项。确保游戏流开关处于“打开”位置(绿色)。如果 SHIELD 选项卡不存在,请参阅此处的故障排除步骤。
- 启动月光并确保客户端连接到与PC相同的网络。在大多数情况下,您的游戏电脑会在几秒钟后自动显示在电脑列表中。单击 PC 列表中的条目以开始配对。
- 在您的 PC 上,输入月光中显示的 PIN 并接受配对对话框。如果您没有看到配对对话框,请尝试此处的问题排查步骤。
- 尝试流式传输游戏或应用程序,以确保一切正常。如果遇到问题,请尝试此处的故障排除步骤。
- 如果您在《月光》中没有看到要流式传输的游戏,可以手动添加。您还可以流式传输桌面并启动所需的任何内容。
客户端可以到官方GitHub仓库下载Moonlight Game Streaming Project (github.com)
此程序会进行自动转发,但我们是IPV六网络环境,为了稳定我还是建议大家手动转发
我们需要通过SOCAT转发以下端口:
- TCP 47984, 47989, 48010
- UDP 47998, 47999, 48000, 48002, 48010
在客户端填入域名就可以愉快的使用了
更多配置教程请查看官方文档https://github.com/moonlight-stream/moonlight-docs/wiki/
去中心化聊天服务器
Misskey 是一款开源的分布式社交媒体平台。它是一种被称为 Fediverse(联邦宇宙)的部分,这是一个由许多互相通信的服务器组成的网络。其他知名的 Fediverse 应用包括 Mastodon 和 PeerTube。
Misskey 的一些主要特性包括:
- 微博功能:用户可以发布短消息(被称为“notes”),并包括媒体附件如图片、视频和音频。
- React和Vue.js 构建:Misskey 使用 React 和 Vue.js 构建,这两种都是目前最流行的前端 JavaScript 框架。
- 分布式架构:和其他的 Fediverse 应用一样,Misskey 不依赖于中心服务器。用户可以在自己的服务器上运行 Misskey 实例,并与其他服务器上的用户进行交互。
- 自定义性:Misskey 具有高度的可定制性,包括主题、颜色和界面布局等。
- 丰富的应用生态:Misskey 支持许多应用和服务,包括但不限于互动游戏、文件和媒体托管、以及集成的聊天功能。
Misskey 是一个活跃的开源项目,由社区驱动并进行维护。无论是想要加入一个已经存在的 Misskey 实例,还是想要自己运行一个实例,用户都可以免费使用这个平台。通过它你将享受一个非常安全的聊天世界,不会受到任何监控
在Ubuntu系统环境下通过脚本安装
使用一个 shell 脚本安装 Misskey!
您只需回答一些问题即可在 Ubuntu 服务器上安装 misskey。
还有一个更新脚本。
准备
- 一个域
- 一个 Ubuntu 服务器
- Cloudflare 帐户(推荐)
开始使用数据库后,不要使用服务器的域/主机名重新创建数据库!
配置 Cloudflare
如果您使用的是nginx和Cloudflare,则必须配置Cloudflare:
- 设置 DNS。
- 在 SSL/TLS 设置选项卡上,将加密模式切换为“完整”。
程序
1. 固态硬盘
通过 SSH 连接到服务器。
(如果服务器桌面已打开,请打开外壳。
2. 清理
确保所有软件包都是最新的,然后重新启动。
sudo apt update; sudo apt full-upgrade -y; sudo reboot
3. 开始安装
重新连接SSH,让我们开始安装Misskey。
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/ubuntu.sh -O ubuntu.sh; sudo bash ubuntu.sh
4. 更新
还有一个更新脚本。
更新脚本不会更新环境。
请参考 CHANGELOG(日语)和 GitHub 版本列表(英语)并相应地执行迁移操作。
首先,下载脚本。
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/update.ubuntu.sh -O update.sh
当您要更新Misskey时运行它。
sudo bash update.sh
评论