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的端口映射到我的服务器端口,这样不用受限于厂商的服务,才算是真正利用好了这部手机资源。