Home 服务器内网穿透--NPS设置
Post
Cancel

服务器内网穿透--NPS设置

服务器内网穿透–NPS设置

[NPS Github]

致谢: 本文参考文章内网穿透服务器搭建教程,带WEB管理

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理p2p等,并带有功能强大的web管理端。

1. 准备

  • 首先, 需要一台具有公网IP的云服务器作为代理服务器.

  • 在云服务器管理界面, 找到防火墙设置, 开放 8080 端口, 用于访问 nps web 管理界面.

    • 以腾讯云为例:

      add_port

2. 安装 Docker

  • 在云服务器和内网服务器中都安装 Docker
    • https://docs.docker.com/engine/install/

3. 在云服务器中安装 nps 服务端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 在具有公网IP的云服务器安装nps服务端
# 创建 /opt/nps 目录存放配置文件
sudo mkdir /opt/nps
cd /opt/nps

# 下载配置文件
sudo wget https://img.zeruns.tech/down/conf.zip

# 解压配置文件到 /opt/nps 目录
sudo unzip conf.zip -d /opt/nps

# 拉取 ffdfgdfg/nps 镜像
docker pull ffdfgdfg/nps

# 运行 nps 容器,配置文件夹 conf 在 /opt/nps/conf 目录下
# --restart=always: 开机会自启动nps
docker run -d --name=nps --restart=always --net=host -v /opt/nps/conf:/conf ffdfgdfg/nps

# 查看日志
docker logs nps
  • 安装完后在浏览器打开:http://云服务器IP:8080

    • 使用用户名和密码登陆(默认admin/123,正式使用一定要更改,修改/opt/nps/conf/nps.conf配置文件中的web_password)
  • 点击客户端 -> 新增

    nps客户端

    nps客户端2

  • 添加成功后查看客户端列表, 复制-server-vkey.

    nps客户端3

4. 在内网服务器中安装 nps 客户端

1
2
3
4
5
6
7
8
9
10
# 在内网服务器中安装nps客户端
# 拉取 ffdfgdfg/nps 镜像
docker pull ffdfgdfg/npc

# nps客户端启动命令
# --restart=always: 开机会自启动nps
docker run -d --name=npc --restart=always --net=host ffdfgdfg/npc -server=填入上面的server -vkey=填入上面的-vkey -type=tcp

# 查看日志
docker logs npc

5. nps 使用

  • 添加 TCP 隧道

    TCP-tunnel

  • 这里我为内网服务器的 22 端口 (也就是用于ssh的端口) 设置了 TCP 隧道. 保存后, 即可通过 云服务器IP:9527 ssh连接到内网服务器.

    • 客户端ID: 为添加客户端时给的ID.
    • 服务端端口: 指的是对应的云服务端口.
      • 这里的端口与[1.准备]中添加 8080 端口一样, 需要在云服务器控制面板的防火墙设置中开放对应端口. (注意: 每使用一个服务器端口, 都需要在云服务器防火墙设置中开放此端口)
    • 目标 (IP:端口): 指的是你要为内网服务器代理的端口.
  • 下面这个例子中, 我为 jupyter 使用的端口添加了一个 TCP 隧道:

Jupyter-tunnel

This post is licensed under CC BY 4.0 by the author.

Linux 多线程下载工具 - Aria2 安装使用教程

使用 Git Credential Manager 访问 HTTP URL GitHub 仓库