引言

说起内网穿透,大家首先想到的肯定是frp了,但是我当年也是个小白的时候,硬是没搞懂它是怎么个玩法。但是当我找到nps这个项目,看了几眼教程动手操作了一下,就轻轻松松搭建成功。而且最爽的一点就是,这个项目它安装好之后自己会写自启动和进程守护配置,根本不需要我们管。

注意:本项目客户端(npc)和服务端(nps)都支持几乎所有的系统,为了节省时间,本教程客户端和服务端皆以ubuntu 18.04 amd64系统部署作为参考。

要求:有一台带有公网ip的云服务器,什么系统的都可以,用作服务端

本项目开源地址:https://github.com/ehang-io/nps

本项目官方文档:https://ehang-io.github.io/nps

本项目web管理界面截图:

教程

服务端部署:

注意:搭建之前建议在服务器防火墙以及云服务厂商的安全组放通1-65535所有端口!

  1. 下载服务端并解压
    1. sudo apt install tar wget
    2. sudo mkdir /opt/nps
    3. cd /opt/nps
    4. sudo wget https://ghproxy.com/https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
    5. sudo tar -zxvf linux*
    6. sudo chmod 777 ./*
  2. 修改配置文件,使用sftp或者服务器管理面板打开 /opt/nps/conf/nps.conf 进行编辑
  3. 主要是修改以下几个变量把这两个删掉:因为考虑到有些小伙伴没备案、有些小伙伴80和443端口已经在使用了,以及避免一些部署过程中不必要的错误,虽然nps带有http和https代理功能,但是本教程旨在部署成功以实现tcp代理和udp代理(将http代理删掉)。

    bridge_port 修改为你想要的端口,该端口为连接端口,不是web界面访问的端口号!log_level 改为0。(注意:里面有一个 public_vkey 本教程用不到,但是建议修改为复杂的值)

    web_username web_password web_port 分别对应 web界面管理员用户名 web界面管理员密码 web管理界面访问端口,修改为自己想要的即可。

  4. 修改之后保存文件,然后执行以下代码,服务端就算是安装完成啦。
    1. sudo /opt/nps/nps install
    2. sudo nps start

    打开http://你的服务端ip:你的服务端web端口(上面修改的)就可以看到我们的管理面板了,输入用户名和密码登录即可。

  5. 创建客户端

    什么都不用改,直接新增即可。然后点击这个+号!

  6. 然后把这个客户端命令复制下来,并在 ./npc 和 -server 中间加一个 install,保存起来,我们等下要用我们保存的命令是长这个样子的
    1. sudo ./npc install -server=49.0.252.232:8024 -vkey=nihzee4l1wew0898 -type=tcp

客户端部署:

  1. 运行以下命令
    1. sudo apt install tar wget
    2. sudo mkdir /opt/npc
    3. cd /opt/npc
    4. sudo wget https://ghproxy.com/https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
    5. sudo tar -zxvf linux*
  2. 运行上面我们保存的那个命令
  3. 运行以下命令启动
    1. sudo npc start
  4. 查看服务端管理面板出现 在线 亮了则代表连接成功了。

TCP穿透使用示例:

  1. 找到TCP隧道并点击新增
  2. 填写客户端ID、服务端端口、客户端IP:端口如以上配置就是将客户端ID 2(第一个创建的客户端默认为2)、本地的5700端口穿透到服务器的5701端口,假如你在本地5700搭建了青龙的话,就可以用服务端ip:5701访问到本地的青龙面板。
  3. 点击新增之后客户端无需任何配置,如果出现端口冲突会有提示。

结语

nps是一个功能很多的内网穿透代理服务器,还有很多功能本教程没有介绍,比如说域名解析代理、http代理、管理面板多用户配置、客户端使用配置文件连接等等,可以自己看看官方文档琢磨琢磨。

安装成功后,如果需要修改服务端的配置文件,需要去/etc/nps/conf/nps.conf修改哦。

如果客户端是群晖的话,项目作者还准备了群晖套件

最后,祝各位都没有不通的网,哈哈哈。另外,如果对这个教程有什么问题的,可以直接联系我的QQ:1115211238,或者Telegram:https://t.me/iskycc 。也可以评论区留言以及给我发私信,我看到后会及时回复你的。