Docker安装一个带web界面的内网穿透工具-nps

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理,可实现在非内网环境下如同使用vpn一样访问内网资源和设备的效果。

目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

Docker

https://hub.docker.com/r/oldiy/nps-server

https://hub.docker.com/r/oldiy/npc-client

本项目地址:https://github.com/cnlh/nps

今天我们只讲以Centos7作为服务器,群晖作为客户端为例的一个教程,其他环境请到页面下方加入群聊一起讨论!

由于是内网穿透服务,所以一定会有一个服务器端和一个客户端,好了,我们按步骤开始安装走起!使用Docker安装服务器端。

1.安装docker

  • 执行以下几条命令
  • 安装并启动Docker
1234567891011 #获取root权限sudo –i#更新yum update#安装 Dockeryum –y install docker#启动 Docker 后台服务service docker start

2.安装nps服务器

  • 执行以下命令安装nps服务器端
  • 将修改为你自己需要保存conf文件的目录
  • 修改并输入以下命令启动nps服务器
1 docker run –d —name nps —net=host –v :/nps/conf oldiy/nps–server:latest

如果运行成功就可以通过 http://:8080 访问管理服务器,默认密码123。

如果测试无误后,可以添加如下参数,让nps总是可以自动重启(听不懂这条可以无视)

1 —restart=always

特殊情况(已安装过其他服务占用了80等端口)

安装完毕后如果服务器端口已经被占用的情况,服务会启动失败,同时下面已经有了nps.conf文件,如果本机端口被占用,服务启动失败,此时我们编辑conf文件,修改被占用的默认端口,再重新执行以上命令即可。

输入下面命令查看已经使用的端口

1 netstat –ntlp

对照conf文件查找冲突端口,并修改

编辑conf方法如下

12345 #cd到conf目录cd #vim命令编辑confvim nps.conf

进入后按Ins键进入编辑,编辑结束后按 Esc,之后输入:wq 回车保存退出

重新执行第2步命令即可!

之后就可以通过http://:8080 访问服务器web管理界面,默认密码123。

服务端配置文件

  • nps.conf
名称 含义
httpport web管理端口
password web界面管理密码
bridePort 服务端客户端通信端口
pemPath ssl certFile绝对路径
keyPath ssl keyFile绝对路径
httpsProxyPort 域名代理https代理监听端口
httpProxyPort 域名代理http代理监听端口
authip web api免验证IP地址
bridgeType 客户端与服务端连接方式kcp或tcp
publicVkey 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式
ipLimit 是否限制ip访问,true或false或忽略
flowStoreInterval 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化
logLevel 日志输出级别

3.设置防火墙

如果开了防火墙,我们需要关闭防火墙或者放行8080、8284、80、443端口,如需要其他端口,自己放行!

  • 关闭防火墙执行以下命令
12345 #停止firewallsystemctl stop firewalld.service#禁止firewall开机启动systemctl disable firewalld.service

此时服务器端安装完毕!

4.在web界面新建一个客户端(只做http内网网页穿透演示)

之后添加要穿透内网使用的域名。并确认域名已经解析到你的nps服务器IP。

经过测试使用,nps的最大优点就是客户端无需任何设置,无需编写conf文件,直接连接到服务器之后,全部穿透和隧道均可以在服务器web端操作添加!相当方便!并且支持https,支持socks5等等。

(0)
PipitaPipita
上一篇 2020-02-24
下一篇 2020-03-05

相关文章

  • #脚本#SSH端口怎么防止被暴力破解攻击?使用一键脚本自动拉黑

    SSH端口两种防御脚本 方法1: 超过10次登陆失败就封掉IP,创建shell脚本:secure_ssh.sh 123456789101112 #! /bin/bashcat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{pr…

    无关专业 2021-09-20
  • 让PVE直接跑docker

    最近貌似流行软路由,选了一圈Proxmox VE下玩多系统,结果还想玩玩docker,居然pve原生还不支持,放狗搜了下找到自己开启方法。 1.添加软件源 nano /etc/apt/sources.list deb http://download.proxmox.com/debian stretch pve-no-subscription 复制代码2.注释…

    无关专业 2020-03-05
  • VMware 虚拟机安装 macOS 详细教程

    为了装黑苹果系统,有时可能需要一个 macOS 环境来运行某些软件,当然还有大部分是为了工作需要我们要在苹果系统 macOS 上安装相应的软件进行测试,而平时用的最多又是 Windows 操作系统,总不能为了一两次测试学习而去购买一台Mac电脑,所以利用VMware虚拟机来安装Mac OS就是最好的选择了,今天这篇教程,就详细带大家解读如何用 VMware …

    无关专业 2020-12-10
  • 教程:Linux挂载FTP为本地文件夹

    本教程适用于Debian/ubuntu,其他linux发行版安装curlftpfs也可。 1、安装curlftpfs apt-get install  curlftpfs 2、创建用于挂载的文件夹 mkdir /mnt/ftp   #也可在宝塔中创建 3、挂载 curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=us…

    无关专业 2020-06-27
  • Debian系Linux网卡、下载源及一些全局环境变量设置

        近期有个关于CentOS操作系统的新闻成了热点,CentOS系统的上游公司Red Hat(红帽)将于明年结束CentOS 8的维护,并将CentOS 7持续到2024年结束维护,取而代之的是CentOS Stream 8。CentOS Stream 8与CentOS 8的区别在于CentOS 8是基于稳定版本的Red Hat 系统源代码编译过来的,而…

    无关专业 2020-12-20
  • 如何编译自己需要的 OpenWrt 固件

    Lean https://github.com/coolsnowwolf/lede 注意: 不要用 root 用户 git 和编译!!! 国内用户编译前最好准备好梯子 默认登陆IP 192.168.1.1, 密码 password 编译命令如下: 首先装好 Ubuntu 64bit,推荐 Ubuntu 18 LTS x64 命令行输入 sudo apt-ge…

    无关专业 2020-12-10