Skip to content

快速搭建家庭服务器实现公网访问(no rpc) #19

@GuoYuefei

Description

@GuoYuefei

快速搭建家庭服务器系统casaos

简介

casaos是一款致力于家庭服务器的网络操作系统,使用docker一键式安装各种软件
http://demo.casaos.io/ 这是人家的demo
https://github.com/IceWhaleTech/CasaOS github开源

提前准备

  1. 一台可运行linux的电脑--这边我推荐迷你主机,我用的是芯片N100,16G/1T的,打算将来再扩展1T。主要装了双系统,windows占了300G,也可以尝试着去除windows(没必要windows)
  2. 一个U盘,archLinux的安装盘--> 需要用yay安装一些前置软件(casa的脚本没法一键安装,不用arch应该可以一键安装)
  3. 一个有公网ip的宽带
  4. 中国的域名购买网站的账号(阿里云、腾讯云等)和cloudflare账号: 为什么这里需要cloudfare,就是第三点有个很坑的地方,现在的服务商会把公网的80和443端口禁掉,我们需要用些方法绕过去。

正式安装

  1. 安装arch liunx 跳过~~网上很多教程
  2. 安装casaos
curl -fsSL https://get.casaos.io | sudo bash

中间会有很多问题,如果你安装的linux也是arch的话,需要安装yay, sudo pacman -S yay,然后使用yay从源码层面安装缺少的工具

  1. 域名
  • 需要域名的原因:我们分配到的公网IP是会变的,每次拨号上网就会改变,租赁ip时间到期可能会变,但是域名是不会变的;关键是怎么把动态的ip绑定到静态的域名上
    这就需要动态dns的技术了---ddns
  • 我是在主机下安装了ddns-go,其实推荐在软路由上安装,因为可以通过读取软路由的网卡的ip地址(就是公网)来给ddns服务器发送ip;如果用在NAT下的主机做ddns客户端的话,只能依赖第三方接口获取自己的公网ip,就产生了依赖,具有不稳定性
  • 我是在腾讯云买了online域名,dns解析转移到cloudflare下,添加好dns的A解析记录,注意ip可以任意填写;然后获取能操作dns解析权限的token,ddns-go需要
  • 打开ddns-go的web页面填写好,总之这一步也可以在网络上找怎么做,我不赘述了
  1. NAT设置
  • 在路由器(最好是软路由)找到linux机子的ip绑定为静态,防止每次连接或者ip到期后发生改变
  • NAT转换那块,将linux的80端口指向公网的81端口,用81是因为外网80端口是被服务商禁止掉了;其他端口转换应该保持原端口号
  1. cloudflare设置
  • cloudflare在多设置一个域名,比如home.xxxx.yyy,再设置一个页面规则,将原来的根域名xxxx.yyy永久重定向到home.xxxx.yyy:81,同时记得把home.xxxx.yyy在域名解析那边关掉cloudflare代理。 解释下cloudflare代理是开启cdn的,只会去缓存特定端口如80、443,而我们的机子这些端口是不开放的,并且它的cdn主要在国外,基本只会减速。
  • 某些特殊的网站,想要安全性或者可用性(vscode一些插件必须要https),可以使用cloudflare的cdn。可以设置一个子域名im.xxxx.yyy,设置端口规则,将主机名为im.xxxx.yyy的请求转发到你应用所在端口,比如9876。这样游览器中的域名就永远保持im.xxxx.yyy实际上访问的又是主机的9876端口了
  • 关于https,建议就全部走反向代理nginx,证书可以向Let's Encrypt申请,免费;三个月到期后继续申请,永久免费的。

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions