开发调试、远程访问、内网穿透解决方案集合
- 前言
- Cpolar
- 下载安装
- 配置与使用
- Ngrok
- 购买隧道
- 下客户端
- 配置与使用
- ZeroTier
- 注册与安装
- 创建虚拟网络
- 加入虚拟网络
- 配置授权
- 花生壳
- Centos系统
- Ubuntu系统
- 使用
- 花生壳控制台
- SN码登录
- 添加映射
- Loophole
- 通过CLI方式安装
- 登录与注销
- 简单使用
- 身份验证
- 贝锐蒲公英
- 第一台设备
- 第二台设备
- 控制台
- 开源
- NPS
- FRP
- 其他内网穿透
- 灵曜内网穿透
- 神卓互联
- 网云穿
- 闪库
- 蜻蜓映射
前言
因为偶尔、临时性需要使用远程访问、内网穿透等,本着免费优先付费次之的原则,在互联网搜寻、体验、使用了很多款产品,最终还是收获了满意的解决方案,得到了惊人的收获,可选方案30+以上。另外,这里仅分享一
部分
是商用
且提供免费使用的解决方案。
注意:这里记录部分内网穿透的具体详细操作使用,方便再次需要时快速准备好环境,仅供参考。
Cpolar
下载安装
访问cpolar官网地址: https://www.cpolar.com
注册账号并登录
这里因为使用Linux系统,故以Linux演示记录使用
使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
启动cpolar服务
sudo systemctl start cpolar
查看cpolar服务运行状态
[root@master ~]# systemctl status cpolar
● cpolar.service - Cpolar Service
Loaded: loaded (/etc/systemd/system/cpolar.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2024-01-12 17:31:14 CST; 29s ago
Docs: https://www.cpolar.com/docs
Main PID: 9870 (cpolar)
CGroup: /system.slice/cpolar.service
├─9870 cpolar: master process
└─9887 cpolar: worker process
1月 12 17:31:14 master systemd[1]: Started Cpolar Service.
设置cpolar服务自启动
sudo systemctl enable cpolar
删除cpolar服务
# 禁用服务
sudo systemctl disable cpolar
# 停止服务
sudo systemctl stop cpolar
# 清理配置:需要删除 cpolar 服务相关的配置文件或数据
rm /etc/systemd/system/cpolar.service -rf
rm /usr/local/bin/cpolar -rf
rm /usr/local/etc/cpolar/cpolar.yml -rf
rm /var/log/cpolar/access.log -rf
配置与使用
访问http://局域网ip:9200
,使用cpolar账号登录,登录后即可看到cpolar web 配置界面
创建远程连接公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理的创建隧道:
隧道名称:可自定义,注意不要与已有的隧道名称重复
协议:http
本地地址:22 (本地ssh默认端口)
域名类型:默认随机临时TCP端口
地区:看需求选择,例如选择China Top
创建成功后,打开左侧在线隧道列表,查看创建隧道后生成的地址,这个地址就是公网连接地址
公网远程连接测试
连接IP: 19.tcp.cpolar.top
端口:14259
Ngrok
购买隧道
访问Ngrok的官网:https://natapp.cn/
,注册账号并登录
购买隧道,选择免费、付费均可。然后根据需要选择隧道协,这里选择web隧道协议
购买成功后,在我的隧道查看。注意:authtoken是隧道登录凭证,后面配置会用到
下客户端
根据对应系统下载Ngrok客户端,这里下载Windows 64位的客户端
配置与使用
1.使用配置文件方式
解压至任意目录,得到
natapp.exe
。同时在natapp.exe
同级目录创建config.ini
文件
config.ini
文件内容如下,主要填入authtoken的值
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
然后直接双击natapp.exe即可,然后就可以看到连接成功
2.使用命令方式:
在
natapp.exe
同级目录,进入命令提示符窗口执行如下命令
natapp -authtoken=xxxxx
再看Ngrok控制台,即可发现隧道连接正常
此时访问Ngrok给出的地址: http://9nv4xg.natappfree.cc
即可将其映射到本机的:127.0.0.1:8080
ZeroTier
ZeroTier是一种虚拟专用网络解决方案,可让多台设备在一个虚拟网络中安全通信。
注册与安装
访问官网:https://www.zerotier.com/
,注册账号并登录
访问地址:`https://www.zerotier.com/download/,根据需要下载对应客户端并安装
创建虚拟网络
创建一个Network
将创建一个具有随机 ID 和随机名称的虚拟网络。单击该虚拟网络即可转至该网络的详细信息页面。
加入虚拟网络
点击ZeroTier的图标,右键选择加入刚刚创建的虚拟网络
输入创建的网络ID
配置授权
在网络详情中,在Members处即可查看:刚刚“加入”的节点信息
勾选授权与起个名称方便记忆,然后就会得到一个IP
同理,再将另一个设备连接到同一个ZeroTier网络,然后它们就能够通过ZeroTier进行互相访问。
花生壳
Centos系统
下载命令行:
wget "https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.rpm" -O phddns_5.3.0_amd64.rpm
安装:
rpm -ivh phddns_5.3.0_amd64.rpm
安装后获取到SN码
+--------------------------------------------------------+
| Oray Phtunnel Linux 5.3.0 |
+--------------------------------------------------------+
| SN: oray123456786fb9 Default password: admin |
+--------------------------------------------------------+
| Usage: phddns(start|status|stop|restart|reset|version) |
+--------------------------------------------------------+
| Remote Management Address http://b.oray.com |
+--------------------------------------------------------+
卸载:
yum remove phddns
扩展功能:
# 启动
phddns start
# 状态
phddns status
# 停止
phddns stop
# 重启
phddns restart
# 重置
phddns reset
# 开机自启动
phddns enable
# 关闭开机自启动
phddns disable
# 版本
phddns version
例如:
[root@master .work]# phddns status
+--------------------------------------------------+
| Oray PeanutHull Linux 5.3.0 |
+--------------------------------------------------+
| Runstatus: ONLINE |
+--------------------------------------------------+
| SN: oray123456786fb9 |
+--------------------------------------------------+
| Remote Management Address http://b.oray.com |
Ubuntu系统
下载命令行:
wget "https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.deb" -O phddns_5.3.0_amd64.deb
安装:
sudo dpkg -i phddns_5.3.0_amd64.deb
卸载:
dpkg -r phddns
扩展功能:
# 启动
phddns start
# 状态
phddns status
# 停止
phddns stop
# 重启
phddns restart
# 重置
phddns reset
# 开机自启动
phddns enable
# 关闭开机自启动
phddns disable
# 版本
phddns version
使用
花生壳控制台
访问花生壳控制台https://console.hsk.oray.com/device
,使用统一的贝锐登录
点击添加设备,输入安装时产生SN码
点击未登录
点击登录激活设备
SN码登录
浏览器访问http://b.oray.com ,选择花生壳登录
输入花生壳在安装时产生SN码与默认登录密码admin登录。
这种方式登录后要求激活,也就是与已注册的贝锐账号进行一个绑定。
添加映射
点击内网穿透
,添加映射
这里配置一个SSH服务映射
完成后得到如下列表
使用映射的外网地址进行远程连接
连接IP:***.zicp.fun
端口:56424
Loophole
Loophole官网:https://loophole.cloud/download
通过无图像化方式安装
通过桌面图像化方式安装
通过CLI方式安装
下载Loophole
wget https://github.com/loophole/cli/releases/download/1.0.0-beta.15/loophole-cli_1.0.0-beta.15_linux_64bit.tar.gz
解压
tar xf loophole-cli_1.0.0-beta.15_linux_64bit.tar.gz
重命名
mv loophole-cli_1.0.0-beta.15 loophole-cli
查看loophole-cli目录
[root@master loophole-cli]# ls
LICENSE loophole README.md
登录与注销
执行loophole account login
命令进行登录
[root@master loophole-cli]# ./loophole account login
Please open https://loophole.eu.auth0.com/activate and use JLNR-QXPZ code to log in
根据提示,访问https://loophole.eu.auth0.com/activate
地址,输入Code码:JLNR-QXPZ
进行登录
登录后要求登录账号,这里可以选择GitHub、Google账号登录,也可以注册一个账号再登录
完成后,登录命令处可以看到提示登录成功
[root@master loophole-cli]# ./loophole account login
Please open https://loophole.eu.auth0.com/activate and use JLNR-QXPZ code to log in2:20PM INF Logged in successfully
不再使用时,应该使用命令进行注销登录操作
[root@master loophole-cli]# ./loophole account logout
2:22PM INF Logged out successfully
简单使用
在登录情况下,简单运行以下命令行,将本地运行并监听于8888端口的网站发布至公网,loophole默认将生成一个随机的子域名
[root@master loophole-cli]# ./loophole http 8888
Loophole - End to end TLS encrypted TCP communication between you and your clients
Registering your domain... Success!
Starting local proxy server... Success!
Initializing secure tunnel... Success!
Forwarding https://9a755846d45f7e1edb086628ccb14d5a.loophole.site -> http://127.0.0.1:8888
Press CTRL + C to stop the service
Logs:
2:23PM INF Awaiting connections...
2:23PM INF Succeeded to accept connection over HTTPS
Loophole支持自定义子域名以及生成网址二维码。
--hostname 指定子域名为string
--qr指定隧道成功建立后显示网址二维码
[root@master loophole-cli]# ./loophole http 8888 --hostname dev-ssh --qr
Loophole - End to end TLS encrypted TCP communication between you and your clients
Registering your domain... Success!
Starting local proxy server... Success!
Initializing secure tunnel... Success!
Forwarding https://dev-ssh.loophole.site -> http://127.0.0.1:8888
2:29PM INF Scan the below QR code to open the site:
█████████████████████████████████
█████████████████████████████████
████ ▄▄▄▄▄ ██▄ ▀ ▄ ██ ▄▄▄▄▄ ████
████ █ █ █▄ ▀██▀███ █ █ ████
████ █▄▄▄█ ██▀▄ █▄ ██ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀ ▀ ▀ █ █▄▄▄▄▄▄▄████
████ ▄▄█▄ ▄▄ █ █▀ ▀▄▄ ███▄█▀████
████ ▀▄▀▄█▄ █▄█▀█▀▄▀▄▄▄█▄█▄ ▄████
████▄███▄ ▄▄███▄ ▄█▄ ▄ ██ █▄ ████
████▄▀██▄ ▄███▀██▀▄██ ▄▀█▄ ▄████
████▄██▄▄▄▄▄ █▀█▀▄██ ▄▄▄ █▀▀████
████ ▄▄▄▄▄ █ ███ ▀▄ █▄█ █▄▄████
████ █ █ █▄▄▄▄▄▄██ ▄ ▀▄█████
████ █▄▄▄█ █ █▄▀▀▀██ █▀█ ▀█▀▄████
████▄▄▄▄▄▄▄█▄███▄▄█▄▄▄▄▄███▄▄████
█████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Press CTRL + C to stop the service
Logs:
2:29PM INF Awaiting connections...
2:29PM INF Succeeded to accept connection over HTTPS
注意:
Loophole默认监听127.0.0.1,可直接输入`0.0.0.0`、`localhost`等来更改
Loophole默认采用TLS加密普通HTTP流量,如果待发布的网站已开启了https,可通过`--https`选项指定以避免重复加密。
[root@master loophole-cli]# ./loophole http 8888 0.0.0.0 --https
Loophole - End to end TLS encrypted TCP communication between you and your clients
Registering your domain... Success!
Starting local proxy server... Success!
Initializing secure tunnel... Success!
Forwarding https://476b4c4dff2ccff6c3f9fe502c4dd5e5.loophole.site -> https://0.0.0.0:8888
Press CTRL + C to stop the service
Logs:
2:26PM INF Awaiting connections...
2:26PM INF Succeeded to accept connection over HTTPS
身份验证
Loophole支持http基本身份验证,通过-u、-p或–basic-auth-username、–basic-auth-password分别指定用户名、密码。
[root@master loophole-cli]# ./loophole http 8888 -u root -p 12345
Loophole - End to end TLS encrypted TCP communication between you and your clients
Registering your domain... Success!
Starting local proxy server... Success!
Initializing secure tunnel... Success!
Forwarding https://9a935513f0b597ac4a4d1b3a6ad4b293.loophole.site -> http://127.0.0.1:8888
Press CTRL + C to stop the service
Logs:
2:30PM INF Awaiting connections...
2:30PM INF Succeeded to accept connection over HTTPS
访问该地址,出现了身份验证
loophole支持webdav协议,可以指定将某目录暴露于公网,然后通过身份验证来保护安全,经过认证后访问目录文件
[root@master loophole-cli]# ./loophole webdav /root -u root -p 123456
Loophole - End to end TLS encrypted TCP communication between you and your clients
Registering your domain... Success!
Starting WebDav server Success!
Starting local proxy server... Success!
Initializing secure tunnel... Success!
Forwarding https://57d79f94bc9c9f8bfac958b38d337ad5.loophole.site -> /root
Press CTRL + C to stop the service
Logs:
2:32PM INF Awaiting connections...
2:32PM INF Succeeded to accept connection over HTTPS
贝锐蒲公英
第一台设备
Redhat / CentOS Linux(X86_64) 下载与安装
# 下载
wget https://pgy.oray.com/softwares/153/download/2156/PgyVisitor_6.2.0_x86_64.rpm
# 安装
rpm -ivh PgyVisitor_6.2.0_x86_64.rpm
# 卸载
rpm -e PgyVPN
Ubuntu Linux(X86_64)下载与安装
# 下载
wget https://pgy.oray.com/softwares/153/download/2156/PgyVisitor_6.2.0_x86_64.deb
# 安装
dpkg -i PgyVisitor_6.2.0_x86_64.deb
# 卸载
dpkg -r PgyVPN
运行命令:
[root@master .work]# pgyvisitor
Copyright © 2002-2024 Oray. All Rights Reserved.
-h --help 使用帮助
-v --version 获取版本
以下是常见的 pgyvisitor 命令
login 登录
logout 退出
logininfo 显示历史登录设备信息
autologin 设置自动登录
certcheck 启用或禁用证书检验
bypass 显示旁路信息
getmbrs 显示组网成员信息
showsets 显示设置
查看日志信息:
cd /var/log/oray/
使用贝锐账号进行登录
[root@master .work]# pgyvisitor login
请输入贝锐账号/UID:
123454678910
请输入密码:
登录成功
查看组网信息
[root@master ~]# pgyvisitor getmbrs -m
VPN组名称:默认网络
---------------------组成员信息-------------------
*********************在线成员*********************
(蒲公英访问端)名称:master(本机)
虚拟IP地址:172.16.1.51
第二台设备
访问https://pgy.oray.com/download#visitor
下载Windows客户端
使用贝锐账号直接登录即可,可以发现创建的默认网络组中存在2台设备信息
使用如下IP地址即可连接到第一台设备。
在第一台设备查看设备信息,得到第二台设备IP,使用该IP即可连接
[root@master ~]# pgyvisitor getmbrs -m
VPN组名称:默认网络
---------------------组成员信息-------------------
*********************在线成员*********************
(蒲公英访问端)名称:master(本机)
虚拟IP地址:172.16.1.51
(蒲公英访问端)名称:XXX(转发)
虚拟IP地址:172.16.1.126
控制台
访问贝锐蒲公英控制台:https://console.sdwan.oray.com/zh/main
,可以发现2台异地设备网络组网成功,同时可以进行其他管理操作。
开源
使用开源方式搭建内网穿透服务可能是最好的方式,可选技术:nps、frp等,只不过其需要一台公网服务器,等以后什么合适了再记录。
注意:通常
商用
提供的免费服务,甚至是付费服务,其提供的带宽都是很小很小的,还不如第三方搭建的内网穿透服务,他们就是利用NPS、FRP等搭建的。
NPS
GitHub:https://github.com/ehang-io/nps
FRP
GitHub:https://github.com/fatedier/frp
其他内网穿透
内网穿透的产品、服务还有很多,上面列举了一些常见的、
商用
且提供免费的远程访问、内网穿透解决方案。除了上述方案,还有一下其他方案,仅供参考。
灵曜内网穿透
官网:http://http01.cn/
神卓互联
官网:https://www.shenzhuohl.com/
网云穿
官网:https://login.xiaomy.net/
闪库
官网:https://www.ipyingshe.com/
蜻蜓映射
官网:https://flynat.51miaole.com/