内网穿透
内网穿透主要用于解决在私有网络(如家庭或企业局域网)内的设备能够被公网访问的问题。通常情况下,私有网络中的计算机使用的是内部IP地址(通常是192.168.x.x 或 10.x.x.x 范围),这些地址对于外部互联网是不可见的。而内网穿透技术可以使得外界能够通过某种方式访问到这些位于私有网络中的服务。
基本原理
端口映射/端口转发:这是一种常见的方法,需要对路由器进行配置,将特定的公网端口映射到内网中的一台主机的一个端口上。当外部请求到达路由器的指定端口时,路由器会自动把该请求转发给内网中设置好的那台主机和对应的端口。这种方法要求用户拥有路由器的管理权限,并且可能需要与ISP(互联网服务提供商)协调以确保他们不封锁入站连接。
反向代理:通过部署一个位于公网上的服务器作为中介,这台服务器会接收来自外网的所有请求然后转交给内网中的目标服务器处理。之后,它再将响应返回给客户端。这种方式不需要对路由器做任何特殊配置,但需要维护一台公网服务器。
P2P (Peer-to-Peer) 技术:利用点对点通信协议建立直接连接。在这种情况下,两个处于不同私有网络下的节点可以通过中间媒介的帮助来发现彼此并建立直接的数据传输通道。这种技术复杂度较高,依赖于NAT穿越技术,比如STUN、TURN等。
第三方服务:有许多在线服务提供了简易的方法来进行内网穿透,例如cpolar、frp(Fast Reverse Proxy)等工具。这些服务通常提供一个简单的命令行界面或者图形界面让用户很容易地创建从公网到本地机器的服务链接。这类服务往往基于上述的一种或多种技术实现其功能。
cpolar简介
CPolar是一个强大的内网穿透工具,它可以将本地服务暴露到公网上,非常适合远程访问、开发测试等场景。
下载与安装
访问CPolar官网https://www.cpolar.com/download下载页面,选择相应的操作系统的版本下载。
下载后得到一个zip
压缩包,解压后得到一个msi文件,双击运行安装。
一路点击“Next”继续,后面可以选择安装目录。
安装成功后,安装目录下会有一个exe文件。
账号注册与配置
接下来,在CPolar官网注册一个账号。
选择免费套餐,然后滑动到页面底部确认。
配置CPolar
登录后,会进入CPolar界面,点击“验证”,复制你的隧道token。
使用命令行工具
打开命令行工具CMD,进入CPolar的安装目录,输入以下命令运行exe文件进行认证:
cpolar authtoken 你复制的隧道token
如
cpolar authtoken YXXlYWRlNmEtMXXXXXg3YzYtZGEXXXFkMGQ2
然后,输入以下命令进行端口映射:
cpolar tcp 8080
映射成功后,可以看到一个公网URL。
回到官网,在状态
上也可以查看。
cpolar Web UI
cpolar的Web UI管理界面默认使用9200端口。
在本地成功安装cpolar后,可以通过浏览器访问Web UI管理界面。访问地址为 http://本地IP地址:9200
,例如:
http://127.0.0.1:9200/
http://localhost:9200/
登录与仪表盘
成功登录Web UI后将进入仪表盘。在这里可以创建、编辑隧道,查看隧道详情和生成的公网地址,以及系统状态等信息。
cpolar会默认安装两个示例隧道,一个是Website隧道(指向HTTP 8080端口),另一个是SSH隧道(指向TCP 22端口;Windows系统则为Remote Desktop隧道,指向TCP 3389端口)。
端口映射测试
在本地设备上启动一个服务,确保该服务监听之前映射的端口(例如8080)。
使用另一台设备(如手机、平板或另一台电脑)访问上述的公网URL。
如果服务启动正常且端口映射正确,就能通过公网URL成功访问到你的本地服务了。