NPS内网穿透使用教程


NPS 是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持 tcp、udp、socks5、http 等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网 dns 解析、内网 socks5 代理等等,并带有功能强大的web管理端。

首先我们需要了解一下什么是内网穿透?

举个简单例子,我们有两个不同的 network-Anetwork-B ,两个网络之间是无法直接通信的。在 network-A 中我们部署了 3 个服务,如果 network-B 中的客户机想要访问 network-A 的服务该怎么办呢?

很显然我们需要一个中间人,也就是一台公网服务器, network-B 的客户机请求先发送到服务器,再由服务器转发到 network-A 的内网服务,从而实现跨网服务访问,这个过程就可以简单理解为内网穿透。

看一个简单的图加深一下理解。

接下来就具体介绍一下如何实现。

准备材料 :内网服务(客户端)、公网服务器(服务端)。

这里我准备了一台Linux云服务器和本地Windows电脑用于演示。

一、准备工作

NPS 服务会用到 80248080 两个端口,我们的服务器需要提前在防火墙放行端口,命令如下:

# 永久开放 8024 端口
firewall-cmd --add-port=8024/tcp --zone=public --permanent     

# 永久开放 8080 端口
firewall-cmd --add-port=8080/tcp --zone=public --permanent      

# 重载文件使生效
firewall-cmd --reload   

二、服务端

1. NPS安装

打开 NPS 官网选择相应版本进行下载,记得下载的是 Server 版本,NPS官网

将下载的文件上传到你的服务器并解压,这里我选择放在 /usr/local/nps,根据你的喜好自行更换。

cd /usr/local

mkdir nps

tar -xzvf linux_amd64_server.tar.gz   # 解压文件

2. 配置修改

在启动服务之前我们需要修改一些默认配置,命令如下:

vim conf/nps.conf

如果你的服务器 80 端口和 443 端口已经部署其它服务则需要替换成其它端口,修改第二个红框中的登录用户信息。

3. 服务启动

在文件解压目录下执行如下命令:

./nps install   

nps start         # 启动服务

nps stop          # 关闭服务

安装服务成功后会在/etc/nps目录下生成conf web两个文件夹。

服务启动日志路径:/var/log/nps.log,如果出现异常可查看日志信息,启动服务之后就可以通过你的服务器 IP 地址加 8080 端口进行访问了。

4. 创建连接

(1) 服务新增

点击右侧客户端并点击新增

(2) 信息填写

橙色框内信息无效填写会自动生成,压缩和加密选是。

(3) 隧道添加

点击隧道并新增服务

(4) 端口信息

填写服务相关信息,服务端端口为之后你公网要访问的端口,目标填写你内网服务的 ID 加端口。

三、客户端

1. 服务下载

这里演示的客户端是 Window 服务,进入官网下载对应Client版本.

2. 配置修改

解压下载的文件,修改conf/npc.conf文件。把原文件内容全部删除,复制下面内容,记得 server_addr 替换成你自己的服务端IPvkey 为创建客户端时自动生成。

[common]
server_addr=[your ip]:8024
conn_type=tcp
vkey=jwep5wv3zcn8etn6
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
basic_username=11
basic_password=3
web_username=user
web_password=123
crypt=true
compress=true

3. 启动服务

双击npc.exe文件即可,显示下图说明连接成功,此时就可以通过你的公网 IP 访问本地服务了。

4. 后台启动

上述步骤启动之后npc.exe命令行窗口必须一直开着,如果我们将其注册成服务就可以后台运行了。

具体教程参考之前一篇文章:将Bat注册为服务


文章作者: 烽火戏诸诸诸侯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 烽火戏诸诸诸侯 !
  目录