自学内容网 自学内容网

nps内网穿透工具的使用

一、场景

已有一台华为云服务器(任意外网ip都可以)和一台虚拟机(内网),通过nps内网穿透,实现访问内网虚拟机。

举例:三台电脑,云服务器、虚拟机(家里电脑)、公司电脑,在公司以云服务器作为通道直接访问虚拟机。

二、操作步骤

1.准备

nps分为服务端和客户端两个部分。云服务器作为通道,应该部署服务端,虚拟机则为客户端。

nps官方操作文档如下:

Document

开源地址如下:

https://github.com/ehang-io/nps

原作者已经停更很久了,最早的版本还是2021年,看评论区有人反馈病毒和漏洞的存在,所以采用其他作者二次开发的版本。

推荐两个二开版本,这里是使用第二个作者docker方式进行部署。

https://github.com/yisier/nps

https://github.com/djylb/nps

注: 前提条件下,两台服务器均需要安装docker,并配置好源,否则无法拉取私人仓库。

仓库源配置可以参考另一篇博文docker拉取镜像超时解决_108.160.170.44:443 docker拉取镜像超时-CSDN博客

2.nps部署(服务端)

2.1 创建nps配置文件->拉取镜像->启动容器(挂载本地配置文件),下面两个方法大差不差,只是把配置文件copy过来而已。注:若容器启动不成功,请修改配置文件端口号,可能是8080端口有冲突。

方法一


# 创建 /opt/nps 目录存放配置文件
mkdir /opt/nps

# 安装wget并且下载配置文件
apt install -y wget && wget https://cn-sy1.rains3.com/rainyun-assets/Pic/2023/11/conf_1b8df8f61551218f81065d9b20288371.zip

# 解压配置文件到 /opt/nps 目录
apt install unzip && unzip conf_1b8df8f61551218f81065d9b20288371.zip -d /opt/nps

# 拉取 yisier1/nps 镜像
docker pull  duan2001/nps

# 运行 nps 容器,配置文件夹 conf 在 /opt/nps/conf 目录下
docker run -d --name=nps --restart=always --net=host -v /opt/nps/conf:/conf  duan2001/nps

# 查看日志
docker logs nps

方法二

# NPS
# 根据下面链接创建 nps.conf 配置文件
# https://github.com/djylb/nps/blob/master/conf/nps.conf
docker pull duan2001/nps
docker run -d --restart=always --name nps --net=host -v <本机conf目录>:/conf -v /etc/localtime:/etc/localtime:ro duan2001/nps

服务端配置文件解析:

名称    含义
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

2.2 打开web管理界面  服务端ip:8080  账密默认为admin 123

切换至客户端,点击新增按钮

输入如图信息

当前连接显示离线,表示没有客户端连接。注意红色字体部分客户端命令,后面部署客户端会用到

3.npc部署(客户端)

拉取镜像->启动容器,客户端使用无配置文件命令启动,官方文档也有配置文件启动方式,自行查看。

# NPC
docker pull duan2001/npc
docker run -d --restart=always --name npc --net=host duan2001/npc -server=xxxx:123 -vkey=xxxx,xxxx -tls_enable=true -log=off

-server=xxxx:123 -vkey=xxxx,xxxx -tls_enable=true -log=off 这部分对应上面的客户端命令

刷新一下web管理界面 可以看到离线变为在线,表示完成了

4.穿透

点击右侧“隧道”按钮,跳转至tcp隧道页面,点击新增

各参数填写如下  目的端ip不用填,只填写端口号即可。访问云服务器23333端口会自动映射到虚拟机的22端口

 到这里就配置完成了

使用nxshell远程连接云服务器公网ip+23333端口即可访问虚拟机

附上比较有参考价值的博客 

雨云服务器搭建内网穿透服务器教程,NPS搭建和使用教程,如何搭建内网穿透服务器_nps使用教程-CSDN博客

docker拉取镜像超时解决_108.160.170.44:443 docker拉取镜像超时-CSDN博客


原文地址:https://blog.csdn.net/kely6666/article/details/144760027

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!