站点图标 Linux-技术共享

带web管理面板的强大内网穿透代理服务器-含windows教程

引言

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

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

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

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

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

本项目web管理界面截图:

732741c31e5292796_1_post

教程

服务端部署:

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

  1. 下载服务端并解
     
     
  2. sudo apt install tar wget
    sudo mkdir /opt/nps
    cd /opt/nps
    sudo wget https://ghproxy.com/https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
    sudo tar -zxvf linux*
    sudo chmod 777 ./*

    3.修改配置文件,使用sftp或者服务器管理面板打开 /opt/nps/conf/nps.conf 进行编辑,(也可以使用BT面板,如果密码没改,安装完成后的目录为etc/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. 修改之后保存文件,然后执行以下代码,服务端就算是安装完成啦。打开http://你的服务端ip:你的服务端web端口(上面修改的)就可以看到我们的管理面板了,输入用户名和密码登录即可。

    sudo /opt/nps/nps install
    sudo nps start

     

     
     

    创建客户端

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

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

    客户端部署:

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

windows按下列模式:

将windows客户端下载到一个盘中,解压,使用cmd进入该目录,如cd c:\nps,

npc<span class="token punctuation">.</span>exe install <span class="token operator">-</span>server<span class="token operator">=</span><span class="token keyword">public</span><span class="token operator">-</span>server<span class="token operator">:</span><span class="token number">8024</span> <span class="token operator">-</span>vkey<span class="token operator">=</span><span class="token keyword">inner</span><span class="token operator">-</span>server2唯一验证密钥
npc.exe stop
npc.exe start

TCP穿透使用示例:

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

结语

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

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

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

 
退出移动版