前言
我实在是太菜了。经过 Yirannn \text{Yirannn} Yirannn 大佬一个多小时的耐心指点,终于大概搞清了内网穿透的基本实现方法(%%%)。写篇笔记草草了事,欢迎各路大佬纠错。
p.s. 我连 x 86 _ 64 x86\_64 x86_64 是 AMD64 \text{AMD64} AMD64 架构都不知道,上来就下载了一个 ARM64 \text{ARM64} ARM64 的客户端,感觉我可以直接西内了。
下载安装包
Repository: https://github.com/ehang-io/nps
Document: https://ehang-io.github.io/nps/#/
(我菜到看不懂)
NPS
将 nps 运行到一个有公网 IP 的服务器上,关注配置文件中的 bridge_port
与 web_port
。bridge_port
用来与 NPC 相连接,web_port
用来从浏览器访问,从而配置 NPS。
sudo ./nps
阻断模式运行,可以看到错误信息,如果有端口占用的问题,可以使用 lsof -i:port
的方式查询占用该端口的进程名,从而将该进程 kill
掉或者关掉。
新增客户端
在 NPS 的 web 界面中,在客户端选项卡中新增一个客户端。
点击左侧加号可以展开客户端启动指令:
另外,要保证过程中使用到的服务器的所有端口都必须是开放的。(我是腾讯云,需要在腾讯云的控制台进行,记得是好久以前重伯君帮搞得,忘了怎么做了。)
启动 SOCKS 代理
客户端 ID 与新增客户端界面显示的一致,端口号要与先前出现的所有 server 的端口号不同。
NPC
用上述启动指令启动即可,无需 conf
文件。
使用浏览器的代理功能
chrome: 安装插件 Proxy SwitchyOmega
chrome 网上应用店可能需要梯子才行。将 Proxy代理配置成 NPS 的公网 IP 以及启动 SOCKS 代理时指明的端口,即可以 NPC 机器的身份访问其内网(相当于一次代理)。