开发者社区> zeruns> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

如何用阿里云实现内网穿透?如何在外网访问家里内网设备?

简介: 使用NPS自建内网穿透服务器教程,带WEB管理
+关注继续查看

自带WEB管理的轻量级内网穿透工具NPS的各种搭建方式和使用教程,支持X86、ARM、MIPS平台。

最近已经有几个省不给家庭用户公网IP了,估计会逐步扩展收回公网IP,如果我们想在外面访问家里的NAS或者其他服务那只能选择内网穿透了,自建内网穿透服务器是一个不错的选择,特别是最近各大云服务器厂商为抢占市场不断降价促销,云服务器的性价比都不错。

云服务器选购可以看这:https://blog.zeruns.tech/archives/383.html

我的世界服务器搭建教程:https://blog.zeruns.tech/tag/mc/

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://url.zeruns.tech/nps

NPS官方中文文档:https://url.zeruns.tech/NPS_WD

准备

首先需要一台云服务器或VPS,要有公网IP的,下面推荐一些:

其他性价比高的服务器推荐:https://blog.zeruns.tech/archives/383.html

如果你是新用户有优惠,建议能买多长时间就买多长时间,因为优惠价的服务器到期后续费很贵的,而且新用户优惠只能买一次,所以尽量买长时间点划算。

推荐买带宽大点的,因为内网穿透到你家的带宽取决于你服务器的带宽,如果你服务器只有1兆带宽,那你访问家里设备的带宽也只有1兆。

购买服务器后选择安装Centos7系统,然后用SSH登陆服务器。SSH客户端软件推荐Putty或Mobaxterm。

也可使用Windows系统,下载Windows版服务端,管理员身份运行cmd,进入程序目录运行 nps.exe start

win版服务端下载地址:https://url.zeruns.tech/nps_win

搭建NPS服务端

下面有多种搭建方法,选其中一种就行。

搭建好后记得在控制台开放端口,面板端口是8080,与客户端通信端口是8024。

Docker

首先需要安装Docker。

Docker方式是支持多平台的,x86、ARM都可以。

Docker安装脚本:

sudo curl -sSL https://get.daocloud.io/docker | sh

把上面的命令复制到SSH终端运行。

Docker手动安装教程:https://url.zeruns.tech/docker

安装NPS服务端:

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

# 安装wget并且下载配置文件
yum install -y wget && wget https://img.zeruns.tech/down/conf.zip

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

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

# 运行 nps 容器,配置文件夹 conf 在 /opt/nps/conf 目录下
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)

安装包安装

如果需要安装在ARM或MIPS架构上,到这复制对应版本的下载链接替换下面的链接:https://url.zeruns.tech/NPS_down

# 安装wget并且下载NPS服务端并重命名为 nps.tar.gz
yum install -y wget && wget --no-check-certificate -O nps.tar.gz https://img.zeruns.tech/down/linux_amd64_server.tar.gz

# 创建一个名为nps的目录并且解压NPS服务端文件到此目录下,并且进入到nps这个目录下
mkdir /opt/nps && tar -zxvf nps.tar.gz -C /opt/nps && cd /opt/nps

# 安装NPS并启动
./nps install && sudo nps start

这样NPS服务端就算安装完成了,这时浏览器访问:http://你服务器IP:8080 即可跳转到NPS的管理页面。默认WEB管理账号是amdin,密码是123。如果需要更改的话就修改conf目录下的nps.conf,这里就不再赘述了。

源码编译安装

源码编译安装方式不推荐小白。

如果下面安装go的命令无效,建议百度手动安装go的方法。

# 安装 go
yum install go

# 下载源码并进入nps目录
git clone https://github.com/ehang-io/nps && cd nps

# 编译服务端
go build cmd/nps/nps.go

# 安装NPS并启动
./nps install && sudo nps start

这样NPS服务端就算安装完成了,这时浏览器访问:http://你服务器IP:8080 即可跳转到NPS的管理页面。默认WEB管理账号是amdin,密码是123。如果需要更改的话就修改conf目录下的nps.conf,这里就不再赘述了。

客户端安装使用

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

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

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

Windows

首先下载Windows版的客户端:https://url.zeruns.tech/nps_win

我在需要运行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。

Docker安装脚本:

sudo curl -sSL https://get.daocloud.io/docker | sh

把上面的命令复制到SSH终端运行。

Docker手动安装教程:https://url.zeruns.tech/docker

安装NPS客户端NPC:

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

# 安装wget并且下载配置文件,可根据自己系统将yum替换为apt或其他
yum install -y wget && wget https://img.zeruns.tech/down/conf.zip

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

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

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

# 查看日志
docker logs npc

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

Linux 安装包方式

如果需要安装在ARM或MIPS架构上,到这复制对应版本的下载链接替换下面的链接:https://url.zeruns.tech/NPS_down

# 安装wget并且下载NPC服务端并重命名为 npc.tar.gz ,可根据自己系统将yum替换为apt或其他
yum install -y wget && wget --no-check-certificate -O npc.tar.gz https://img.zeruns.tech/down/linux_amd64_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端口,填好后点击新增就行。

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

到这里就完成了,你可以自己继续研究一下更多的功能,也可以看看官方的说明文档。

推荐阅读

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云IOT对接设备开发C开发设备对接阿里云IOT平台
阿里云IOT对接设备开发C开发设备对接阿里云IOT平台
110 0
阿里云数据库开源重磅发布:PolarDB HTAP的功能特性和关键技术
在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云 PolarDB 内核技术专家严华带来了主题为《PolarDB HTAP详解》的精彩演讲。在PolarDB存储计算分离架构的基础上,我们研发了基于共享存储的MPP分布式执行引擎,解决了单条SQL执行时无法利用其它节点计算资源、无法发挥共享存储池的IO大带宽的问题,同时提供了弹性计算,弹性扩展的保障,使得PolarDB初步具备了 HTAP 的能力。本议题主要介绍PolarDB HTAP的功能特性和关键技术。
30005 0
阿里云 X GreenTea JUG Meetup:2021 Java 技术的探索和实践
阿里云联合GreenTea JUG在上海时隔2年重新与大家相聚。本次我们邀约了国内外知名公司资深Java领域工程师面对面分享最新Java技术的探索和实践。 想要接触学术界&工业界大咖?了解最新Java技术动向?赶紧扫码报名吧!为Java技术发展和开源社区贡献自己的力量!
1608 0
阿里云原生多模数据库Lindorm联合东软云科技 赋能车联网数字化运营运维创新升级
阿里云原生多模数据库Lindorm与东软云科技推出联合解决方案,共建面向未来的车联网数字化运营运维云平台。目前,该联合解决方案已在东软睿驰、江铃汽车、长城汽车等客户中得到广泛应用和实践落地。
522 0
Python实现阿里云域名DDNS支持ipv4和ipv6
Python实现阿里云域名DDNS支持ipv4和ipv6
16793 0
阿里云首度公布策略无意布局云基础设施
本文讲的是阿里云首度公布策略无意布局云基础设施【IT168 资讯】成立近3年后,阿里云终于揭开面纱,首度公布清晰策略。
1996 0
+关注
zeruns
我的博客:https://blog.zeruns.tech
42
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载