1.简介

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议,支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。

使用内网穿透技术可以使你在公共网络环境也能轻松连接你的内网设备,除了之前介绍过的frp之后,此款NPS也是比较推荐的,通过Web管理的方式快速地创建和管理穿透设备。

官网:https://ehang-io.github.io/nps/#/
项目:https://github.com/ehang-io/nps
版本:https://github.com/ehang-io/nps/releases
docker:https://hub.docker.com/r/ffdfgdfg/npc

基本环境要求:需要一台有公网ip的云主机,即需要购买一台云主机

2.下载并安装nps与npc

2.1创建目录

mkdir -p /opt/nps
mkdir -p /opt/npc

2.2 安装nps

cd /opt/nps
#下载
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
#解压
tar -xvf linux_amd64_server.tar.gz
chomd 775 nps
# 安装
./nps install
./nps start

访问nps服务

http://192.168.10.86:8080/

nps与npc内网穿透搭建_docker

2.2 安装npc

cd /opt/npc
#下载
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
#解压
tar -xvf linux_amd64_client.tar.gz
chomd 775 npc
# 安装
./npc install

3. 配置内网穿透通道

  • 新增客户端

nps与npc内网穿透搭建_内网_02

直接点击确定

nps与npc内网穿透搭建_docker_03

nps与npc内网穿透搭建_tomcat_04

需要点击一下刷新按钮才能显示新增的客户端列表

  • 新增通道

nps与npc内网穿透搭建_tomcat_05

nps与npc内网穿透搭建_内网_06

nps与npc内网穿透搭建_tomcat_07

服务端端口目标 (IP:端口) 一定要填写正确。

nps与npc内网穿透搭建_tomcat_08

4.启动npc内网穿透代理

点击客户端菜单,然后点击如图对应的客户端+号;等到

./npc -server=192.168.10.86:8024 -vkey=z939xcweszod7c5b -type=tcp

nps与npc内网穿透搭建_tomcat_09

如何使用的云主机对应192.168.10.86这个ip应该为公网的ip

在安装了npc 客户端的内网服务执行如下命令

./npc -server=192.168.10.86:8024 -vkey=z939xcweszod7c5b -type=tcp

执行后,如下图说明成功

nps与npc内网穿透搭建_内网_10

5. 验证

在安装了npc客户端的服务,使用docker安装一个tomcat,并启动

  • 安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
  • 拉取Tomcat进行
docker pull tomcat:7.0
  • 启动 tomccat
docker run -p 18080:8080 -d tomcat:7.0
  • 进入tomcat容器创建文件index.html
#进入容器 31ad73e8642a为tomcat的容器id
docker exec -it 31ad73e8642a /bin/bash
#进入webapps目录
cd webapps
#创建ROOT目录
mkdir ROOT
#进入ROOT目录
cd ROOT
#创建index.html文件
echo "i love docker" > index.html
#推出容器
exit

nps与npc内网穿透搭建_docker_11

  • 访问tomcat

内网直接访问tomcat

http://192.168.10.86:18080

nps与npc内网穿透搭建_tomcat_12

通过内网代理端口访问tomcat

http://192.168.10.86:10033

nps与npc内网穿透搭建_内网_13

注意:需要开通防火墙访问端口

systemctl restart firewalld.service
#添加访问端口
firewall-cmd --zone=public --add-port=10033/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=18080/tcp --permanent
systemctl restart firewalld.service

另外,docker安装可以参考

https://blog.51cto.com/zounan/5053056