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

2024-03-07 12:20

本文主要是介绍雨云服务器搭建内网穿透服务器教程,NPS搭建和使用教程,如何搭建内网穿透服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这个高度互联的时代,我们越来越依赖互联网来实现工作和生活的各种需求。然而,随着一些省份逐步收回家庭用户的公网IPv4地址(目前国内大部分地方都是多个用户共用一个公网IPv4地址),我们无法直接通过公网访问家里的设备和服务,这给我们带来了一定的困扰。但是别担心,内网穿透技术就是解决这个问题的绝佳方案。

在本教程中,我们将介绍一款名为NPS的轻量级内网穿透工具,它不仅支持多平台,包括X86、ARM和MIPS,而且还提供了便捷的WEB管理界面,使得搭建和配置内网穿透服务器变得简单而直观。

内网穿透简介

内网穿透是一种将内部网络的服务暴露到公网的技术,使得外部用户可以通过互联网访问内部网络中的服务。它允许在没有公网 IP 地址或端口转发的情况下,通过一个中间代理服务器将内部网络的服务暴露给外部用户。

内网穿透通常用于以下场景:

  1. 远程访问:当内部网络中的设备需要被外部用户远程访问时,可以使用内网穿透技术。例如,通过内网穿透可以将家庭网络中的个人电脑、NAS(网络附加存储)等设备暴露给外部用户,实现远程访问和控制。
  2. 远程办公:在企业中,员工可能需要从外部网络访问内部网络中的办公应用、文件共享等资源。内网穿透可以提供一种安全的方式,让员工能够远程访问这些资源,实现远程办公。
  3. 数据备份和同步:内网穿透可以用于将内部网络中的文件、数据库等数据备份到外部云存储服务或同步到其他设备。这样即使内部网络出现故障,数据仍然可以从外部网络进行恢复和同步。
  4. 搭建网站和应用程序:内网穿透可以用于将内部网络中的网站、应用程序等服务暴露给外部用户。通过内网穿透,开发者可以在本地搭建并测试自己的网站或应用程序,而无需购买公网 IP 地址或使用其他复杂的端口转发设置。

常见的内网穿透工具包括 ngrok、frp、nps 等。这些工具提供了简单易用的界面和配置选项,可以帮助用户快速搭建内网穿透环境。然而,需要注意的是,在使用内网穿透技术时,安全性是非常重要的考虑因素,应该采取适当的安全措施来保护内部网络的安全。

NPS介绍

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持TCP、UDP流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、游戏私服、我的世界服务器 等等……),此外还支持内网http代理、内网socks5代理p2p等,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。

案例:

  1. 做微信公众号开发、小程序开发等----> 域名代理模式
  2. 想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,----> tcp代理模式
  3. 在非内网环境下使用内网dns,或者需要通过udp访问内网机器等----> udp代理模式
  4. 在外网使用HTTP代理访问内网站点----> http代理模式
  5. 搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备----> socks5代理模式

NPS项目Github地址:https://github.com/yisier/nps

NPS官方中文文档:https://ehang-io.github.io/nps/#/

特点

  • 协议支持全面,兼容几乎所有常用协议,例如tcp、udp、http(s)、socks5、p2p、http代理…
  • 全平台兼容(linux、windows、macos、群辉等),支持一键安装为系统服务
  • 控制全面,同时支持服务端和客户端控制
  • https集成,支持将后端代理和web服务转成https,同时支持多证书
  • 操作简单,只需简单的配置即可在web ui上完成其余操作
  • 展示信息全面,流量、系统信息、即时带宽、客户端版本等
  • 扩展功能强大,该有的都有了(缓存、压缩、加密、流量限制、带宽限制、端口复用等等)
  • 域名解析具备自定义header、404页面配置、host修改、站点保护、URL路由、泛解析等功能
  • 服务端支持多用户和用户注册功能

准备

首先需要一台云服务器,要有公网IP的,推荐雨云的:

雨云优惠注册地址:https://www.rainyun.com/ryy_?s=csdn

优惠码:ryy

使用优惠码注册后绑定微信可获得5折优惠券

雨云账号注册&云服务器购买和使用教程:https://www.bilibili.com/video/BV1Kj411x7G6/

注册完账号后进到雨云控制台,云服务器入口可以在后台的 总览云产品 部分找到:

点击购买云服务器,接着选择服务器区域,国内用户建议选择内地机房,因为延迟低,比如宿迁和十堰,其中推荐十堰,因为IP便宜,如果预算充足选择宿迁更好。

配置选择2核2G一般够用了。

系统选择Debian12,预安装APP选择Docker环境(选了这个可以跳过下面安装Docker的步奏)。如果所选区域没有Debian12就选择Debian11,如果没有预安装Docker就需要执行下面教程安装Docker那步。

都选好后就可以点击立即购买了,也可以选择1元试用1天。

购买后即可在我的云服务器这里看到你买的云服务器,点击管理

接着就可以看到云服务器的信息了,在这里重装/切换系统,可以升级配置。

连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址(雨云控制台获取),还有SSH端口(一般默认是22),然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

安装Docker

如果选择了预安装Docker环境就直接跳过安装这一步,直接Docker换国内源那一步。

在ssh终端,输入下面的指令。

用apt包管理器来安装:

# 安装docker,如果遇到问是否继续的就输入y来确定
apt install docker.io# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

若没安装成功就试试下面的安装脚本:

# 安装docker
curl -sSL https://get.daocloud.io/docker | sh# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

如果还是不行就尝试下面链接的手动安装教程吧

docker手动安装教程:https://www.runoob.com/docker/ubuntu-docker-install.html

Docker换国内源

# 创建或修改 /etc/docker/daemon.json 文件
apt install nano && nano /etc/docker/daemon.json# 然后输入下面内容:(输入完后按Ctrl+O,然后回车保存,接着按Ctrl+X退出编辑器)
{"registry-mirrors": ["https://docker.nju.edu.cn"]
}# 重启docker服务
systemctl restart docker.service

搭建NPS服务端

安装NPS服务端:

# 创建 /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 yisier1/nps# 运行 nps 容器,配置文件夹 conf 在 /opt/nps/conf 目录下
docker run -d --name=nps --restart=always --net=host -v /opt/nps/conf:/conf yisier1/nps# 查看日志
docker logs nps

安装完后在浏览器打开:http://你服务器IP:8080

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

修改密码:

# 安装nano编辑器,编辑nps.conf文件
apt install nano && nano /opt/nps/conf/nps.conf# 找到web_password这一项,修改密码,修改完后按Ctrl+O,然后回车保存,接着按Ctrl+X退出编辑器
# 建议将public_vkey设置为空# 修改完后重启NPS容器
docker restart nps

服务端配置文件解析:

名称含义
web_portweb管理端口
web_passwordweb界面管理密码
web_usernameweb界面管理账号
web_base_urlweb管理主路径,用于将web管理置于代理子路径后面
bridge_port服务端客户端通信端口
https_proxy_port域名代理https代理监听端口
http_proxy_port域名代理http代理监听端口
auth_keyweb 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_portp2p模式开启的udp端口
pprof_ipdebug pprof 服务端ip
pprof_portdebug pprof 端口
disconnect_timeout客户端连接超时,单位 5s,默认值 60,即 300s = 5mins

客户端安装使用

首先登陆进来NPS服务端的WEB管理页面,找到【客户端】,点击【新增】。

备注这里就根据需要写,其他的看着来就行。最后点击【新增】

刷新一下就能看到我们添加的客户端了,目前是处于离线状态。左边有一个小加号,点击可以展开。下面的客户端命令我们一会要用。下面是各种客户端安装方法,选一种适合的就行。

Windows

首先下载Windows版的客户端:

github下载地址:https://github.com/yisier/nps/releases

雨云ROS下载地址:https://cn-sy1.rains3.com/rainyun-assets/Pic/2023/11/windows_amd64_client.tar.gz

我在需要运行NPS客户端的Windows设备的C盘根目录下建立一个名字叫【npc】的目录,将刚才下载的NPS客户端的文件解压后放到里面。这里注意,我们只要【npc.exe】文件即可。

然后以管理员身份运行命令提示符,输入 cd /npc 跳转到npc目录下,输入以下命令:

npc.exe install 客户端命令(记得不要复制./npc 只要后边的)

这样我们的npc就添加到系统服务里了,再找到 控制面板 - 管理工具 - 服务 里找到【nps内网穿透客户端】,找到【恢复】选项卡,按照下图中设置即可。设置完成后就可以启动服务了。

这样客户端就连接到了NPS的服务端了

Linux Docker

首先需要安装Docker,安装教程看上面。

Docker方式是支持多平台的,x86、ARM都可以,NAS用户可以通过这个方法安装客户端,一般NAS系统都支持docker。

安装NPS客户端NPC:

# 拉取 yisier1/npc 镜像
docker pull yisier1/npc# 运行 npc 容器,按提示改好命令,如下图所示
docker run -d --name=npc --restart=always --net=host yisier1/npc -server=<ip:port> -vkey=<web界面中显示的密钥> <以及一些其他参数># 查看日志
docker logs npc

这样NPS客户端就算安装完成了

Linux 安装包方式

如果需要安装在ARM或MIPS架构上,到这复制对应版本的下载链接替换下面的链接:https://github.com/yisier/nps/releases

# 安装wget并且下载NPC服务端并重命名为 npc.tar.gz ,可根据自己系统将apt替换为yum或其他
apt install -y wget && wget --no-check-certificate -O npc.tar.gz https://github.com/yisier/nps/releases/download/v0.26.16.1/linux_arm64_client.tar.gz# 创建一个名为npc的目录并且解压NPC服务端文件到此目录下,并且进入到npc这个目录下
mkdir /opt/npc && tar -zxvf npc.tar.gz -C /opt/npc && cd /opt/npc# 安装NPC并启动,按提示改好命令,如下图所示
./npc install -server=<ip:port> -vkey=<web界面中显示的密钥> <以及一些其他参数># 启动NPC
sudo npc start

这样NPS客户端就算安装完成了

建立内网穿透隧道

按照上面的方法安装好客户端后就可以新建内网穿透隧道了,我这里以Windows的远程桌面服务为例,需要将TCP 3389端口映射出去,所以新建一个TCP隧道,你们根据自己实际需要选择TCP还是UDP。

客户端ID填写你上面添加的客户端的ID,服务端端口填写想映射到服务器的哪个端口,目标IP端口填写你客户端想要映射的端口,IP填127.0.0.1表示本机,也可以填局域网内的其他设备的IP,可将局域网内的其他设备端口映射出去,我这里就填了本机的3389端口,填好后点击新增就行。

接着你就可以通过这个服务器的这个端口访问到你内网的机器

推荐阅读

  • 雨云OSS服务介绍和使用教程,Chevereto图床使用雨云OSS的教程:https://forum.rainyun.com/t/topic/5573/
  • PicGo+雨云ROS搭建自己的图床,可配合Typora使用:https://forum.rainyun.com/t/topic/5659/
  • 雨云游戏云MCSM面板服使用&我的世界Forge服务端开服教程:https://forum.rainyun.com/t/topic/5727
  • 雨云虚拟主机使用教程&WordPress博客网站搭建教程:https://forum.rainyun.com/t/topic/5769
  • 雨云游戏云VPS搭建MCSM面板和我的世界Paper服务器教程:https://forum.rainyun.com/t/topic/5836

这篇关于雨云服务器搭建内网穿透服务器教程,NPS搭建和使用教程,如何搭建内网穿透服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/m0_62052959/article/details/134426513
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/783487

相关文章

Qt之QMessageBox的具体使用

《Qt之QMessageBox的具体使用》本文介绍Qt中QMessageBox类的使用,用于弹出提示、警告、错误等模态对话框,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.简单介绍3.常见函数4.按钮类型(QMessage::StandardButton)5.分步骤实现弹窗6.总结1.引言

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Qt中Qfile类的使用

《Qt中Qfile类的使用》很多应用程序都具备操作文件的能力,包括对文件进行写入和读取,创建和删除文件,本文主要介绍了Qt中Qfile类的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.QFile文件操作3.演示示例3.1实验一3.2实验二【演示 QFile 读写二进制文件的过程】4.

spring security 超详细使用教程及如何接入springboot、前后端分离

《springsecurity超详细使用教程及如何接入springboot、前后端分离》SpringSecurity是一个强大且可扩展的框架,用于保护Java应用程序,尤其是基于Spring的应用... 目录1、准备工作1.1 引入依赖1.2 用户认证的配置1.3 基本的配置1.4 常用配置2、加密1. 密

WinForms中主要控件的详细使用教程

《WinForms中主要控件的详细使用教程》WinForms(WindowsForms)是Microsoft提供的用于构建Windows桌面应用程序的框架,它提供了丰富的控件集合,可以满足各种UI设计... 目录一、基础控件1. Button (按钮)2. Label (标签)3. TextBox (文本框

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

如何合理使用Spring的事务方式

《如何合理使用Spring的事务方式》:本文主要介绍如何合理使用Spring的事务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、底层构造1.1.事务管理器1.2.事务定义信息1.3.事务状态1.4.联系1.2、特点1.3、原理2. Sprin

Vue中插槽slot的使用示例详解

《Vue中插槽slot的使用示例详解》:本文主要介绍Vue中插槽slot的使用示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、插槽是什么二、插槽分类2.1 匿名插槽2.2 具名插槽2.3 作用域插槽三、插槽的基本使用3.1 匿名插槽