Cpolar内网穿透

前置termux内容可见Termux

内网穿透背景知识

地址转换(NAT): 在大多数情况下,内网使用私有IP地址,而互联网使用公共IP地址。路由器通常会使用网络地址转换(NAT)将内网中的多个设备映射到一个公共IP地址上。当内网设备访问互联网时,NAT会动态地分配一个临时端口,以便响应的数据包能够正确返回到请求的设备。

UPnP(通用即插即用)或端口映射: 内网设备通常是通过局域网中的路由器连接到互联网的。通过UPnP或手动配置端口映射,内网中的设备可以请求路由器将某个端口的流量转发到设备的私有IP地址和端口上。

内网穿透工具: 内网穿透工具(例如frp、ngrok、v2ray等)在互联网服务器上运行一个服务端,同时在内网中运行一个客户端。客户端通过与服务端建立安全的连接,将内网服务映射到服务端的某个端口上。这时服务器充当了家庭网络中的路由器的作用。

反向代理: 内网穿透工具通常使用反向代理的方式。当互联网用户请求服务时,这个请求首先到达服务端,服务端将请求转发到内网的客户端,客户端再将请求发送到内网服务。响应的数据则通过相同的路径返回到互联网用户。

Cpolar原理

cpolar不只是一个工具,还是一个厂商,它们提供内网穿透服务,将你的私有网络通过nat地址转换技术映射到一个公网IP的一个端口上。

厂商提供了什么?提供了一个服务器的公网IP,但更多时候是一个域名

怎么做到的?通过nat地址转换技术,再将你的私有网络端口a映射到他的服务器端口b上,最后实现通过ip:端口的方式访问

【反向代理图片】

Cpolar内网穿透案例

安装DNS工具包

apt install dnsutils

它会创建一个DNS解析文件,路径在$PREFIX/etc/resolv.conf,里面有配置DNS解析服务器地址(默认已经加了8.8.8.8)

下载ARM 版本cpolar客户端

curl -O -L https://cpolar.com/static/downloads/cpolar-stable-linux-arm.zip

解压缩

unzip cpolar-stable-linux-arm.zip

Cpolar身份验证

从官网https://www.cpolar.com注册后,跳转到仪表板dashboard:https://dashboard.cpolar.com/,再点击”验证“,最后复制你的token

./cpolar authtoken <your_token>

Cpolar使用

将你的8022端口,也就是你termux设置的ssh连接端口,做一个映射

./cpolar tcp 8022

出现内网穿透的信息

                                                                                                                        Tunnel Status                 online
Account                       yujie (Plan: Free)
Version                       2.62/3.22
Web Interface                 127.0.0.1:4040
Forwarding                    tcp://1.tcp.cpolar.io:10743 -> tcp://127.0.0.1:2222
# Conn                        0
Avg Conn Time                 0.00ms                                                                                    

tcp://1.tcp.cpolar.io:10743 -> tcp://127.0.0.1:22: 这表示你的隧道正将来自 tcp://1.tcp.cpolar.io:10743 的请求转发到本地的 tcp://127.0.0.1:22,也就是将外部请求转发到本地的 SSH 服务。这是一个端口映射配置,允许你通过公网的 tcp://1.tcp.cpolar.io:10743 地址访问本地的 SSH 服务。

在远程电脑PC端

ssh <whoami_name>@1.tcp.cpolar.io -p 10743

输入密码后即可使用

Welcome to Termux!

Docs:       https://termux.dev/docs
Donate:     https://termux.dev/donate
Community:  https://termux.dev/community

Working with packages:

 - Search:  pkg search <query>
 - Install: pkg install <package>
 - Upgrade: pkg upgrade

Subscribing to additional repositories:

 - Root:    pkg install root-repo
 - X11:     pkg install x11-repo

For fixing any repository issues,
try 'termux-change-repo' command.

Report issues at https://termux.dev/issues
% ls
cpolar  cpolar-stable-linux-arm.zip  storage  ubuntu-binds  ubuntu-fs  ubuntu.sh
%

结束使用

使用pc进行公网连接后,如何停止服务,具体步骤如下

查看系统程序进程

ps -ef | grep cpolar

使用kill结束进程

killall cpolar

最后显示这样,你的ssh公网连接也会中断

% ps -ef | grep cpolar
u0_a293  17273 14986  0  1970 pts/26   00:00:05 ./cpolar tcp 2222
u0_a293  20126 19960  1  1970 pts/28   00:00:00 grep cpolar
client_loop: send disconnect: Connection reset

C:\Users\86153>

总结

与上一期相呼应,在上一期使用内网(私有网络)进行ssh连接,而在这期可以使用公网进行ssh连接,技术水平攀升,在下一期我想使用一些其他的内网穿透工具,来反向代理我这部手机,将手机termux的端口映射到我的服务器端口,这样不用受限于厂商的服务,才算是真正利用好了这部手机资源。