内网穿透部署流程

   日期:2024-12-26    作者:ow1wp 移动:http://mip.riyuangf.com/mobile/quote/39551.html

        又称为NAT穿透,是一种技术手段,允许内网设备(如运行在公司内部网络、家庭网络中的服务器、智能设备等)的服务能够被外网用户访问。通常情况下,由于路由器、防火墙等设备的网络地址转换(NAT)以及安全策略限制,内网设备的服务无法直接被公网访问。内网穿透通过特定的软件或服务,将公网请求转发至内网目标设备,从而实现内外网络的通信。以下是一般内网穿透部署流程的详细讲解

步骤一:确定需求与选择穿透工具

  1. 明确需求:确定需要穿透的服务类型(如HTTP、SSH、RDP、FTP等)、端口、预期的带宽要求、稳定性需求、安全性考虑等因素。

  2. 选择穿透工具:市面上有许多免费和付费的内网穿透解决方案,例如

    • 免费/开源工具:Ngrok、Serveo、Localtunnel、FRP(Fast Reverse Proxy)等。
    • 付费服务:花生壳、向日葵、Ngrok商业版、ZeroTier等,通常提供更稳定的服务、更高的带宽、自定义域名绑定等功能。

    根据实际需求选择合适的穿透工具或服务。

步骤二:准备内网环境

  1. 确保内网服务正常运行:在待穿透的内网设备上安装并配置好所需的服务(如Web服务器、SSH服务器等,确保服务在内网环境中能正常访问。

  2. 检查端口开放:确认内网设备上服务监听的端口未被防火墙或其他安全软件阻塞,确保内网其他设备可以访问该服务。

步骤三:配置穿透工具

  1. 安装客户端:如果是使用客户端/服务器模式的穿透工具(如Ngrok、FRP,需要在内网设备上安装相应的客户端软件。

  2. 注册账号(如有必要:对于需要账号管理的穿透服务,如商业版Ngrok或花生壳,需先注册账号并获取API密钥或授权信息。

  3. 配置隧道:根据所选工具的文档,配置穿透隧道。通常需要指定以下信息

    • 本地服务端口:内网服务监听的端口。
    • 协议类型:如HTTP、HTTPS、TCP等,与内网服务匹配。
    • 隧道类型:直连型(直接暴露内网服务端口)或反向代理型(将公网请求转发至内网服务)。
    • (可选)自定义域名:如果服务支持,可以绑定自定义域名以获得更友好的访问地址。

    示例配置命令可能如下

     Bash 
     

步骤四:启动穿透服务

  1. 启动内网穿透客户端:执行配置好的穿透命令或启动客户端程序,工具会自动建立与公网服务器的连接,并分配一个临时的公网访问地址(如)。

  2. 验证穿透效果:在外网环境下,使用工具提供的公网地址尝试访问内网服务。如果一切正常,应该能看到内网服务的内容或成功建立连接。

步骤五(可选:持久化与自动化

  1. 配置保存与重启:对于需要长期使用的穿透服务,可以保存配置信息,以便在设备重启后自动恢复穿透。具体方法视工具而定,可能涉及编写启动脚本、设置系统服务等。

  2. 域名绑定与DNS更新(如有必要:如果使用了自定义域名,需要在域名服务商处将域名解析指向穿透工具提供的公网IP或CNAME记录。注意,解析更改可能需要时间生效。

  3. 监控与日志管理:对于生产环境,建议设置监控报警,关注穿透服务的可用性、带宽使用等情况。同时,定期查看工具日志,及时发现并处理潜在问题。

        完成内网穿透的部署,后续根据实际使用情况,需要进一步调整配置、优化性能或升级服务。需要注意穿透服务的安全性,合理设置访问权限

++++++++++++++++++++++++++++++++++++++++++++++++++++++

下面是具体实现过程(ubuntu系统)实现

一、搭建本地服务器环境(小皮面板

这里使用phpstudy          

常用命令

安装完成后可以在ssh工具中使用 xp 命令,来查看,面板状态,重启,关闭,修改面板密码,查看面板密码等。

另外如果你是专业人员,可以在ssh工具中输入 phpstudy 也会显示phpstudy常用 的命令

Ubuntu安装脚本: 

 

出现这种页面算安装完成

点击网站、点击配置、再点击修改

再返回首页

点击localhost

出现

到这里,本地服务器环境已经搭建好了,本地可以访问了(还没有内网穿透,外网还不能访问)

二、内网穿透cpolar做内网穿透

1、cpolar

        cpolar是一种安全的内网穿透云服务,它将内网下的本地服务器通过安全隧道暴露至公网。使得公网用户可以正常访问内网服务,是一款内网穿透软件。只需一行命令,就可以将内网站点发布至公网,方便给客户演示。高效调试微信公众号、小程序、对接支付宝网关等云端服务,提高您的编程效率

2、它能用在哪些场景?  

  • 微信公众号开发,实时断点调试微信消息
  • 在没有上线部署的情况下,在发布会上演示新网站
  • 在您的开发机器上构建webhook客户程序,聊天机器人
  • 无需部署,测试连接到本地开发环境后端的移动应用程序
  • 为已经在生产环境部署的设备,提供稳定的公网访问地址
  • 从您家中运行个人云服务、AI深度学习、聊天机器人
  • 远程控制家中的电脑
  • 远程SSH控制树莓派

 
 

1.1.2.Linux #

  • 自动安装方式:一键自动安装脚本
  • 手动安装方式:在官网下载下载适用于Linux平台的zip压缩包,解压后得到cpolar,然后通过命令行带参数运行即可。

一键自动安装脚本

环境需求

该脚本适用于Ubuntu16.04/18.04/20.04及以后,Centos7/8及以后版本,树莓派最新官方镜像,及支持systemd的新式Linux操作系统,该脚本会自动判断CPU架构(i386/amd64/mips/arm/arm64等等,自动下载对应cpolar客户端,并自动部署安装。

1. cpolar 安装(国内使用

 

或 cpolar短链接安装方式:(国外使用

 

2. 查看版本号,有正常显示版本号即为安装成功
 

3. token认证

登录cpolar官网后台,点击左侧的,查看自己的认证token,之后将token贴在命令行里

 

4. 简单穿透测试

 

按ctrl+c退出

5. 向系统添加服务
 
6. 启动cpolar服务
 
7. 查看服务状态
 
8. 登录后台,查看隧道在线状态

https://dashboard.cpolar.com/status

9. 安装完成

可以参考系列文章进一步使用cpolar——linux系列教程文章

注: cpolar 卸载方法
 

安装说明

  • cpolar默认安装路径 /usr/local/bin/cpolar,
  • 安装脚本会自动配置systemd服务脚本,启动以后,可以开机自启动。
  • 如果第一次安装,会默认配置一个简单的样例配置文件,创建了两个样例隧道,一个web,一个ssh
  • cpolar配置文件路径: /usr/local/etc/cpolar/cpolar.yml

如需访问web ui 管理界面,输入http://本机ip:9200 即可访问

1.2.配置token认证令牌 #

cpolar服务的许多高级功能,需要与您注册的帐户关联才能使用。一旦您注册成功,您需要在后台仪表板上显示的authtoken参数配置cpolar客户端。它将授予您访问自己帐户的功能权限。 cpolar客户端有一个简单的’authtoken’命令,它使用起来很简单。

 

1.3.将本地Web服务器公开到Internet #

cpolar允许您将本地计算机上运行的Web服务器公开到Internet。告诉cpolar您的Web服务器正在侦听哪个端口。

如果您不知道Web服务器正在侦听哪个端口,则可能是80端口,即HTTP的默认端口。

示例:将本地计算机的端口80上的Web服务器公开到Internet

 

启动cpolar时,它将在终端中显示一个UI,其中包含隧道的公共URL以及有关通过隧道建立的连接的其他状态和度量信息。

cpolar控制台用户界面

 

1.4.监听你的消息包流量 #

cpolar客户端提供实时Web UI管理界面,你可以在其中查看隧道上运行的所有HTTP流量。启动cpolar客户端后,只需在Web浏览器中打开http://localhost:4040 即可检查请求详细信息。

尝试向你的公开网址发出请求,完成后,请回顾检查Web UI管理界面。你将看到请求和响应包的所有详细信息,包括时间,持续时间,HEAD标头,查询参数和请求有效负载以及线路上的原始字节。

HTTP请求和响应的详细内容

1.5.重放请求 #

开发外部API发布的Web API通常会要求您做一些工作(如微信公网众号用户发送消息)来触发回调请求,从而减慢开发周期。 cpolar允许您通过单击重放任何Http请求,这样大大加快了开发调试周期。点击网络检查用户界面上任意请求右上角的重放(Replay)按钮进行重放。

只需点击一下即可重放任何针对隧道网络服务器的请求

1.6.请求消息体检查 #

cpolar特别支持Web上使用的最常见的数据交换格式。请求或响应正文中的任何XML或JSON数据都会自动为您打印并检查语法错误。

突出显示JSON语法错误的位置

2.Cpolar Web UI #

cpolar web UI管理界面,默认端口为。如需修改默认端口号,请查阅常见问题下的相关教程进行修改。

cpolar本地安装成功后,可通过浏览器访问cpolar web UI管理界面,以【 http://本地ip地址:9200 】形式访问,如

  • http://127.0.0.1:9200/
  • 或http://localhost:9200/

均可访问到cpolar web ui管理界面【也可在同个局域网下不同的设备上进行访问】,如下图所示,使用cpolar账号登录即可

注意:如提示或,请查阅常见问题。

cpolar web UI界面登录成功后,自动转入仪表盘界面。我们可以在这里创建隧道、编辑隧道、查看隧道信息、查看所生成的公网地址,查看系统状态等信息。

cpolar默认会安装两个样例隧道,可直接使用,或者编辑、删减

  • 一个是Website隧道指向http 8080端口
  • 一个是ssh隧道,指向tcp 22端口(如为windows系统,则为remoteDesktop隧道,指向tcp 3389端口

2.1.1.HTTP隧道 #

点击左侧仪表盘的——,填写隧道信息

  • 隧道名称:可自定义,注意不要与现有隧道名称重复即可
  • 协议:选择
  • 本地地址:填写所要映射的端口号,如8080
  • 域名类型:免费套餐选择
  • 地区:可自由选择服务器地区(注意China NAS地区仅供NAS套餐用户使用)

点击创建

隧道创建成功后,页面会自动跳转到页面,可以看到所有数据隧道,包含刚刚创建成功的tunnel-1隧道

点击左侧仪表盘的状态——在线隧道列表,可以查看到本地所有在线隧道,以及所生成的公网地址。

可以看到刚刚所创建成功的tunnel-1隧道,已经有生成了相应的公网地址,复制到浏览器访问即可

  • 一个http协议地址
  • 一个https协议地址(省去申请/配置证书的繁琐步骤

2.1.2.TCP隧道 #

点击左侧仪表盘的——,填写隧道信息

  • 隧道名称:可自定义,注意不要与现有隧道名称重复即可
  • 协议:选择
  • 本地地址:填写所要映射的端口号,如22
  • 域名类型:免费套餐选择
  • 地区:可自由选择服务器地区(注意China NAS地区仅供NAS套餐用户使用)

点击创建

隧道创建成功后,页面会自动跳转到页面,可以看到创建成功的tunnel-2隧道,状态正常为

点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚创建的tunnel-2隧道,已经有生成了相应的公网地址,本例为,注意无需复制

9.常见问题 #

9.1.无法访问cpolar web ui #

当在浏览器上访问本地9200端口时,页面提示或,如下图所示

解决方案:请重启cpolar服务

2. Linux系统

请先确认是否有安装cpolar服务,如,请操作安装cpolar服务

  • 向系统添加cpolar服务
 
  • 启动cpolar服务
 
  • 查看服务状态
 

如正常显示为,则为启动成功状态

,则执行命令重启cpolar服务,再重新尝试访问cpolar web ui管理界面

 

1. Windows系统

点击开始菜单栏搜索,并点击打开服务,找到,选中并右键点击,确认cpolar service状态为,再重新在浏览器访问本地9200端口,访问cpolar web UI管理界面。

参考:内网穿透(详细且免费)部署(现已推出新的源码 搭建网站和云盘)_内网穿透服务器搭建-CSDN博客


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号