文章目录
相信大家外出旅游或者出差都是背着轻薄本,如果空闲之余想玩游戏,那么轻薄本显然满足不了自己的游戏需求,所以本教程就是教大家使用NPS搭建一个内网穿透服务,轻松连接家里的游戏主机远程玩耍。
NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,支持tcp、udp、http等几乎所有流量转发,支持WEB界面管理主机连接。
运行NPS服务的云服务器和运行NPS客户端的主机之间会创建一条TCP或UDP隧道,可以映射云服务器上的某个端口到客户端主机的指定端口,其他主机访问云服务器的这个端口的流量都会通过创建的这条隧道转发到映射的主机端口,实现内网穿透效果。

本教程使用的是github上面的一款开源工具,具体链接附在下面。下载与自己服务器和客户端的系统相对应的版本,如果无法访问,也可以通过我的网盘分享下载,网盘里面有linux和windows的64位服务端,还有windows64位的客户端。
https://github.com/ehang-io/nps/releases

网盘链接:https://pan.baidu.com/s/10a6RQPi16ivwjHt5qPKEFA
提取码:zx68
首先需要一台云服务器,可以选择腾讯云或者阿里云等云服务器厂商,通常有很大的折扣力度,我选的是腾讯云的轻量应用服务器ubuntu20.04系统。
需要放行以下端口(后文会描述如何自行更改端口,增加安全性)
TCP22:用于远程SSH连接
TCP8080:用户NPS管理界面的默认登录端口

使用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



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






cmd,和从网页上获取到的命令,出现Successful就可以了。




使用nps这样一款小工具实现了内网穿透的效果,可以实现出门在外用轻薄本连接家里游戏主机快乐玩耍的需求,当然其他TCP和UDP的连接也都是可行的,看个人的具体需求,也不会占用云服务太多的资源,非常值得推荐。
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
我正在使用DMOZ的listofurltopics,其中包含一些具有包含下划线的主机名的url。例如:608609TheOuterHeaven610InformationandimagegalleryofMcFarlane'sactionfiguresforTrigun,Akira,TenchiMuyoandotherJapaneseSci-Fianimations.611Top/Arts/Animation/Anime/Collectibles/Models_and_Figures/Action_Figures612虽然此url可以在网络浏览器中使用(或者至少在我的浏览器中可以使用:
我刚刚在我的Ubuntu9.10服务器上安装了TeamBox。我使用提供的服务器脚本在端口3000上启动并运行它。它的运行速度非常慢,从另一台计算机连接时每个HTTP请求最多需要30秒。我使用链接从shell加载TeamBox,一点也不花时间。然后我设置了一个SSH隧道,它再次运行得非常快。我通过此服务器上的apache以及SAMBA等运行了大约30个虚拟主机,没有任何问题。我该如何解决这个问题? 最佳答案 我的redmine(ruby,webrick)太慢了。现在我解决了这个问题:apt-getinstallmongrelruby
1.问题描述使用Python的turtle(海龟绘图)模块提供的函数绘制直线。2.问题分析一幅复杂的图形通常都可以由点、直线、三角形、矩形、平行四边形、圆、椭圆和圆弧等基本图形组成。其中的三角形、矩形、平行四边形又可以由直线组成,而直线又是由两个点确定的。我们使用Python的turtle模块所提供的函数来绘制直线。在使用之前我们先介绍一下turtle模块的相关知识点。turtle模块提供面向对象和面向过程两种形式的海龟绘图基本组件。面向对象的接口类如下:1)TurtleScreen类:定义图形窗口作为绘图海龟的运动场。它的构造器需要一个tkinter.Canvas或ScrolledCanva
Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好
目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式
我有这段代码来跟踪远程日志文件:defdo_tail(session,file)session.open_channeldo|channel|channel.on_datado|ch,data|puts"[#{file}]->#{data}"endchannel.exec"tail-f#{file}"endNet::SSH.start("host","user",:password=>"passwd")do|session|do_tailsession,"/path_to_log/file.log"session.loop我只想在file.log中检索带有ERROR字符串的行,我正在尝
当我运行服务器并转到localhost:3000时,我收到此错误:ActiveRecord::ConnectionNotEstablishedNoconnectionpoolwithidprimaryfound.有问题的代码:activerecord(5.0.0)lib/active_record/connection_adapters/abstract/connection_pool.rb:874:in`retrieve_connection' 最佳答案 我会发表评论,但我缺乏声誉。反正这个错误有时候是sqlite版本导致的。我建