通过holer将端口映射到公网访问详细实现教程

简介: Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。 Holer支持以下两种使用方式,根据实际需求,任选其中一种方式即可: 使用公开的holer映射或者开通holer服务,通过holer客户端软件经holer服务器实现公网访问。
+关注继续查看

Holer

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 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

目录
相关文章
|
3月前
|
存储 网络协议 Ubuntu
Linux环境搭建SVN服务器并实现公网访问 - cpolar端口映射
Linux环境搭建SVN服务器并实现公网访问 - cpolar端口映射
288 0
|
3月前
|
网络协议 Ubuntu Linux
本地Linux搭建web服务并发布公网访问 - 无需公网IP(二)
本地Linux搭建web服务并发布公网访问 - 无需公网IP(二)
|
3月前
|
Ubuntu Linux Apache
本地Linux搭建web服务并发布公网访问 - 无需公网IP(一)
本地Linux搭建web服务并发布公网访问 - 无需公网IP(一)
|
4月前
|
Windows
ngrok-外网访问内网工具NGROK的使用
ngrok-外网访问内网工具NGROK的使用
65 0
|
10月前
|
网络协议 Linux 网络安全
外网访问公司内网服务器,无需公网IP,免费内网穿透
在工作中,有时候会遇到在家或者出差在外,公司服务器出现问题,需要在外远程访问公司内网服务器的情况。
350 0
外网访问公司内网服务器,无需公网IP,免费内网穿透
|
11月前
|
域名解析 小程序 Linux
CentOS搭建内网穿透frp并绑定自定义域名
CentOS搭建内网穿透frp并绑定自定义域名
1071 2
|
Java Linux 网络安全
如何通过holer将多个端口映射到公网访问
内网Linux虚拟机上安装了WEB服务器,开启了HTTP和HTTPS以及SSH端口访问,怎样从公网通过HTTP和HTTPS访问虚拟机上的WEB服务器?如何从公网SSH登录Linux虚拟机?
986 0
|
Linux Windows
外网访问内网网站
外网访问内网网站 本地搭建了网站,只能在局域网内访问,怎样从外网也能访问本地网站? 本文将介绍具体的实现步骤。 1. 准备工作 1.1 安装并启动网站服务端 默认搭建的网站服务端端口是80。 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包。
1350 0
|
Ruby Linux Windows
外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤。 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口是3000。
1227 0
|
Windows
外网访问内网WampServer
本地安装了一个WampServer,只能在局域网内访问,怎样从外网也能访问到本地的WampServer呢?本文将介绍具体的实现步骤。 1. 准备工作 1.1 安装并启动WampServer 默认安装的WampServer端口是80。
1344 0
相关产品
云迁移中心
推荐文章
更多