1. Holer简介
Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
Support forwarding message based on TCP protocol.
Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。
2. Holer使用
Holer支持以下两种使用方式,根据实际需求,任选其中一种方式即可:
使用公开的holer映射或者开通holer服务,通过holer客户端软件经holer服务器实现公网访问,详见2.1节。
使用holer服务端软件搭建holer服务,通过holer客户端软件经自己服务器实现公网访问,详见2.2节。
Holer客户端软件有Java版本详见2.1.1节和Go版本详见2.1.2节,根据偏好,任选其中一种版本使用即可。
如果下载holer软件遇到问题,更多的下载地址详见3.2节。
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 key和holer 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 key和holer 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 key和holer 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节。
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
登录系统需要输入默认的管理员账号,默认用户名: 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客户端创建端口映射
http://holer.your-domain.com/view/holer-port.html
在数据统计页面中查看报表信息
http://holer.your-domain.com/view/holer-report.html
2.2.3.3 配置holer客户端使其与holer服务端实现端口映射功能
在用户列表页面中选中一条客户端记录,在页面右上角点击详情按钮,弹出的详情框下点击复制按钮;
然后将详情信息粘贴到记事本里,请严格按照详情信息里的使用说明进行操作,这样可以顺利完成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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。