适用场景:
远程访问个人家庭/公司没有公网IP的电脑,以远程桌面为例。
成本及性能:
- Zerotier,0成本,部署简单、基本能用
- 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
- 访问Zerotier下载页面,根据你的操作系统下载相应的客户端安装包。
- 安装Zerotier客户端,安装完成后,在任务栏或系统托盘中将出现Zerotier的图标。
Android/iOS
在各自的应用商店搜索“Zerotier”并下载安装。
4. 加入Zerotier Network
- 复制Network ID:回到Zerotier管理界面,找到你刚刚创建的网络的Network ID,并复制它。
- 加入网络:
- 对于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系统)
- 访问腾讯云官网,选择合适的云服务器实例。(买最便宜的就可以了)
- 选择Ubuntu系统作为服务器操作系统。
- 根据需求配置服务器的CPU、内存、存储和网络带宽。
- 完成购买并获取服务器的公网IP地址、用户名和密码。
- 防火墙开通相应的端口(7000、7500、6000)
2. 下载FRP软件
- 登录到你的Ubuntu服务器。
- 使用
wget
或curl
命令下载FRP的最新版本。例如,从GitHub Releases页面获取下载链接:wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
- 解压下载的文件:
tar -zxcf frp_0.60.0_linux_amd64.tar.gz
3. 配置FRPS.toml
- 进入解压后的目录,找到
frps.toml
- 使用文本编辑器编辑该文件,配置服务端参数。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_user
和dashboard_pwd
登录,即可查看FRP的监控Dashboard。
6. 客户端配置和安装FRPC
-
在需要穿透的内网机器上下载FRP客户端(frpc)。https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_windows_amd64.zip
-
编辑
frpc.toml
文件,配置客户端参数。例如,要暴露一个远程桌面服务: -
在内网机器上启动FRPC客户端:
./frpc.exe -c ./frpc.toml,
7. 客户端通过NSSM将FRPC注册成服务方便后续使用(可选)
下载NSSM:
https://nssm.cc/release/nssm-2.24.zip-
通过控制台注册服务
-
通过任务管理器启动服务
8.确认客户端服务注册成功并进行远程桌面测试
通过以上步骤,你就可以成功搭建起基于FRP的内网穿透服务,实现内网服务的对外暴露和访问。