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