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

相關文章
相關標籤/搜索