怕刺 - 内网穿透
type: channel
link: https://pa.ci/tag/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/
items: 使用 Cloudflare Zero Trust 实现内网服务外网访问
items: 【教程】通过frp实现自建远程桌面

使用 Cloudflare Zero Trust 实现内网服务外网访问
type: item
date: 2026-01-28T07:52:27+00:00
description: 前言家中有一台运行在内网的服务器（没有公网 IP），上面运行着一些服务（Home Assistant等），想要从外网访问，但又不希望所有人都能访问，于是选择使用 Cloudflare Zero Trust 实现内网穿透。注：如果有独立IP的服务器，也可以直接使用easytier实现内网穿透，更方便但限制于中转服务器的网速。本文将详细介绍如何在 Debian 13 Linux 服务器上配置 Cloudflare Zero Trust，实现：内网服务暴露到公网通过身份验证控制访问权限无需公网 IP 或路由器端口转发什么是 Cloudflare Zero Trust？Cloudflare Zero Trust 是 Cloudflare 提供的零信任网络访问解决方案，包括：Cloudflare Tunnel：安全地将内网服务暴露到互联网Access：身份验证和访问控制策略Gateway：网络安全和流量过滤对于个人用户，最常用的是 Tunnel + Access 组合，可以实现安全的远程访问。环境要求一台 Linux 服务器（本文以 Debian 13 为例）服务器上运行的服务（本文以 8188 端口为例）一个域名（需要使用 Cloudflare DNS）Cloudflare 账号（免费）第一部分：安装和配置1. 安装 cloudflared在你的 Debian 服务器上安装 cloudflared 客户端：# 下载最新版本的 cloudflared wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb # 安装 sudo dpkg -i cloudflared-linux-amd64.deb # 验证安装 cloudflared --version2. 登录 Cloudflare 账户cloudflared tunnel login执行后会出现以下情况之一：有桌面环境：自动打开浏览器进行授权无桌面环境：显示一个 URL，需要在其他设备上打开这个 URL 完成授权授权成功后，会在 ~/.cloudflared/ 目录下生成证书文件。3. 创建 Tunnel# 创建一个 tunnel（名称可以自定义） cloudflared tunnel create my-app-tunnel执行成功后，会返回类似以下信息：Tunnel credentials written to /home/xxx/.cloudflared/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json # 这里的xxx是用户名 Created tunnel my-app-tunnel with id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx重要：记录返回的 Tunnel ID，后续配置需要用到。4. 配置 Tunnel创建配置文件 /etc/cloudflared/config.yml：sudo mkdir -p /etc/cloudflared sudo nano /etc/cloudflared/config.yml添加以下内容：tunnel: <你的Tunnel-ID> credentials-file: /home/xxx/.cloudflared/<你的Tunnel-ID>.json ingress: - hostname: your-app.yourdomain.com service: http://localhost:8188 - service: http_status:404配置说明：tunnel：填写步骤 3 中获得的 Tunnel IDcredentials-file：凭证文件路径（使用步骤 3 中显示的路径）hostname：你想使用的域名（需要提前在 Cloudflare 添加域名）service：本地服务地址（本文是 http://localhost:8188）最后一行 service: http_status:404 是必需的，用于处理未匹配的请求5. 配置 DNScloudflared tunnel route dns <你的Tunnel-ID> your-app.yourdomain.com这个命令会自动在 Cloudflare DNS 中创建一条 CNAME 记录，指向你的 Tunnel。你也可以手动在 Cloudflare 控制台添加：类型：CNAME名称：your-app内容：<Tunnel-ID>.cfargotunnel.com代理状态：已代理（橙色云朵）6. 设置为系统服务将 cloudflared 设置为开机自启动的系统…

【教程】通过frp实现自建远程桌面
type: item
date: 2018-07-20T15:55:00+00:00
description: 家里有个装了Windows的atom小电脑，因为没有独立ip，当人在外的时候没法直接通过远程桌面。通过使用frp和一个具有公网ip的vps就可以实现内网穿透，实现在任何地方都可以直接登陆atom小电脑。服务器端配置点击这里，在github上下载最新的frp软件，注意选择符合vps的硬件和软件版本。修改frps.ini中的配置文件，更改为如下：（其中7000是frp的服务器端和客户端之间的通信端口）[common] bind_port = 7000使用以下命令将frp服务器端在后台运行，注意文件路径（如将frps放在了/home/frp/文件夹下）：nohup /home/frp/frps -c /home/frp/frps.ini & &> /dev/null客户端配置还是在刚才的github页面上下载Windows版本的frp，注意软件要和Windows位数一致。修改frpc.ini中的配置文件，更改为如下：[common] server_addr = ip #这里是vps的ip server_port = 7000 [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 5200在cmd或者powershell中，先cd到frp的文件夹，再运行以下命令：frpc -c frpc.ini连接到远程桌面使用vps的ip和端口5200，即可实现内网穿透并远程桌面连接。这里的远程桌面连接效果，取决于vps，本地和远程电脑三方的网络质量。frp客户端开机自启动(由hostloc的lop提供)1.新建vbs后缀的脚本（根据frpc的存放目录自行更改）set ws=WScript.CreateObject("WScript.Shell") ws.Run "c:\frp\frpc.exe -c c:\frp\frpc.ini",0 2.将此脚本放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 即可添加开机自启动。如无法找到以上目录，可通过“运行”–“shell:startup”找到。