holer内网穿透实例

Holer

1. Holer简介

Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. html

Support forwarding message based on TCP protocol.java

Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。linux

示意图

2. Holer使用

Holer支持如下两种使用方式,根据实际需求,任选其中一种方式便可:nginx

方式一: git

使用公开的holer映射或者开通holer服务,经过holer客户端软件holer服务器实现公网访问,详见2.1节github

方式二:spring

使用holer服务端软件搭建holer服务,经过holer客户端软件本身服务器实现公网访问,详见2.2节sql

Holer客户端软件有Java版本详见2.1.1节和Go版本详见2.1.2节,根据偏好,任选其中一种版本使用便可。数据库

若是下载holer软件遇到问题,更多的下载地址详见3.2节windows

2.1 使用公开的holer映射或者开通holer服务

方式一: 使用公开的holer映射或者开通holer服务,经过holer客户端软件经holer服务器实现公网访问。

公开的holer映射详情以下:

访问密钥 访问域名 公网地址 本地地址 使用场景
HOLER_CLIENT-2F8D8B78B3C2A0AE holer65530.wdom.net holer.org:65530 127.0.0.1:8080 WEB
HOLER_CLIENT-3C07CDFD1BF99BF2 holer65531.wdom.net holer.org:65531 127.0.0.1:8088 WEB
HOLER_CLIENT-2A623FCB6E2A7D1D holer65532.wdom.net holer.org:65532 127.0.0.1:80 WEB
HOLER_CLIENT-AF3E6391525F70E4 N/A holer.org:65533 127.0.0.1:3389 远程桌面
HOLER_CLIENT-822404317F9D8ADD N/A holer.org:65534 127.0.0.1:22 SSH
HOLER_CLIENT-27DD1389DF1D4DBC N/A holer.org:65535 127.0.0.1:3306 数据库

这里以映射本地Tomcat默认端口8080为例,选择表中的第一条映射进行配置;若是Web服务端的端口是80或者8088,请选择相匹配的端口映射,其余TCP端口映射步骤相似,更多的使用示例请参考官方文档

2.1.1 使用Java版本的holer客户端实现步骤

Java版本的holer客户端软件(源代码软件包)是由Java语言实现,支持跨平台。

2.1.1.1 安装 Java

安装Java 1.7或者更高版本,执行命令 java -version 检查Java是否可用。

2.1.1.2 安装Web服务端

以Tomcat为例,安装并启动Tomcat,默认安装的端口是8080;

在浏览器里输入以下URL来检查Tomcat服务是否能够正常访问:

http://127.0.0.1:8080

2.1.1.3 下载并配置holer客户端

下载并解压软件包holer-client.zip
修改配置文件:

holer-client/conf/holer.conf

设置HOLER_ACCESS_KEY以下:

HOLER_ACCESS_KEY=HOLER_CLIENT-2F8D8B78B3C2A0AE

2.1.1.4 启动holer

进入目录:

cd holer-client/bin

Windows系统:

执行命令 startup.bat 或双击 startup.bat

若是须要中止进程,执行命令shutdown.bat或双击shutdown.bat

Linux系统:

执行命令 bash startup.sh

若是须要中止进程,执行命令 bash shutdown.sh

而后就能够经过以下URL来访问Web应用:

http://holer65530.wdom.net 或者 http://holer.org:65530

2.1.1.5 设置开机启动

进入目录:

cd holer-client/bin

Windows系统:

双击 setup.vbs

注意事项:

请确保当前用户对以下目录具备读取、写入、执行、修改等权限:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Linux系统:

执行命令 bash setup.sh

注意事项:

CentOS 7, RedHat 7, Ubuntu 18 及更高版本,建议执行命令bash setup-service.sh设置开机启动;

根据提示输入holer access keyholer server host

输入示例:

------------------------------------------
Enter holer access key: HOLER_CLIENT-2F8D8B78B3C2A0AE
------------------------------------------
Enter holer server host: holer.org
------------------------------------------

2.1.2 使用Go版本的holer客户端实现步骤

Go版本的holer客户端软件(源代码软件包)是由GO语言实现,支持多种操做系统和硬件架构。

2.1.2.1 安装Web服务端

以Tomcat为例,安装并启动Tomcat,默认安装的端口是8080;

在浏览器里输入以下URL来检查Tomcat服务是否能够正常访问:

http://127.0.0.1:8080

2.1.2.2 下载holer客户端

根据实际的系统平台,选择匹配的软件包下载并解压holer-xxx.tar.gz

2.1.2.3 启动holer

这里以Windows & Linux x86-64bit 为例,启动holer执行以下命令:

Windows系统:

holer-windows-amd64.exe -k HOLER_CLIENT-2F8D8B78B3C2A0AE -s holer.org

也能够执行命令 startup.bat 或者双击 startup.bat

若是须要中止进程,执行命令shutdown.bat或双击shutdown.bat

Linux系统:

nohup ./holer-linux-amd64 -k HOLER_CLIENT-2F8D8B78B3C2A0AE -s holer.org &

也能够执行命令 bash startup.sh

若是须要中止进程,执行命令 bash shutdown.sh

首次启动根据提示输入holer access keyholer server host

输入示例:

------------------------------------------
Enter holer access key: HOLER_CLIENT-2F8D8B78B3C2A0AE
------------------------------------------
Enter holer server host: holer.org
------------------------------------------

2.1.2.4 设置开机启动

进入目录:

cd holer-client/bin

Windows系统:

双击 setup.vbs

注意事项:

请确保当前用户对以下目录具备读取、写入、执行、修改等权限:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Linux系统:

执行命令 bash setup.sh

注意事项:

CentOS 7, RedHat 7, Ubuntu 18 及更高版本,建议执行命令bash setup-service.sh设置开机启动;

根据提示输入holer access keyholer server host

输入示例:

------------------------------------------
Enter holer access key: HOLER_CLIENT-2F8D8B78B3C2A0AE
------------------------------------------
Enter holer server host: holer.org
------------------------------------------

2.2 使用holer服务端软件搭建holer服务

方式二: 使用holer服务端软件搭建holer服务,经过holer客户端软件经本身服务器实现公网访问。

用户也能够下载 holer-server.zip 搭建本身的holer服务。

若是下载holer软件遇到问题,更多的下载地址详见3.2节

Holer Server

2.2.1 搭建holer服务端准备工做

(1) 准备一台能够经公网IP访问的Linux系统或者Windows系统主机;

(2) 安装Java 1.8及以上版本,执行命令 java -version 检查Java是否可用;

(3) 安装并启动Nginx, 建议安装其稳定版本;

(4) 安装MariaDB并设置root用户密码

(5) 设置安全规则,容许访问holer服务端端口6060、600以及端口映射规则所涉及的端口;

(6) 建议申请域名而且完成域名备案,并设置域名泛解析(*.域名)直接解析主域名(@.域名),若是没有域名能够直接使用IP和端口访问。

2.2.2 配置并启动holer服务端

解压软件包,打开配置文件 holer-server/resources/application.yaml

2.2.2.1 修改数据库用户名和密码

spring:
  datasource:
    username: root
    password: 123456

2.2.2.2 修改域名和Nginx主目录

holer
  domain:
    name: your-domain.com
  nginx:
    #home: /usr/local/nginx
    home: C:/nginx-1.14.2

将示例中的域名your-domain.com修改为本身备案过的域名,若是没有域名,请忽略该配置项。

Linux系统默认安装Nginx路径 /usr/local/nginx

Windows系统中能够先将Nginx复制到某个目录下,而后在配置文件中指定其主目录。

注意事项:

请确保Nginx主目录下存在配置文件:conf/nginx.conf

Nginx目录结构示例:

Nginx主目录
├── conf
│   ├── nginx.conf
.   .
.   .

若是须要用到HTTPS功能,Window系统版本的Nginx默认支持HTTPS功能,Linux系统须要下载Nginx源码,配置和编译以及安装执行以下命令:

./configure --with-http_ssl_module
make;make install

2.2.2.3 启动holer服务端

Linux系统执行启动命令以下:

cd holer-server
chmod 755 holer
bash holer start

若是须要中止进程,执行命令bash holer stop

Windows系统执行启动命令以下:

cd holer-server
startup.bat

或者双击 startup.bat

若是须要中止进程,执行命令shutdown.bat或双击shutdown.bat

2.2.2.4 设置开机启动

进入目录:

cd holer-server/bin

Windows系统:

双击 setup.vbs

注意事项:

请确保当前用户对以下目录具备读取、写入、执行、修改等权限:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Linux系统:

执行命令 bash setup.sh

注意事项:

CentOS 7, RedHat 7, Ubuntu 18 及更高版本,建议执行命令bash setup-service.sh设置开机启动。

2.2.3 建立端口映射

2.2.3.1 登陆holer管理系统

若是配置文件application.yaml中设置了域名,而且指定了Nginx主目录,则在浏览器输入URL http://holer.your-domain.com
若是没有设置域名访问,则经过IP和端口登陆系统 http://IP地址:600

Holer Login

登陆系统须要输入默认的管理员帐号,默认用户名: admin 密码: admin123

用户也能够在文件holer-server/resources/conf/holer-data.sql中修改默认的用户名和密码,而后重启holer服务端使其生效。

2.2.3.2 建立客户端和端口映射

在用户列表页面中建立一个holer客户端

http://holer.your-domain.com/view/holer-client.html

Holer Client

在端口映射页面中为该holer客户端建立端口映射

http://holer.your-domain.com/view/holer-port.html

Holer Port

在数据统计页面中查看报表信息

http://holer.your-domain.com/view/holer-report.html

Holer Report

2.2.3.3 配置holer客户端使其与holer服务端实现端口映射功能

在用户列表页面中选中一条客户端记录,在页面右上角点击详情按钮,弹出的详情框下点击复制按钮;

Holer Copy

而后将详情信息粘贴到记事本里,请严格按照详情信息里的使用说明进行操做,这样能够顺利完成holer客户端配置,从而实现基于本身holer服务端的端口映射功能。

3. 支持与帮助

3.1 Holer使用示例

得到更多的holer使用示例,请参考官方文档

3.2 Holer下载

3.2.1 Holer客户端软件

软件地址一

软件地址二

3.2.2 Holer服务端软件

软件地址一

软件地址二

3.3 问题帮助

使用中遇到问题能够查看holer日志信息来排查问题的具体缘由。

3.3.1 Holer客户端日志

3.3.1.1 Java版本的holer客户端

查看日志文件:
holer-client/logs/holer-client.log

3.3.1.2 Go版本的holer客户端

Linux系统

查看可执行程序所在目录下的日志文件logs/holer-client.log或者nohup.out文件。

Windows系统

查看可执行程序所在目录下的日志文件logs/holer-client.log

3.3.2 Holer服务端日志

查看日志文件:
holer-server/logs/holer-server.log

3.4 申请holer服务

用户可使用上述公开的holer映射详见2.1节,也能够申请holer服务

Holer服务详情,请访问Wisdom

Wisdom

相关文章
相关标签/搜索