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

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
1月前
|
安全 网络协议
端口扫描神器:御剑 保姆级教程(附链接)
端口扫描神器:御剑 保姆级教程(附链接)
92 1
|
3月前
|
Ubuntu 网络安全
百度搜索:蓝易云【ubuntu系统ufw开放端口教程】
现在,你已经成功在Ubuntu系统中使用ufw开放了指定的端口。请确保只开放必要的端口,并注意网络安全。
86 3
|
3月前
|
安全 Linux 网络安全
百度搜索:蓝易云【centos7系统添加用户、密码,以及修改端口教程】
请牢记,对系统进行任何更改都需要谨慎行事。在执行这些操作之前,最好备份重要的数据和配置文件,并确保您具有足够的权限和知识来进行这些更改。如果在操作过程中遇到任何问题,请务必小心并及时修复,以免影响系统的稳定性和安全性。
69 2
|
4月前
|
网络协议 Linux 网络安全
百度搜索:蓝易云【iptables-nvL查看linux系统的所有ip和端口情况教程。】
请注意,使用iptables需要具有管理员权限。如果你没有权限或遇到问题,请以管理员身份运行命令或联系系统管理员寻求帮助。
123 0
|
4月前
|
弹性计算 网络安全 数据安全/隐私保护
80端口备案,有么有详细教程怎么去备案呀?
80端口备案,有么有详细教程怎么去备案呀?
632 0
|
1月前
|
弹性计算 网络协议 安全
宝塔面板放行阿里云端口命令操作教程
布署宝塔面板阿里云服务器需要开放哪些端口?阿里云服务器“安全组设置”详解
191 1
|
10月前
|
安全 Linux 网络安全
【超详细】Linux系统修改SSH端口教程
在linux中,默认的SSH端口号为22,由于这是咱们都知道的端口号,一旦有入侵者进行端口扫描的时候扫描出22端口,就立马知道这是进行SSH登录的端口号,因而咱们需要修改默认的端口号。
4283 1
【超详细】Linux系统修改SSH端口教程
|
8月前
|
小程序 Java 应用服务中间件
云服务器上安装配置tomcat并在Tomcat上放置自己写入的一个小程序并添加外网访问端口的教程(超级详细版)
云服务器上安装配置tomcat并在Tomcat上放置自己写入的一个小程序并添加外网访问端口的教程(超级详细版)
157 0
|
1月前
|
网络协议 Linux
端口扫描神器:Masscan 保姆级教程(附链接)
端口扫描神器:Masscan 保姆级教程(附链接)
108 1
|
3月前
|
安全 Ubuntu 网络安全
百度搜索:蓝易云【ssh端口转发教程】
这些是SSH端口转发的基本步骤。您可以根据您的需求和情况进行进一步的调整和配置。请确保在执行任何与网络连接相关的操作之前,充分了解您的网络环境和安全需求,并采取适当的安全措施。
56 0