开发调试、远程访问、内网穿透解决方案集合
- 前言
- 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 ServiceLoaded: loaded (/etc/systemd/system/cpolar.service; enabled; vendor preset: disabled)Active: active (running) since 五 2024-01-12 17:31:14 CST; 29s agoDocs: https://www.cpolar.com/docsMain PID: 9870 (cpolar)CGroup: /system.slice/cpolar.service├─9870 cpolar: master process└─9887 cpolar: worker process1月 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 clientsRegistering 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 clientsRegistering your domain... Success!
Starting local proxy server... Success!
Initializing secure tunnel... Success!Forwarding https://dev-ssh.loophole.site -> http://127.0.0.1:88882: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 clientsRegistering 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 clientsRegistering 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 clientsRegistering 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 -mVPN组名称:默认网络
---------------------组成员信息-------------------
*********************在线成员*********************(蒲公英访问端)名称:master(本机)
虚拟IP地址:172.16.1.51
第二台设备
访问https://pgy.oray.com/download#visitor
下载Windows客户端
使用贝锐账号直接登录即可,可以发现创建的默认网络组中存在2台设备信息
使用如下IP地址即可连接到第一台设备。
在第一台设备查看设备信息,得到第二台设备IP,使用该IP即可连接
[root@master ~]# pgyvisitor getmbrs -mVPN组名称:默认网络
---------------------组成员信息-------------------
*********************在线成员*********************(蒲公英访问端)名称: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/