详细教你用NPS搭建内网穿透服务,外出时轻薄本轻松连接家里的游戏主机远程玩耍
文章目录
- 前言
- 一、NPS概述
- NPS的原理
- 二、NPS服务器搭建
- 1、下载软件
- 2、云服务器配置
- 2.1、防火墙配置
- 2.2、用WinSCP远程上传服务文件
- 2.3、使用SSH终端安装启动
- 2.4、修改配置文件
- 三、客户端连接
- 总结
前言
相信大家外出旅游或者出差都是背着轻薄本,如果空闲之余想玩游戏,那么轻薄本显然满足不了自己的游戏需求,所以本教程就是教大家使用NPS搭建一个内网穿透服务,轻松连接家里的游戏主机远程玩耍。
一、NPS概述
NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,支持tcp、udp、http等几乎所有流量转发,支持WEB界面管理主机连接。
NPS的原理
运行NPS服务的云服务器和运行NPS客户端的主机之间会创建一条TCP或UDP隧道,可以映射云服务器上的某个端口到客户端主机的指定端口,其他主机访问云服务器的这个端口的流量都会通过创建的这条隧道转发到映射的主机端口,实现内网穿透效果。
二、NPS服务器搭建
1、下载软件
本教程使用的是github上面的一款开源工具,具体链接附在下面。下载与自己服务器和客户端的系统相对应的版本,如果无法访问,也可以通过我的网盘分享下载,网盘里面有linux和windows的64位服务端,还有windows64位的客户端。
https://github.com/ehang-io/nps/releases
网盘链接:https://pan.baidu.com/s/10a6RQPi16ivwjHt5qPKEFA
提取码:zx68
2、云服务器配置
首先需要一台云服务器,可以选择腾讯云或者阿里云等云服务器厂商,通常有很大的折扣力度,我选的是腾讯云的轻量应用服务器ubuntu20.04系统。
2.1、防火墙配置
需要放行以下端口(后文会描述如何自行更改端口,增加安全性)
TCP22:用于远程SSH连接
TCP8080:用户NPS管理界面的默认登录端口
2.2、用WinSCP远程上传服务文件
- 使用WinSCP通过22端口以root身份连接服务器,再上传服务器文件linux_amd64_server.tar.gz。
- 如果你的云服务器是windows系统,可以直接使用windows自带的远程桌面把软件复制过去。
2.3、使用SSH终端安装启动
使用MobaXterm、SecureCRT或PUTTY等终端ssh连接云服务器,进行配置。
- 安装
mkdir nps //创建nps使用的文件夹
mv linux_amd64_server.tar.gz ./nps //把软件移动到创建好的nps文件夹中
cd nps //进入创建的nps文件夹
tar -zxvf linux_amd64_server.tar.gz //解压压缩包,使用"ls"命令就能看到目录下面多了conf和web的文件夹,还有一个可执行文件nps
- 启动
./nps install //输入安装命令
nps start //启动nps服务
如果是windows系统,管理员身份运行cmd,安装时输入nps.exe install
,启动需要进入程序目录输入nps.exe start
。
安装后windows配置文件位于C:\Program Files\nps,linux位于/etc/nps
- 浏览器打开IP+8080端口,即可看到nps管理界面,用户名和密码默认是admin/123,请及时修改。
2.4、修改配置文件
- 如果需要修改登录用户名、密码、网页登录端口等信息,可以修改/etc/nps下的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 |
- 仪表盘里面可以看到客户端的连接端口默认为8024,需要在云服务器的防火墙放行此端口才能正常工作。
三、客户端连接
- 点击仪表盘里面的客户端,按图片所示新增一个客户端。
- 填写备注,下面的压缩和加密选择“是”。
- 添加好后就会得到一个客户端ID为2。
- 点击左边的加号,会出现下面的一条客户端命令,这个命令是在windows系统下面执行的,执行的时候不需要前面的"./"。
- 在保存了nps客户端的文件里按住shift键点击鼠标右键,打开Powershell
- 输入命令
cmd
,和从网页上获取到的命令,出现Successful就可以了。 - 可以看到网页上的状态显示在线
- 创建TCP隧道
- 客户端ID写之前创建客户端得到的ID,服务端端口写一个没有用过的端口就行,当然防火墙里面也要放行这个端口。目标端口写需要访问的端口。
- 这样所有访问服务端端口的流量就会被转发到客户端端口,也就成功连接上了处于内网的主机。
总结
使用nps这样一款小工具实现了内网穿透的效果,可以实现出门在外用轻薄本连接家里游戏主机快乐玩耍的需求,当然其他TCP和UDP的连接也都是可行的,看个人的具体需求,也不会占用云服务太多的资源,非常值得推荐。
详细教你用NPS搭建内网穿透服务,外出时轻薄本轻松连接家里的游戏主机远程玩耍相关推荐
- 手把手教你,搭建内网穿透服务
我的 GitHub 仓库:? 手把手教你搭建内网穿透服务,基于 lanproxy 穿透服务,为你深度定制了开箱即用的服务端和客户端 Docker 镜像. 在很多场景下内网穿透都是我们常常遇到的需求,之 ...
- 使用nps搭建内网穿透并配置泛域名解析
使用nps搭建内网穿透并配置泛域名解析 前言 1. 准备工作 2. 服务器端搭建nps并配置 2.1 配置nps配置文件 2.2 docker安装nps 2.3 web端配置nps并使用 3. 客户端 ...
- 搭建内网穿透服务一步一步讲解教程
我的 GitHub 仓库:? 手把手教你搭建内网穿透服务,基于 lanproxy 穿透服务,为你深度定制了开箱即用的服务端和客户端 Docker 镜像. 在很多场景下内网穿透都是我们常常遇到的需求,之 ...
- 使用Lanproxy搭建内网穿透服务完整教程
本文主要记录了使用基于Docker的Lanproxy搭建内网穿透服务的过程,其中包括服务端和客户端的详细配置,并且基于宝塔面板的Nginx实现域名绑定.反向代理与SSL. 本文主要内容: 1. 解决的 ...
- 使用frp搭建内网穿透服务
什么是内网穿透?为什么要用内网穿透?内网穿透能做什么? 以上问题我只想说,如果你自己没有公网IP,但是你又想在公网上访问家里的服务,或者是在公司远程家里的电脑,那么你就需要内网穿透服务. 内网穿透需要 ...
- 云服务器+ngrok搭建内网穿透服务(只有公网ip无域名)
有的时候在项目开发或者远程开发时,需要把本地端口映射到公网上,让本地端口可以远程访问(TCP(ssh), http, https等),如果自己没有一台拥有公网ip的服务器的话可以租一台阿里云服务器或者 ...
- 【精】如何搭建NPS进行内网穿透
文章目录 前言 一.NPS概述 NPS的原理 二.NPS服务器搭建 1.下载软件 2.云服务器配置 2.1.防火墙配置 2.2.用WinSCP远程上传服务文件 2.3.使用SSH终端安装启动 2.4. ...
- 本地web项目如何使用外网访问?教你轻松使用cpolar在windows搭建内网穿透
文章目录 写在前面 轻松实现内网穿透 1.官网账号注册 2.软件下载并安装 3.绑定自己的个人账号 4.启动自己的web项目 5.实现内网穿透 6.访问一下吧 总结 写在前面 相信很多小伙伴开发了一个 ...
- Frps搭建内网穿透(服务器及客户端详细)
目的:通过云服务器搭建内网穿透,实现外网访问内部应用或者服务(不限操作系统,服务器只需一个,客户端可以多个). 所需资源:阿里/百度/腾讯云服务器 有外网IP即可 软件下载(包含Windows.Liu ...
最新文章
- 2021汤家凤1800题数学一PDF_【重要更新】朱伟9720年英语一二真题解析视频 唐迟罗汉班 谭剑波作文 新东方英语 文都数学汤家凤...
- linux 命令行选项
- SqlServerCe 数据库操作示例
- ArcGIS 10.x属性表乱码问题解决办法
- mysql查其它用户的表_mysql sql查询如何实现发私信用户和其他用户的列表?要求消重所有重复的用户结果...
- python执行脚本时的命令行选项_Python 处理脚本的命令行参数(二):使用click
- linux diff 补丁,Linux中diff、补丁的用法及介绍
- 弹性理论法研究桩基受力计算公式_桩基础沉降计算方法及相关的理论分析
- Centos使用yum极速安装Java 1.8
- 【Nginx】Nginx学习笔记01_linux/centos下安装Nginx
- 计算机职业价值观测评报告,职业价值观测评—中国毕业生职业能力素质测评系统...
- 重装mac系统 未能与恢复服务器取得联系,进入 macOS 系统恢复模式 – 重新安装 macOS 系统...
- mysql delete锁_MySQL 的加锁处理,你都了解的一清二楚了吗?
- Python下载网易云歌曲(版权限制的怎么播放和下载呢?)
- Linux防火墙放行gre隧道,防火墙 tunnel(GRE隧道)+×××配置过程分析
- 国际学术论文写作与发表 期末考试
- 使用Julia运用JuMP和Clp求解Lp和ILP问题(分支定界法)
- php 正则 /is,PHP 正则表达式后面接的/isU, /is, /s含义
- 数据库课程设计(上)(学生成绩管理系统)
- 利用Python自动爬取全国30+城市地铁图数据