基于VMWare的家用服务器设置(CF中Cloudflared的搭建)

前言

有些地区的运营商不会给用户开放公网ip,如果有也可能是动态公网,使用起来特别不友好

如果用户有建站的需求,那么他大概率会想到在服务器商处购买服务器和域名,在国内的服务器还需要备案等,非常麻烦对吧?

但是,如果我说现在有种方案,只要你有一部可上网的电脑、一个国外域名即可无需服务器完成网站外网访问,那么,你,会选择尝试吗?

本方案类似于 Nas 搭建服务器,部分操作几乎一致

必备准备

在完成本项前请确保你已拥有以下东西:

  1. 一部可正常上网的电脑

  2. 一个 Cloudflare 账号

  3. 已在 Cloudflare 解析的 国外域名

  4. 【非必须】一个空间足够大的外接硬盘,仅为有多余硬盘的用户操作

前期操作

创建服务器

  1. 自行下载和安装VMWare 25H2,并创建典型虚拟机,配置可按下方表格设置

表格的每行代表一个步骤,含 & 的表示该步骤内有选填项,需按实际修改或操作

步骤 设置
install from: I will install the operating system later.
Guest operating system & Version Linux & Debian 13 x64位
Virtual machine name & Location Debian 13 & D:\Desktop\VMWare
最大磁盘大小(GB) 20 & 将虚拟磁盘拆分成多个文件
已准备好创建虚拟机 完成

设置虚拟机,点击编辑虚拟机设置:

设备 摘要
内存 4GB(以物理机配置灵活调节)
处理器 4(以物理机配置灵活调节)
硬盘 20GB(建议40GB,以物理机配置灵活调节,若使用外接硬盘,此项应删除,创建好系统后再添加)
CD/DVD(SATA) 选择系统镜像文件所在路径
网络适配器 NAT(或桥接,视需求决定)
USB控制器 USB 3.2 & 显示所有 USB 输入设备
声卡 此项删除

补充说明

  1. VMWare可视需求自行选择是否使用汉化,当前汉化包翻译可能不完全,但足够日常使用了

  2. 若使用外接硬盘,此项必做,请先删除【设置】中【硬盘】项,退出VMWare,使用管理员权限打开,进入设置界面,选择硬盘,设置内会显示 PhysicalDriver0 或 PhysicalDriver1 等,找到对应你外接硬盘的硬盘大小的物理磁盘后点击保存,再按上表配置其他设置

  3. 系统镜像文件可在此处获取

  4. 【网络适配器】栏的选择,若想让虚拟机独占一个 ip 选择桥接,否则选择 NAT,配置桥接的方法将在下方讲解,可在下方查看

系统参考设置

  1. 按上文完成基础设置后,启动虚拟机

  2. 保存设置后,正式进入系统安装界面,本过程预计耗时30min,需随时查看安装进度以进入下一安装步骤

  3. 根据以下配置完成系统安装

步骤 设置
启动界面 Graphical install(若使用 install,即命令行安装,操作与下一致)
选择语言、国家、时区 Chinese & China & China
主机名 & 域名 & 密码 任意,如ciallo & 留空 & 自行输入
普通用户全名 & 登录用户名 & 密码 任意 & 任意 & 任意
磁盘选择 & 选择磁盘 使用整个磁盘(Guided - use entire disk) & SCSI? (根据自己设的大小选择)
选择分区模式 & 完成并保存分区 所有目录都在根目录 & 完成分区 & 将改动应用至磁盘
可选项 扫描额外介质 & 启用网络镜像?(此处选 & ustc.edu.cn)& 统计使用情况
选择安装的软件 【此项必须一致,不然后续使用会有影响】 Debian desktop environment & web server & SSH server & standard system utilities
是否安装GRUB引导器至磁盘? 是 & /dev/sda
等待重启 继续
  1. 待重启后,使用普通用户的密码登录后,即可成功进入系统

桥接模式设置(仅虚拟机设置了桥接时配置)

  1. 关闭 VMWare,以管理员权限启动,点击菜单的【编辑】 - 【虚拟网络编辑器】,点击右下角的【变更设置】,修改VMnet0 的网卡为你自己 实际在用的网卡,点击保存,再启动虚拟机

  2. 登录后,点击【终端】,输入 ip a,查看ens开头的设备名,如 ens0721,记住它

3-1(桌面版操作该步). 右下角右键网络图标,设置网络为【手动】,按需设置DNS、ip、子网掩码和网关,保存

3-2. 断开网络,重新连接使之生效,终端再输入 ip a ,若输出的ip是设置的值则设置成功

4-1(命令行操作该步). 输入 sudo nano /etc/network/interfaces 打开文件,在文件内添加以下代码后,保存

auto [前面记的设备名,要删外面括号]
iface [前面记的设备名,要删外面括号] inet static
address 192.168.x.y                        # 输入你要给设备的ip,需确保不会与同网段ip冲突      
netmask 255.255.255.0
gateway 192.168.x.1                        # 输入设备网关,x是你上面填的值

4-2. 打开 /etc/resolv.conf 文件,输入以下内容并保存

nameserver 114.114.115.115
nameserver 8.8.8.8
nameserver 8.8.4.4

4-3. 打开【终端】,再次输入 ip a,查看设备是否为你给设备配置的ip,若是则完成桥接模式的配置,否则返回去检查

Cloudflare的内网穿透设置

  1. 打开Cloudflare,点击侧边栏【保护和连接】 - 【联网】 - 【Tunnels】,创建隧道,名字任意,点击【取消】

  2. 点击刚创建的隧道,在【副本】选择系统(若使用本教程,此处应选择 Debian - arm64),复制第三串代码至桌面的某个文件内备用,下方为参考示例

cloudflared tunnel run --token eyJhIjoiMWM4YjY2ZmVlOWRkMzljMzE4OTg3MjZjZmY0NWFmMDgiLCJ0IjoiNDMyZDNk00QtNjc5NS00MmE5LWJiN2ItNDZjMGFhZjNkZjM2IiwicyI6Ik9HWTJNbVl6TmpRdFlUWTBOaTAwTlRJM0xUaGtZMkl0WlRjME9UWm1OV1kwWkRZdyJ9
  1. 在虚拟机的期望文件夹内创建一个文件 docker-compose.yml ,输入以下代码并保存
version: '3.3'
services:
  cloudflared:
    image: cloudflare/cloudflared:latest
    container_name: cloudflared
    restart: unless-stopped
    command: tunnel run
    environment:
      - TUNNEL_TOKEN=eyJhxxxxxxxxxxxxxxxxxxxxdyJ9  # 提供 Token,**注意此处要替换**

  1. 在当前文件夹的终端输入 sudo docker compose up -d 启动服务,返回Cloudflare,若提示连接成功,则隧道搭建完成

  2. 隧道用法:点击【路由】 - 【添加路由】 - 【已发布的应用程序】,按照需求输入和选择域名,可参考下方示例填写

对应项 参考值
子域(可选) anime
ciallo.cc
路径(可选) 留空
服务URL http://172.0.0.1:9178
  1. 等待自动生效后,访问域名,正常显示网页即成功
posted @ 2026-05-09 22:01  夏沐真凉  阅读(11)  评论(0)    收藏  举报