Ubuntu 服務器配置與 Cloudflare Tunnel 部署指南 免費內網穿透家用服務器

Ubuntu 服務器配置與 Cloudflare Tunnel 部署指南

本文檔總結了服務器配置相關內容,包括 Ubuntu 服務器配置、硬盤擴容、靜態 IP 設置以及 Cloudflare Tunnel 的部署步驟。

目錄

  1. 硬盤分區與擴容
  2. 設置靜態 IP
  3. Cloudflare Tunnel 部署
  4. SSH 通過 Cloudflare Tunnel
  5. 常見問題與解決方案

硬盤分區與擴容

問題分析

物理硬盤為 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

配置步驟

  1. 確定網絡接口名稱

    ip a
    

    找到主要網絡接口名稱(如 eth0、ens33 等)

  2. 創建/編輯 Netplan 配置文件

    sudo nano /etc/netplan/01-netcfg.yaml
    
  3. 添加靜態 IP 配置(國內優化版)

    network:version: 2renderer: networkdethernets:<你的網絡接口>:dhcp4: noaddresses:- 192.168.1.20/24gateway4: 192.168.1.1nameservers:addresses: [223.5.5.5, 223.6.6.6, 114.114.114.114]
    
  4. 應用配置

    sudo netplan apply
    
  5. 驗證配置

    ip a
    ping -c 4 baidu.com
    

Cloudflare Tunnel 部署

安裝與配置

  1. 關閉防火墻

  2. 設置魔法

    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
    
  3. 測試網絡

    curl -v https://www.魔法
    
  4. 安裝 cloudflared

    wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
    sudo dpkg -i cloudflared-linux-amd64.deb
    cloudflared --version
    
  5. 登錄 Cloudflare(需先切換root用戶以確保證書位置正確)

    sudo -i
    cloudflared login
    
  6. 創建隧道

    cloudflared tunnel create fengche-homeserver
    
  7. 配置隧道

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

    配置文件內容:

    tunnel: <你的隧道ID>
    credentials-file: /root/.cloudflared/<你的隧道ID>.json
    origincert: /root/.cloudflared/cert.pemingress:- hostname: <你的域名>service: http://localhost:80- service: http_status:404
    
  8. 配置 DNS

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

    注意:如果域名已有 DNS 記錄,使用子域名或先刪除現有記錄。

設置為系統服務

  1. 創建自定義系統服務文件

    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
    
  2. 啟動并設置開機自啟

    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。

準備工作

  1. 確保你有 cloudflared 的 token
    例如:

    eyJhIjoiNzUzNDFjOGY2YjNlNDczOTdkZjBlNjAzNTQyMDc4YzUiLCJzIjoiVmhyTWw3bE0zc05NcExwK3BlK21UM3FjekRCZXQ1MmtsUy95d1lUV2tPMD0iLCJ0IjoiMWRjMWFkMjItZjljMy00MGMzLWI5YTUtNDZhMTc4MDc3ZTg0In0=
    
  2. 確認你的本地服務端口
    例如:localhost:3001

創建 cloudflared 配置文件(可選)

如果你想用配置文件自定義轉發規則,可以在 /root/.cloudflared/config.yml 寫入如下內容:

tunnel: 1dc1ad22-f9c3-40c3-b9a5-46a178077e84   # 你的 tunnel ID
ingress:- hostname: fcchat.xyz                       # 你的域名service: http://localhost:3001             # 你的本地服務端口- service: http_status:404

如果你只用 token 啟動且只轉發一個端口,這一步可以省略。

編寫啟動腳本

  1. 進入 cloudflared 目錄

    cd /root/.cloudflared/
    
  2. 新建腳本文件

    nano start-tunnel.sh
    
  3. 寫入以下內容(請替換為你的 token 和端口)

    #!/bin/bash
    # 啟動 cloudflared tunnel,token請替換為你的真實token
    cloudflared tunnel run --token "eyJhIjoiNzUzNDFjOGY2YjNlNDczOTdkZjBlNjAzNTQyMDc4YzUiLCJzIjoiVmhyTWw3bE0zc05NcExwK3BlK21UM3FjekRCZXQ1MmtsUy95d1lUV2tPMD0iLCJ0IjoiMWRjMWFkMjItZjljMy00MGMzLWI5YTUtNDZhMTc4MDc3ZTg0In0="
    

    如果你有 config.yml,cloudflared 會自動讀取,無需額外指定端口。

  4. 保存并退出

    • nano 下按 Ctrl+O 回車保存,Ctrl+X 退出。
  5. 賦予腳本執行權限

    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

  1. 獲取 token 和本地端口。
  2. (可選)寫 config.yml 配置轉發規則。
  3. 寫 start-tunnel.sh 腳本,內容為 cloudflared tunnel run --token “你的token”。
  4. 賦權并運行腳本即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82744.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82744.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82744.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

降低實驗檢測報告編制耗時 質檢LIMS系統的應用策略

在質檢工作流程中&#xff0c;檢測報告編制往往是耗時耗力的關鍵環節。傳統人工編制報告不僅效率低下&#xff0c;還容易出現數據錯誤、格式不統一等問題。質檢 LIMS 系統憑借其強大的自動化、智能化功能&#xff0c;為檢測報告編制帶來革命性變革&#xff0c;能夠將編制時間減…

同為.net/C#的跨平臺運行時的mono和.net Core有什么區別?

Mono 和 .NET Core&#xff08;現已統一為 .NET&#xff09;都是 .NET 生態的跨平臺實現&#xff0c;但它們在設計目標、技術特性和應用場景上有顯著區別。以下是詳細對比&#xff1a; ??1. 歷史背景?? ??項目????誕生時間????開發者????當前狀態????Mo…

Android AIDL Hal最低保證出現的問題

1. AIDL HAL 的“最低保證”特性 &#xff08;1&#xff09;協議層級的強制支持 在 IComposer AIDL 接口定義中&#xff08;如 android.hardware.graphics.composer3&#xff09;&#xff0c;Google 已經將部分功能列為 必須支持的特性&#xff08;MUST&#xff09;。例如&am…

蘋果FINDMY和谷歌FIND HUB增強共享位置功能

近期&#xff0c;蘋果Findmy增強了追蹤和分享丟失物品位置方面的功能&#xff0c;“共享物品位置”&#xff0c;用戶可以安全地與航空a公司等第三方分享丟失物品的位置&#xff0c;以便于行李找回。 iOS 18.2的這一新功能使用戶可以輕松、安全地與航空公司等第三方分享AirTag或…

基于GA遺傳優化的FIR濾波器幅頻相頻均衡補償算法matlab仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 在數字信號處理領域&#xff0c;有限沖激響應&#xff08;FIR&#xff09;濾波器因其結構簡單、穩定性好且易于實現線性相位等優點被廣泛應用。然而&#xff0c;實…

雙路物理CPU機器上安裝Ubuntu并部署KVM以實現系統多開

在雙路物理CPU機器上安裝Ubuntu并部署KVM以實現系統多開&#xff0c;并追求性能最優&#xff0c;需要從硬件、宿主機系統、KVM配置、虛擬機配置等多個層面進行優化。 以下是詳細的操作指南和優化建議&#xff1a; 階段一&#xff1a;BIOS/UEFI 設置優化 (重啟進入) 啟用虛擬化…

adb查看、設置cpu相關信息

查內存 adb shell dumpsys meminfo查CPU top -m 10打開 system_monitor adb shell am start -n eu.chainfire.perfmon/.LaunchActivity設置CPU的核心數 在/sys/devices/system/cpu目錄下可以看到你的CPU有幾個核心&#xff0c;如果是雙核&#xff0c;就是cpu0和cpu1&#xff0c…

【Unity基礎】Unity新手實戰教程:用ScriptableObject控制Cube顏色

目錄 項目概述&#x1f6e0;? 完整操作步驟&#xff08;10分鐘內完成&#xff09;步驟1&#xff1a;創建ScriptableObject類步驟2&#xff1a;創建顏色配置資產步驟3&#xff1a;創建Cube控制器步驟4&#xff1a;設置場景和Cube步驟5&#xff1a;添加簡單UI提示步驟6&#xff…

One Year~

入局 作為科班學生&#xff0c;沒事就在CSDN閑逛&#xff0c;只作為旁觀者的身份去體會別人的好文。當時也沒想著說去自己寫一些博客記錄學習過程。相信大多數同學和我有一樣的心理。 但在看魚皮哥的課程時&#xff0c;發現他有著寫文檔和博客的習慣&#xff0c;整理自己的思路…

【Redis】第3節|深入理解Redis線程模型

一、Redis基礎認知 &#xff08;一&#xff09;定義與定位 Redis&#xff08;Remote Dictionary Server&#xff09;是開源高性能鍵值數據庫&#xff0c;核心特點如下&#xff1a; 數據結構豐富&#xff1a;支持字符串、哈希、列表、集合、有序集合等復雜數據類型&#xff0…

vben-admin 2.8.0 版本修改 axios響應處理邏輯

此前端框架下的 Axios 在后端返回的結果老是無法正常解析&#xff0c;找到他源碼的封裝類&#xff0c;修正這個問題 文件位于 src\utils\http\axios\index.ts 修改前 transformResponseHook: (res: AxiosResponse<Result>, options: RequestOptions) > {const { t }…

深入理解JavaScript設計模式之原型模式

目錄 前言引入原型模式頭腦風暴傳統方式 vs 原型模式實戰案例&#xff1a;飛機大戰中的分身術 原型模式實現的關鍵秘密實戰演練&#xff1a;造一架能分身的飛機克隆是創建對象的手段原型模式&#xff1a;輕裝上陣的造物術 原型編程范型的一些規則原型編程的四大門規&#xff1a…

【數據庫】概述(純理論)

數據庫系統引論 數據管理系統的發展 數據管理&#xff1a;對數據分類、組織、編碼、存儲、檢索、維護 發展&#xff1a;人工管理、文件系統、數據庫系統 40-50年代 人工管理 數據不保存&#xff0c;沒有專門軟件管理數據&#xff0c;應用程序完全依賴于數據&#xff0c;數據…

語音合成之十七 語音合成(TTS)中文自然度:問題、成因、解決方案

語音合成&#xff08;TTS&#xff09;中文自然度&#xff1a;問題、成因、解決方案 中文TTS系統基本架構中文TTS常見問題深度剖析與解決方案音色跳變成因分析解決方案 聲調與重讀錯誤成因分析業界解決方案 漏讀與斷句錯誤成因分析業界解決方案 在跨語言TTS系統比較中&#xff0…

我在 Linux 進程管理中踩過的坑:僵尸、瞬時與不可中斷進程實戰實錄

作為運維老鳥&#xff0c;我曾在 Linux 進程管理上栽過不少跟頭。記得第一次遇到滿屏僵尸進程時&#xff0c;服務器直接卡到連 SSH 都登不上&#xff0c;看著ps命令里一排排刺眼的Z狀態進程&#xff0c;手心直冒冷汗。后來又碰到過瞬時進程搞崩日志系統&#xff0c;明明監控顯示…

【設計模式】簡單工廠模式,工廠模式,抽象工廠模式,單例,代理,go案例區分總結

工廠模式三種類型&#xff1a; 一、簡單工廠模式&#xff08;Simple Factory&#xff09; 定義&#xff1a; 用一個工廠類&#xff0c;根據傳入的參數決定創建哪一種具體產品類實例。 面試說法&#xff1a; 由一個統一的工廠創建所有對象&#xff0c;增加新產品時需要修改工…

某標桿房企BI平臺2.0升級實踐

當房地產行業從“規模競賽”轉向“精益運營”&#xff0c;數字化轉型成為破局關鍵。某千億房企攜手億信華辰&#xff0c;以“用數據重構業務價值鏈”為目標&#xff0c;歷經6個月完成BI平臺戰略性升級。在這場從“數據可視化”到“決策智能化”的躍遷中&#xff0c;億信華辰ABI…

Lua 腳本在 Redis 中的運用-24 (使用 Lua 腳本實現原子計數器)

實踐練習:使用 Lua 腳本實現原子計數器 實現原子計數器是許多應用程序中的常見需求,例如跟蹤網站訪問量、限制 API 請求或管理庫存。雖然 Redis 提供了 INCR 命令用于遞增整數,但在復雜場景或與其他操作結合時直接使用它可能并不足夠。本課程探討了如何在 Redis 中利用 Lua…

Rust 學習筆記:使用迭代器改進 minigrep

Rust 學習筆記&#xff1a;使用迭代器改進 minigrep Rust 學習筆記&#xff1a;使用迭代器改進 minigrep不使用 clone&#xff0c;而使用迭代器使用迭代器適配器使代碼更清晰在循環或迭代器之間進行選擇 Rust 學習筆記&#xff1a;使用迭代器改進 minigrep 前情提要&#xff1…

el-table配置表頭固定而且高度變化

根據官網提示只要在 el-table 元素中定義了 height 屬性&#xff0c;即可實現固定表頭的表格&#xff0c;而不需要額外的代碼。 如果你想既要固定表頭&#xff0c;又要下方表格高度自適應&#xff0c;可以設置為 height"100%" &#xff1a; 然后外層設置scroll: