适用场景:

        远程访问个人家庭/公司没有公网IP的电脑,以远程桌面为例。   

成本及性能:

  1.  Zerotier,0成本,部署简单、基本能用
  2. FRP,99一年,相对复杂、体验更佳

Zerotier:打造高效安全的异地虚拟局域网:

Zerotier介绍:

        Zerotier是一个革命性的网络工具,它通过创新的认证机制和P2P(点对点)技术,实现了高效、安全的异地虚拟局域网(VPN)构建。无论是家庭、企业还是远程团队,Zerotier都能帮助用户轻松地将不同地理位置的设备连接在一起,实现高速、直接的通信,无需依赖中心服务器的中转。

核心特点

  • 全球虚拟网络:Zerotier可以创建一个全球性的软件定义网络(SDN),使设备无论身处何地都能安全互联。
  • 端到端加密:提供强大的加密通信,保障用户数据的安全性和隐私。
  • 跨平台支持:支持多种操作系统和平台,包括Windows、macOS、Linux、Android、iOS等。
  • P2P架构:无需中心化服务器,降低网络延迟和单点故障风险,提高带宽利用率。
  • 自动路由:智能选择最佳网络路径,提高网络性能。
  • 灵活扩展:支持灵活的网络拓扑结构和节点管理,适用于不同规模和复杂度的网络需求。

如何搭建Zerotier内网穿透服务

1. 注册Zerotier账户

首先,你需要访问Zerotier官网并注册一个账户。支持多种方式登录,包括通过Google账号等。注册完成后,登录Zerotier账户管理界面。

2. 创建Zerotier Network

登录后,点击“Create a Network”按钮创建一个新的虚拟网络。创建成功后,你会得到一个唯一的Network ID,这是其他设备加入该网络所必需的。同时,你还可以设置网络的名称和隐私级别(建议选择Private以提高安全性)。

3. 本地安装配置Zerotier软件

Windows/macOS/Linux
  1. 访问Zerotier下载页面根据你的操作系统下载相应的客户端安装包。
  2. 安装Zerotier客户端,安装完成后,在任务栏或系统托盘中将出现Zerotier的图标。
Android/iOS

在各自的应用商店搜索“Zerotier”并下载安装。

4. 加入Zerotier Network

  1. 复制Network ID:回到Zerotier管理界面,找到你刚刚创建的网络的Network ID,并复制它。
  2. 加入网络
    • 对于Windows/macOS/Linux,右键点击系统托盘中的Zerotier图标,选择“Join Network”,然后粘贴Network ID并确认加入。
    • 对于Android/iOS,打开Zerotier应用,点击“Join Network”,同样粘贴Network ID并确认。

5. Zerotier授权

在Zerotier管理界面中,你会看到新加入的设备显示为未授权状态(通常显示为红色)。你需要点击该设备的ID,进入详情页面,然后给予授权(通常是通过勾选或点击“Authorize”按钮)。

6. 验证与测试

在Zerotier管理界面中,你可以看到所有已加入设备的内网IP(Managed IP)。你可以使用这些IP地址在设备之间进行互相访问,如共享文件、远程控制等。为了验证设置是否成功,你可以尝试从一台设备ping另一台设备的Managed IP,看是否能够成功响应。

FRP:高效内网穿透解决方案:

FRP介绍

        FRP(Fast Reverse Proxy)是一款高性能的反向代理应用,它支持TCP、UDP、HTTP、HTTPS等多种协议,可以帮助用户轻松实现内网穿透,将内网服务暴露到公网上。FRP由服务端(FRPS)和客户端(FRPC)两部分组成,服务端部署在具有公网IP的服务器上,客户端则部署在内网环境中,通过服务端中转实现内网服务的对外访问。

核心特点

  • 高性能:基于Go语言开发,性能优异,资源占用低。
  • 多协议支持:支持TCP、UDP、HTTP、HTTPS等多种协议。
  • 简单易用:配置简单,上手容易。
  • 安全稳定:支持TLS加密,保障数据传输安全。
  • 跨平台:支持Windows、macOS、Linux等多种操作系统。

如何搭建FRP内网穿透服务

1. 腾讯云服务器购买(Ubuntu系统)

  1. 访问腾讯云官网,选择合适的云服务器实例。(买最便宜的就可以了)
  2. 选择Ubuntu系统作为服务器操作系统。
  3. 根据需求配置服务器的CPU、内存、存储和网络带宽。
  4. 完成购买并获取服务器的公网IP地址、用户名和密码。
  5. 防火墙开通相应的端口(7000、7500、6000)

2. 下载FRP软件

  1. 登录到你的Ubuntu服务器。
  2. 使用wgetcurl命令下载FRP的最新版本。例如,从GitHub Releases页面获取下载链接
    wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
  3. 解压下载的文件:
    tar -zxcf frp_0.60.0_linux_amd64.tar.gz

3. 配置FRPS.toml

  1. 进入解压后的目录,找到frps.toml
  2. 使用文本编辑器编辑该文件,配置服务端参数。vi frps.toml
     

4. 注册并启动FRPS服务

#!/bin/bash  
  
# 创建 systemd 服务文件  
sudo bash -c 'cat > /etc/systemd/system/frps.service <<EOF  
[Unit]  
Description=frps server  
After=network.target  
  
[Service]  
Type=simple  
User=lighthouse  
ExecStart=/home/lighthouse/frp_0.60.0_linux_amd64/frps -c /home/lighthouse/frp_0.60.0_linux_amd64/frps.toml  
Restart=on-failure  
  
[Install]  
WantedBy=multi-user.target  
EOF'  
  
# 重新加载 systemd 配置  
sudo systemctl daemon-reload  
  
# 启用并启动服务  
sudo systemctl enable frps  
sudo systemctl start frps  
  
# 检查服务状态  
sudo systemctl status frps

5. 查看FRP监控Dashboard

在浏览器中访问http://你的服务器公网IP:7500,使用在frps.toml中配置的dashboard_userdashboard_pwd登录,即可查看FRP的监控Dashboard。

6. 客户端配置和安装FRPC

  1. 在需要穿透的内网机器上下载FRP客户端(frpc)。https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_windows_amd64.zip

  2. 编辑frpc.toml文件,配置客户端参数。例如,要暴露一个远程桌面服务:

  3. 在内网机器上启动FRPC客户端:./frpc.exe -c ./frpc.toml,

7. 客户端通过NSSM将FRPC注册成服务方便后续使用(可选)

  1. 下载NSSM:https://nssm.cc/release/nssm-2.24.zip
  2. 通过控制台注册服务

  3. 通过任务管理器启动服务

8.确认客户端服务注册成功并进行远程桌面测试


   

通过以上步骤,你就可以成功搭建起基于FRP的内网穿透服务,实现内网服务的对外暴露和访问。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐