这几天在研究内网穿透,学了好几种,ngrok,frp,最后还是觉得nps好用,操作简单

前提

搭建需要个docker服务器,这个服务器必须在公网上的,或者自己去https://github.com/ehang-io/nps去下载server去安装服务

我今天主要说以docker容器方式安装nps,那么我们开始

步骤

  • 拉取nps 镜像
    docker pull ffdfgdfg/nps
  • 在vps云服务器上做挂载目录
    mkdir -p /mnt/sdc/nps/conf
  • 从https://github.com/ehang-io/nps 拉出来代码,把里面的conf文件夹目录里面的东西拷贝到上面的挂载目录里面
    (可以通过xftp,上传到服务器)
  • 上传到服务器后,修改挂在目录里面的 nps.conf 文件
appname = nps
runmode = dev

http_proxy_ip=0.0.0.0
http_proxy_port=19000
https_proxy_port=19001
https_just_proxy=true

https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key

bridge_type=tcp
bridge_port=19002
bridge_ip=0.0.0.0

public_vkey=123

log_level=7

web_host=a.o.com
web_username=admin
web_password=admin
web_port = 19003
web_ip=0.0.0.0
web_base_url=
web_open_ssl=false
web_cert_file=conf/server.pem
web_key_file=conf/server.key
auth_crypt_key =1234567887654321
allow_user_login=false
allow_user_register=false
allow_user_change_username=false
allow_flow_limit=false
allow_rate_limit=false
allow_tunnel_num_limit=false
allow_local_proxy=false
allow_connection_num_limit=false
allow_multi_ip=false
system_info_display=false
http_cache=false
http_cache_length=100
http_add_origin_header=false[object Object]

主要修改 http_proxy_port, https_proxy_port,web_port (需要改,因为可能和服务器的其他端口冲突)另外 web_username, web_password 是登陆web端页面的账户密码,也可以改,或者不改也行

  • 启动nps服务,设置对外映射端口
docker run -d -p 19000-19010:19000-19010 -v /mnt/sdc/nps/conf:/conf –name=nps ffdfgdfg/nps

好了,这下你的服务已经起好了

  • 访问你的nps web端页面 ip:19003(web的端口,也可以使用你自己定义的web_port端口)
    页面是这样的
  • 然后先创建客户端

docker 硬件透传_云服务

这里只要填个备注,下面选择都选是就行

  • 创建好后,我们就用tcp隧道试一下

这里的客户端ip就是我们上面创建的id,主要的是服务端端口,和目标的端口

服务端端口就是我们可以用云服务器ip:这个端口 就可以直接访问内网

注意:这里又个很大的坑

服务器的端口有可能被防火墙了,你要去解开限制

阿里云服务器这种的,需要添加安全组

目标,就是我们要被访问的服务ip:端口

  • 接下来我们开始安装client 客户端
    https://github.com/ehang-io/nps 去下载release

docker 硬件透传_云服务_02

去选择自己系统对应的客户端

注意这里也是个大坑

我在这里被搞了很久,这个client需要装在你的内网里面,也就是被访问的主机上面,不是云服务里面,不是云服务

  • 在内网主机上下载好后,解压缩,到目录下执行

docker 硬件透传_云服务_03

点击左上角的+ 号,会展开, 现在的nps 已经把命令简单化了,只要复制 下面 客户端的命令后面的指令,在目录下执行,

  • 好了,现在就可以用你的服务器ip+自定义的端口访问了
  • 最后有一张图分享一下,这是nps的核心