找回密码
 立即注册
查看: 1127|回复: 2

nps内网穿透

[复制链接]

10

主题

18

回帖

177

积分

初级渣柚V2

积分
177
发表于 2019-10-5 23:37:55 | 显示全部楼层 |阅读模式
安装
Github地址:https://github.com/cnlh/nps
通常内网穿透工具都有服务端和客户端,安装要求如下:
服务端:需要安装在一个有公网IP的服务器上,系统为Linux/Windows/Mac均可。客户端:一般安装在一个内网的VPS服务器或Windows/Mac电脑上使用。
1、编译安装
提示:编译安装主要讲的Linux系统,其它系统(Win/Mac,也包括Linux)建议直接使用作者编译好的文件即可。
安装Go语言:
#Debian/Ubuntu系统apt-get -y install golang#创建目录并定义GOPATH环境变量指向该目录mkdir ~/workspaceecho 'export GOPATH="$HOME/workspace"' >> ~/.bashrcsource ~/.bashrc#CentOS/RHEL系统yum -y install golang#创建目录并定义GOPATH环境变量指向该目录。mkdir ~/workspaceecho 'export GOPATH="$HOME/workspace"' >> ~/.bashrcsource ~/.bashrc
安装git:
#Debian/Ubuntu系统apt-get -y install git#CentOS/RHEL系统yum -y install git
安装源码:
go get github.com/cnlh/nps
编译服务端和客户端:
#进入指定目录cd ~/workspace/src/github.com/cnlh/nps#编译服务端go build cmd/nps/nps.go#编译客户端go build cmd/npc/npc.go
编译好了后,就会在当前目录生成npc或nps二进制文件了,就可以直接拿来用了。
编译的时候可能出现的问题解决方法:
#只拿一种常见的错误做例子,有时候可能会出现很多种这样的提示lib/kcp/crypt.go:14:2: cannot find package "golang.org/x/crypto/pbkdf2" in any of:    /usr/lib/go-1.7/src/golang.org/x/crypto/pbkdf2 (from $GOROOT)    /root/workspace/src/golang.org/x/crypto/pbkdf2 (from $GOPATH)#意思是缺少这种包,然后记住提示的地址,比如上面的golang.org/x/crypto/pbkdf2,有时候也会提示的github地址。然后再使用命令go get golang.org/x/crypto/pbkdf2命令安装一下就行了。
2、直接安装
除了自己编译外,作者也直接提供了编译好的文件给你使用,文件下载地址:点击进去,然后再根据自己的系统架构下载对应的最新版服务端和客户端。
如果对于Linux服务器还是不知道怎么选择的,这里拿Vultr、搬瓦工大多数VPS为例。先使用命令getconf LONG_BIT获取系统版本,32位就选386,64就选amd64,具体还是以实际情况为准。

服务端使用
这里博主使用的是Vultr Linux x64服务器,直接使用命令:
#记得复制前先将下面链接替换成当前最新版地址cd ~#下载并解压服务端wget https://github.com/cnlh/nps/releases/download/v0.0.14/linux_amd64_server.tar.gz && tar zxvf linux_amd64_server.tar.gz#编辑配置文件cd npsnano conf/nps.conf
配置文件参数如下:
#web管理端口httpport#web界面管理密码password#服务端客户端通信端口bridePort#ssl certFile绝对路径pemPath#ssl keyFile绝对路径keyPath#域名代理https代理监听端口httpsProxyPort#域名代理http代理监听端口httpProxyPort#web api免验证IP地址authip#客户端与服务端连接方式kcp或tcpbridgeType
然后启动服务端:
./nps start#重启/停止服务端./nps stop|restart
然后打开地址http://ip:8080访问管理界面,具体端口以自己修改的为准,再使用密码登录进去,默认为123。
#如果打不开Web界面,就需要开启防火墙,一般CentOS系统出现情况最多#Centos 6系统iptables -I INPUT -p tcp --dport 8080 -j ACCEPTservice iptables saveservice iptables restart#CentOS 7系统firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
对于有些服务器,比如阿里云,谷歌云等,还需要在服务器管理面板上开放Web端口才行。

客户端使用
1、Linux系统
#比如下载的客户端文件在根目录,先进入根目录cd ~#启动客户端,比如服务端公网IP为1.1.1.1,服务端配置文件中tcpport为8284./npc -server=1.1.1.1:8284 -vkey=客户端的密钥
2、Windows系统
首先按住Win+R,输入cmd进入命令窗口,然后使用命令:
#比如下载的客户端文件在D盘,先进入到D盘cd /d d:#启动客户端,比如服务端公网IP为1.1.1.1,服务端配置文件中tcpport为8284npc.exe -server=1.1.1.1:8284 -vkey=客户端的密钥
至于Mac系统启动参考上面就行。

使用场景
关于使用场景,Github文档写的很清楚了,这里大概的说下。
1、tcp隧道模式
适用:想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,或者做微信公众号开发、小程序开发等。
详细教程→点击查看
2、udp隧道模式
适用:在非内网环境下使用内网dns,或者需要通过udp访问内网机器等。
详细教程→点击查看
3、http代理模式
适用:在外网使用HTTP代理访问内网站点。
详细教程→点击查看
4、socks5代理模式
适用:搭建一个内网穿透55,在外网如同使用内网v皮n一样访问内网资源或者设备。
详细教程→点击查看



评分

参与人数 1渣金 +15 经验值 +15 收起 理由
jakc + 15 + 15 很给力!

查看全部评分

1

主题

5

回帖

51

积分

初级渣柚V2

积分
51
发表于 2019-11-4 11:09:27 | 显示全部楼层
可以的

0

主题

15

回帖

15

积分

初级渣柚V1

积分
15
QQ
发表于 2020-10-19 12:25:36 | 显示全部楼层
太难了,根本看不明白!!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2024-4-24 08:27 , Processed in 0.055962 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表