NPS 内网穿透安装

NPS 内网穿透安装

NPS分为服务端和客户端,对应的不同操作系统软件可以在GitHub RELEASES自行选择下载。

服务端搭建

由于个人非企业级使用,为了方便直接使用docker安装

1.docker运行

(注意需要提前下载conf文件,或者将镜像中文件copy出来)

# 拉取镜像
docker pull ffdfgdfg/nps:v0.26.10

# 运行
docker run -d --name nps --restart always --net=host -v /opt/docker/nps/conf:/conf ffdfgdfg/nps:v0.26.10

# 查看日志
docker logs -f nps

2.修改nps.conf配置文件,按需进行修改

名称 含义
web_port web管理端口
web_password web界面管理密码
web_username web界面管理账号
web_base_url web管理主路径,用于将web管理置于代理子路径后面
bridge_port 服务端客户端通信端口
https_proxy_port 域名代理https代理监听端口
http_proxy_port 域名代理http代理监听端口
auth_key web api密钥
bridge_type 客户端与服务端连接方式kcp或tcp
public_vkey 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式
ip_limit 是否限制ip访问,true或false或忽略
flow_store_interval 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化
log_level 日志输出级别
auth_crypt_key 获取服务端authKey时的aes加密密钥,16位
p2p_ip 服务端Ip,使用p2p模式必填
p2p_port p2p模式开启的udp端口
pprof_ip debug pprof 服务端ip
pprof_port debug pprof 端口
disconnect_timeout 客户端连接超时,单位 5s,默认值 60,即 300s = 5mins

例如:web_port=8080,则可通过http://ip:8080进行访问nps的web页面

SSH配置流程

这里模拟一个需要ssh内网穿透连接内网的场景,一个内网需要被连,一个具有公网ip的服务器,nps也是通过此ip进行访问。

1.选择客户端,点击新建

请添加图片描述

2.密钥为客户端需要的vkey,因为是配置ssh,其他则使用默认,点击新增

请添加图片描述

3.点击刷新,连接状态为离线,点击隧道
请添加图片描述

4.点击新增
请添加图片描述

5.选择TCP隧道,服务器端口30000,目标为22,点击新增;

(说明一下,30000为服务器本地端口,后续通过访问本地30000端口,nps转发到客户端的22端口。)

请添加图片描述

6.根据自己需要内网穿透的服务器按需下载客户端并解压,执行./npc -server=ip:8024 -vkey=test123456 -type=tcp,出现如下提示则代表连接nps成功。

(ip:8024,为你的公网ip地址加nps.conf配置文件中bridge_port参数端口,test123456是客户端新建中填写的唯一验证密钥)
请添加图片描述

7.点击web页面的客户端并刷新,连接已经为在线。
请添加图片描述

8.ssh连接外网服务器的30000端口测试
请添加图片描述

至此内网ssh内网穿透成功,但是要保证可靠性,还需要将需要启动的程序配置成服务,设置自启,或者其他稳定方案。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 11:34:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 11:34:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 11:34:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 11:34:02       20 阅读

热门阅读

  1. Python 的 GPIO 库

    2024-01-08 11:34:02       27 阅读
  2. Python:sqlalchemy报错DetachedInstanceError

    2024-01-08 11:34:02       34 阅读
  3. 数据库相关SQL

    2024-01-08 11:34:02       35 阅读
  4. 常用python代码大全-random模块的一些常见用法

    2024-01-08 11:34:02       37 阅读
  5. 【数据库原理】(13)视图的使用

    2024-01-08 11:34:02       35 阅读
  6. C++运算符和表达式

    2024-01-08 11:34:02       35 阅读
  7. 研旭开发板资料下载地址--DSP28335资料

    2024-01-08 11:34:02       33 阅读