:::

Zentyal設定DLLL-CIAS Router雲端網路模組 / Configuration of DLLL-CIAS Router

PART-2-STEP-6-zentyal-reverse-proxy-002

這一份教學我專為Zentyal自製的DLLL-CIAS Router雲端網路模組的操作說明,主要是在描述雲端平台會用到的Back End功能。

In this article is a manual for DLLL-CIAS Router module’s Back End function. DLLL-CIAS Router for Zentyal is the core component for the network management of DLLL-CIAS platform.

  • 對應講義:PART-3-STEP-6
  • 主題:設定雲端模組

教學目錄 / Table of Contents

  1. Zentyal 3.0.2安裝準備
  2. 安裝Zentyal 3.0.2
  3. DLLL-CIAS之Zentyal網路設定
  4. 設定Zentyal DHCP伺服器
  5. Zentyal安裝DLLL-CIAS Router雲端網路模組
  6. [目前在此篇 >> ] Zentyal設定DLLL-CIAS Router雲端網路模組

Back End功能 / Back End Function

我們可以用虛擬機器管理伺服器(Proxmox VE)輕易地在DLLL-CIAS雲端平台中新增虛擬機器,可是虛擬機器仍然是在DLLL-CIAS區域網路中,並沒有辦法直接跟外部網路來連線。因此我們必須要設定網路管理伺服器的DLLL-CIAS Router雲端網路模組來連接內網與外網。

一般來說,連接內外網的設定有兩種:連接埠轉遞(Port Forwarding)跟反向代理伺服器(Reverse Proxy)。雲端網路模組就是結合了這兩種功能,再加上簡單的管理資訊,讓我們能夠透過雲端網路模組來管理大量的虛擬機器。

這部份的設定主要都是在DLLL-CIAS Router雲端網路模組中的Back End功能。以下介紹Back End是如何操作:(由於圖片的部分是採用舊版模組來拍攝,名稱跟新版模組略有不同,但位置都一樣。)

虛擬機器網路舉例 / Virtual Machine Network Example

以下教學我在DLLL-CIAS區域網路中建立虛擬機器,然後要透過網路管理伺服器Zentyal讓它可以給外部連線。

虛擬機器中的區域網路設定為:

  • IP位址:10.9.4.57
  • NETMASK 子網路遮罩:255.0.0.0
  • DNS:10.0.0.254

我要讓他可以用以下網域名稱(Domain Name)連線:

  • http://teach-workshop-vm-57-2014.dlll.nccu.edu.tw

以下教學就用這個範例來進行設定。

新增Back End設定 / Add Configuration to Back End

  1. 登入Zentyal網頁管理介面
    PART-2-STEP-6-zentyal-reverse-proxy-001
  2. 點選左方欄位的DLLL-CIAS > Router > Back End
  3. 按下「+Add new」
    PART-2-STEP-6-zentyal-reverse-proxy-002
  4. 設定Back End的各項參數,然後按下「ADD」按鈕。
    PART-2-STEP-6-zentyal-reverse-proxy-003-1
  5. 設定完成之後應該會如下圖所示:
    PART-2-STEP-6-zentyal-reverse-proxy-004
  6. 然後按下右上角的「Save changes」儲存設定即可。

Back End欄位設定 / Back End Fields

Back End要輸入的欄位很多,主要有三個部分:基本連線資訊、管理資訊、連接埠轉遞設定、其他資訊。

基本連線資訊 / Network Configuration Fields
欄位英文 欄位中文 舉例 說明
Enabled 啟用 [v] 有打勾才會生效
Domain Name 網域名稱 teach-workshop-vm-57-2014.dlll.nccu.edu.tw 要提供給外部連線的網域名稱
Bound Local DNS 綁定本地DNS [v] 有打勾才會一併設定Zentyal內部的DNS
Internal IP Address 內部區域網路IP位址 10.9.4.57 設定虛擬機器在區域網路中的IP位址
Network Card MAC Address 虛擬機器網路卡MAC位址 (略) 固定DHCP配給IP位址使用
Internal Port 連接埠 80 虛擬機器提供HTTP服務的連接埠,預設80
Redirect HTTP to HTTPS port forwarding 重新轉向到HTTPS [ ] 如果虛擬機器只提供HTTPS服務,勾選此項可以把HTTP連線轉向到HTTPS連接埠轉遞的連接方式
管理資訊 / Administration Fields
欄位英文 欄位中文 舉例 說明
Contact Name 聯絡人姓名 布丁 此虛擬機器的負責人
Contact Email 聯絡人電子信箱 pulipuli.chen@gmail.com 負責人聯絡E-mail
Description 描述 (HTML豐富文本) 敘述虛擬機器的欄位。此處我額外加入了TinyMCE編輯器,操作起來跟其他欄位不太一樣
Expiry Date 使用期限 2015/1/1 此虛擬機器使用的到期日
連接埠轉遞 / Port Forwarding Fields

連接埠轉遞分成HTTP、HTTPS、SSH、RDP四種服務。預設Back End會開啟這四種常用服務的連接埠轉遞,讓管理者方便用連接埠轉遞來連線到虛擬機器,使用預設值不需要特別修改就可以使用。這四種服務設定都大同小異,以下以HTTP的連接埠轉遞來舉例:

欄位英文 欄位中文 舉例 說明
Enable HTTP Redirect 啟用HTTP連接埠轉遞 [v] 啟用HTTP連接埠轉遞
Only For Administrator 限定管理者連線 [ ] 此連接埠轉遞只能限定「Administratrator Object」範圍的網路才能連線,提高安全性。其他三種服務預設都是開啟此項。
Enable Zentyal Log 啟用記錄功能 [ ] 啟用Zentyal原本的紀錄功能。不是重要的訊息不需要記錄。
HTTP External Port HTTP對外連接埠 Default: Based on IP address 根據IP地址產生對外連接埠,這點稍後再說明。
HTTP Internal Port HTTP對內連接埠 (Use reverse proxy internal port) 只有HTTP服務不能修改,跟上面的「Internal Port」綁在一起設定。其他服務都有預設的連接埠,而且可以修改。
HTTP Note HTTP服務備註 (略) 撰寫備註事項,像是登入帳號/密碼之類的。
其他資訊 / Other Fields

還有其他三項設定,說明如下:

 

欄位英文 欄位中文 舉例 說明
Other Redirect Ports 其他連接埠轉遞設定 (不能在此設定) 設定以上四種服務之外的連接埠轉遞,必須在新增Back End之後才能設定。
Create Date 建立日期 (系統自動產生) 此項設定建立的日期
Update Date 更新日期 (系統自動產生) 此項設定最近修改的日期
根據IP產生對外連接埠規則 / External Port Rule

以下說明連接埠產生的規則。DLLL-CIAS的對外連接埠是以5碼組成,前3碼代表虛擬機器的區域網路IP位址設定,後2碼表示服務的連接埠。

前3碼範圍為101~499,其第1位數字代表IP位址的第三部分第2位與第3位數字代表IP位址的第四部分。舉例來說,10.9.4.57,其前3碼即為457

後2碼範圍為00~99,其對應到各種服務的通訊協定使用的連接埠後2碼。在DLLL-CIAS中,常使用的通訊協定與簡略連接埠如下,XXX為前3碼:

通訊協定 對外連接埠 對內連接埠
HTTP XXX80 80
HTTPS XXX43 443
SSH XXX22 22
RDP XXX89 3389

因此以10.9.4.57的HTTP服務為例,其連接埠轉遞的連接埠號碼就是45780。


小結 / Conclusion

DLLL-CIAS網路管理伺服器的教學就差不多到此為止了。Zentyal提供了自行開發模組的功能,可以讓我隨心所欲地加入任何想要的網路功能進去,這點令人開心。可是Perl程式語言與Zentyal不太靈活的架構也讓我十分困擾,開發門檻並沒有想像中的簡單。不過弄到現在,也總算對Zentyal有一些了解。經過一年的使用經驗,也逐漸開發出各種其他功能。這篇沒有介紹Node、URL Redirect跟DNS則是我們自己管理在用的,一般人比較少用到,再此就不介紹了。

令人擔心的是,Zentyal在資料量大增之後,網頁管理介面的反應速度似乎有點慢了下來。不過基本網頁連線使用還是很正常,所以就先不在意了。

好,那繼續寫其他教學。