由于公网 IPv4 地址紧缺,很多时候需要内网穿透代理来实现外网访问。本文简介使用 NPS 的实现流程,以从外网访问建立在内网设备的 web 服务。
NPS 是一款轻量级、高性能、功能强大的内网穿透代理服务器,具有强大的web管理终端,支持 tcp、udp、socks5、http 等流量转发。
NPS 服务器
首先,我们需要一台拥有静态公网IP的服务器。
ssh 成功连接服务器后,确保防火墙开放了所有端口,否则,需要关闭防火墙:
iptables -L -n
然后在服务器上安装 NPS,服务器和客户端是分开的,需要安装服务器端,配置 ./conf/nps.conf 后启动 NPS 服务。
./nps start
此时,可以访问网页管理面板,在服务器管理面板添加客户端。
内网设备
在内网设备中下载并安装对应的 NPS 客户端,客户端不需要任何配置文件,只需要在内网设备中运行以下命令:
npc -server_addr=<服务端IP或域名>:8024 vkey=<验证密钥> type=tcp
成功的话,服务器管理面板的客户端变为 online 状态。
内网穿透规则
在服务器管理面板配置需要的代理即可,如在外网使用 HTTP 代理访问内网站点,则配置 HTTP 代理模式。
帮助文档地这里:https://ehang-io.github.io/nps/
同类内网穿透代理服务器还有 FRP、ZeroTier 等,它们的对比。
可参考以下两篇文章的搭建全流程:
https://maizer.pw/index.php/archives/37/
https://maizer.pw/index.php/archives/50/
最后,内网设备可以有很多方案:
- Armbian 是用于 ARM 开发板的基于 Debian 和 Ubuntu 的计算机操作系统,支持众开发板作为 web 服务器。https://www.armbian.com/
- 树莓派是一款特别成功的基于Linux的单片机电脑,而且有专用的Raspberry Pi OS(基于Debian),是成熟的 web 服务器,并可建立其他 IoT 服务。
- 群晖 NAS 甚至基于 DSM 的其他设备也适合作为本地 web 服务器。
- 如果是很强大资源的本地 web 服务却不架构在更强悍的 VPS 或者云主机上,那就太特别了。
楼主残忍的关闭了评论