云计算百科
云计算领域专业知识百科平台

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 免费内网穿透家用服务器

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南

本文档总结了服务器配置相关内容,包括 Ubuntu 服务器配置、硬盘扩容、静态 IP 设置以及 Cloudflare Tunnel 的部署步骤。

目录

  • 硬盘分区与扩容
  • 设置静态 IP
  • Cloudflare Tunnel 部署
  • SSH 通过 Cloudflare Tunnel
  • 常见问题与解决方案
  • 硬盘分区与扩容

    问题分析

    物理硬盘为 128GB,但 Ubuntu 服务器只使用了约 58GB 空间。通过 lsblk 命令查看:

    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 119.2G 0 disk
    ├─sda1 8:1 0 1.1G 0 part /boot/efi
    ├─sda2 8:2 0 2G 0 part /boot
    └─sda3 8:3 0 116.2G 0 part
    └─ubuntu–vg-ubuntu–lv 253:0 0 58.1G 0 lvm /

    解决方案

    LVM 逻辑卷只使用了 58.1GB,而物理分区 sda3 有 116.2GB。需要扩展 LVM 逻辑卷:

    # 1. 查看卷组中可用空间
    sudo vgdisplay ubuntu-vg

    # 2. 扩展逻辑卷以使用所有可用空间
    sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

    # 3. 调整文件系统大小以匹配逻辑卷大小
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

    设置静态 IP

    配置步骤

  • 确定网络接口名称:

    ip a

    找到主要网络接口名称(如 eth0、ens33 等)

  • 创建/编辑 Netplan 配置文件:

    sudo nano /etc/netplan/01-netcfg.yaml

  • 添加静态 IP 配置(国内优化版):

    network:
    version: 2
    renderer: networkd
    ethernets:
    <你的网络接口>:
    dhcp4: no
    addresses:
    192.168.1.20/24
    gateway4: 192.168.1.1
    nameservers:
    addresses: [223.5.5.5, 223.6.6.6, 114.114.114.114]

  • 应用配置:

    sudo netplan apply

  • 验证配置:

    ip a
    ping -c 4 baidu.com

  • Cloudflare Tunnel 部署

    安装与配置

  • 关闭防火墙

  • 设置魔法

    export http_proxy=http://192.168.1.2:7890
    export https_proxy=http://192.168.1.2:7890
    export no_proxy=localhost,127.0.0.1

  • 测试网络

    curl -v https://www.魔法

  • 安装 cloudflared:

    wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
    sudo dpkg -i cloudflared-linux-amd64.deb
    cloudflared –version

  • 登录 Cloudflare(需先切换root用户以确保证书位置正确):

    sudo -i
    cloudflared login

  • 创建隧道:

    cloudflared tunnel create fengche-homeserver

  • 配置隧道:

    sudo mkdir -p /etc/cloudflared
    sudo nano /etc/cloudflared/config.yml

    配置文件内容:

    tunnel: <你的隧道ID>
    credentials-file: /root/.cloudflared/<你的隧道ID>.json
    origincert: /root/.cloudflared/cert.pem

    ingress:
    hostname: <你的域名>
    service: http://localhost:80
    service: http_status:404

  • 配置 DNS:

    cloudflared tunnel route dns fengche-homeserver [fcchat.xyz](https://fcchat.xyz)

    注意:如果域名已有 DNS 记录,使用子域名或先删除现有记录。

  • 设置为系统服务

  • 创建自定义系统服务文件:

    sudo nano /etc/systemd/system/cloudflared.service

    添加以下内容:

    [Unit]
    Description=Cloudflare Tunnel
    After=network.target

    [Service]
    Type=simple
    User=root
    ExecStart=/usr/bin/cloudflared tunnel run fengche-homeserver
    Restart=on-failure
    RestartSec=5s

    [Install]
    WantedBy=multi-user.target

  • 启动并设置开机自启:

    sudo systemctl daemon-reload
    sudo systemctl start cloudflared
    sudo systemctl status cloudflared
    sudo systemctl enable cloudflared


  • 演示站 fengche.site

    使用 Token 启动 Cloudflare Tunnel

    如何获取 tunnel 的 token

    cloudflared tunnel list
    cloudflared tunnel token 1dc1ad22-f9c3-40c3-b9a5-46a178077e84

    执行以上命令即可获取 tunnel 的 token。

    准备工作

  • 确保你有 cloudflared 的 token 例如:

    eyJhIjoiNzUzNDFjOGY2YjNlNDczOTdkZjBlNjAzNTQyMDc4YzUiLCJzIjoiVmhyTWw3bE0zc05NcExwK3BlK21UM3FjekRCZXQ1MmtsUy95d1lUV2tPMD0iLCJ0IjoiMWRjMWFkMjItZjljMy00MGMzLWI5YTUtNDZhMTc4MDc3ZTg0In0=

  • 确认你的本地服务端口 例如:localhost:3001

  • 创建 cloudflared 配置文件(可选)

    如果你想用配置文件自定义转发规则,可以在 /root/.cloudflared/config.yml 写入如下内容:

    tunnel: 1dc1ad22f9c340c3b9a546a178077e84 # 你的 tunnel ID
    ingress:
    hostname: fcchat.xyz # 你的域名
    service: http://localhost:3001 # 你的本地服务端口
    service: http_status:404

    如果你只用 token 启动且只转发一个端口,这一步可以省略。

    编写启动脚本

  • 进入 cloudflared 目录

    cd /root/.cloudflared/

  • 新建脚本文件

    nano start-tunnel.sh

  • 写入以下内容(请替换为你的 token 和端口)

    #!/bin/bash
    # 启动 cloudflared tunnel,token请替换为你的真实token
    cloudflared tunnel run –token "eyJhIjoiNzUzNDFjOGY2YjNlNDczOTdkZjBlNjAzNTQyMDc4YzUiLCJzIjoiVmhyTWw3bE0zc05NcExwK3BlK21UM3FjekRCZXQ1MmtsUy95d1lUV2tPMD0iLCJ0IjoiMWRjMWFkMjItZjljMy00MGMzLWI5YTUtNDZhMTc4MDc3ZTg0In0="

    如果你有 config.yml,cloudflared 会自动读取,无需额外指定端口。

  • 保存并退出

    • nano 下按 Ctrl+O 回车保存,Ctrl+X 退出。
  • 赋予脚本执行权限

    chmod +x /root/.cloudflared/start-tunnel.sh

  • 启动 tunnel

    以后只需运行:

    /root/.cloudflared/start-tunnel.sh

    即可一键启动 Cloudflare Tunnel。

    设置为后台或开机自启(可选)

    • 后台运行:nohup /root/.cloudflared/start-tunnel.sh > /root/.cloudflared/tunnel.log 2>&1 &
    • 开机自启动可使用 systemd 或 rc.local 配置。

    总结

    作者 https://xoxome.online

  • 获取 token 和本地端口。
  • (可选)写 config.yml 配置转发规则。
  • 写 start-tunnel.sh 脚本,内容为 cloudflared tunnel run –token “你的token”。
  • 赋权并运行脚本即可。
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 免费内网穿透家用服务器
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!