首页 » Linux » 使用 nps 进行内网穿透

使用 nps 进行内网穿透

nps是一款轻量级、功能强大的内网穿透代理服务器。本文介绍 以 VPS为服务器端,树莓派为客户端, 使用 nps 进行内网穿透 。使在本地动态ip的环境下搭建网站、ftp等服务器,实现远程访问局域网资源、远程桌面等功能。

使用 nps 进行内网穿透 _ 界面
  1. 安装
  2. 配置文件
  3. 客户端配置
  4. 性能优化
  5. 参考

1 安装

nps 项目 Releases 中包含了编译好的安装包,可以根据系统版本直接下载使用。

wget https://github.com/cnlh/nps/releases/download/v0.24.0/linux_amd64_server.tar.gz
tar -zxvf linux_amd64_server.tar.gz
cd nps
sudo ./nps

这时访问 服务器ip:8080 即可访问后台。

初始用户名:admin 密码:123

2 配置文件

配置文件为 conf/nps.conf ,首先要修改其中所有的账户密码,不要使用默认的。

public_vkey    客户端与服务器连接时使用的密钥
web_username   后台管理用户名
web_password   管理后台用户密码
auth_key       web api密钥
auth_crypt_key 获取服务端authKey时的aes加密密钥,16位

如果不使用 web api ,可以直接在 auth_keyauth_crypt_key 两行前添加 # 以注销。

3 客户端配置

客户端安装与服务器端类似。本文使用树莓派作为客户端,所以使用的是linux_arm64_client.tar.gz

wget https://github.com/cnlh/nps/releases/download/v0.24.0/linux_arm_client.tar.gz
tar -zxvf linux_arm_client.tar.gz 
cd nps

登录 nps 服务器后台, 客户端 >> 新增 填写完信息后再点击 新增 。这时在 client list 中将出现刚刚建立的客户端条目。点击条目最左侧的 + ,条目下方将出现 命令。将其粘贴到客户端中运行,这样就就完成了服务器与客户端的连接。刷新服务器后台网页,客户端条目 status 项 显示为 online

接下来配置映射关系。点击 客户端条目 最右侧的 tunnel ,然后在新页面中点击左上角的 新增。填写完信息后再点击 新增 ,映射即可生效。

创建文件 /etc/systemd/system/nps.service ,加入一下内容以使用 systemctl 进行守护。 ExecStart 内容替换成 web界面中显示的命令。

[Unit]
Description=npc - convenient proxy server client
After=rc-local.service

[Service]
Type=simple
User=pi
Group=pi
WorkingDirectory=/home/pi/nps
ExecStart=/absolutely path to/npc -server=ip:port -vkey=web界面中显示的密钥
Restart=always

[Install]
WantedBy=multi-user.target

4 性能优化

在弱网环境下,可以牺牲 10%~20%带宽换取平均延迟降低 30%~40% 。修改 conf/nps.conf 修改 bridge_typekcp,同时将客户端命令中 type=tcp 修改为 type=kcp

web设置中客户端默认开启了压缩和加密。压缩在一定情况下会导致数据出错。如果公司内网防火墙对外网访问进行了流量识别与屏蔽,那么可以开启加密。没有需求时可以关闭加密,提升访问速度。

5 参考

标签:

《使用 nps 进行内网穿透》有4个想法

  1. 内网穿透的 主要限制就是在于外网服务器的带宽 要是能解决这个就好了
    我记得之前有一款 好像穿透后可以直连的 不知道还稳不稳定

  2. 大佬好。很奇怪,我两台VPS安装好以后,都无法打开WEB页面。
    我两台VPS原来都已经安装了V2就是了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注