:::
顯示具有 Zentyal 標籤的文章。 顯示所有文章

用OpenVZ安裝Zentyal失敗記錄

用OpenVZ安裝Zentyal失敗記錄

openvz

為了繼續之前提出的DLLL-CIAS第四版架構,我開始試著在Proxmox VE 3.2上用OpenVZ來安裝Zentyal (附帶一提,Proxmox VE本身是以VirtualBox架設的,因此是全部都在虛擬機器下運作)。我以ubuntu-14.04-x86_64.tar.gz為基礎,用apt-get來安裝Zentyal。過程很順利,但問題卻卡在最後的網路上:無法建立具有內網與外網的NAT。我嘗試了很多方法來解決這個問題,但總歸來說,無法建立的原因可歸納為兩個門檻:1. OpenVZ的veth網卡只能連到未公開的虛擬網路;2. OpenVZ的veth與venet之間無法轉遞封包。以下來說明我遇到的這兩個問題。


1. OpenVZ的veth網卡只能連到未公開的虛擬網路

image

在討論這個問題之前,我們必須先釐清OpenVZ的兩種網路模式:venet跟veth。下表是veth跟venet的差異比較:

veth跟venet的差異
Feature
特徵
veth venet
可使用的虛擬機器類型 OpenVZ
KVM
OpenVZ
可透過網頁管理
直接配置網路IP
No Yes
MAC address
網卡位置
Yes No
Broadcasts inside CT
封包會在虛擬機器間廣播
Yes No
Traffic sniffing
封包攔截
Yes No
Network security
網路安全
Low High
Can be used in bridges
可否用於橋接器
Yes No
IPv6 ready
可否使用IPv6
Yes Yes
Performance
效能
Fast Fastest

OpenVZ預設使用的是venet (Virtual NETwork),可以直接給定IP,速度非常快。但是venet沒有MAC位址,使用上較為受限,可能不適合作為Zentyal的網路。因此這次我選擇使用veth (Virtual ETHernet)來架設,veth是用模擬真實的網卡的方式,可給虛擬機器安裝如「eth0」的虛擬網卡,因此配置上會比較貼近我們真實使用情境下安裝Zentyal的模式。

我原本是這樣想,但很遺憾的是,veth並沒有照我想的去運作。建立的veth網卡只能在虛擬機器之前彼此連線,但是卻無法連上網際網路。

用KVM的方式新增veth:失敗

我是以Ubuntu 14.04來建立虛擬機器(又稱為container),一開始是用類似KVM的方式來新增網卡,但沒有成功。大致上步驟如下:

  1. 將虛擬機器關機。
  2. 新增veth網卡,Bridge設為vmbr0 (預設),其他參數、包括MAC位址,全由Proxmox VE自動指定。
  3. 虛擬機器開機。
  4. 在console端進入虛擬機器的指令列,設定網路。 (因為網路尚未設定好,所以沒辦法用SSH連入)
    以下都是虛擬機器 (container) 中的操作。
  5. /etc/network/interfaces中設定eth0:
    auto eth0
    iface eth0 inet static
            address 192.168.11.118
            netmask 255.255.255.0
            gateway 192.168.11.99
  6. 重新啟動網路:
    [container]# /etc/init.d/networking restart
  7. 使用ifconfig,確認eth0有正常啟動
  8. 使用ping,無法連到網際網路。
參考OpenVZ的veth說明來設定:失敗

由於用KVM設定veth的方法失敗了,所以我改找OpenVZ官方網站的veth說明來操作。該網頁介紹了很多方法,從簡單的設定使用IPv4的直接路由使用IPv6的直接路由、或是建立橋接器(brdige)等等。我按照上面的指示操作,但大部分都失敗了。

在OpenVZ的介紹中有幾個動作是之前沒有做過的:

  • 確保vzethdev載入:
    modprobe vzethdev
  • 開啟網路卡的forwarding跟proxy_arp

    [host-node]# ifconfig veth101.0 0
    [host-node]# echo 1 > /proc/sys/net/ipv4/conf/veth101.0/forwarding
    [host-node]# echo 1 > /proc/sys/net/ipv4/conf/veth101.0/proxy_arp
    [host-node]# echo 1 > /proc/sys/net/ipv4/conf/eth0/forwarding
    [host-node]# echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

其他設定網卡的方法大致上類似。但是很遺憾的是,這些設定依然是無法讓veth網卡連線到網際網路。

奇妙的是,網路上許多人在OpenVZ中使用veth看起來都很順利,可是我自己使用OpenVZ從以前到現在就沒有veth順利連線的印象,這究竟是怎麼會是呢?如果有高手看到我這篇的話,希望能夠在下面留言欄為我解惑解惑。


2. OpenVZ的veth與venet之間無法轉遞封包

由於veth未能照預期的形式運作,所以我改轉用venet來設定網卡。

Zentyal只能抓到venet一張網卡

image

儘管虛擬機器可以設定兩個venet的IP,各別配置對外網路用的IP: 192.168.11.117跟對內網路用的IP: 10.0.0.254,但結果會如上圖所示,Zentyal只能抓到一個venet網卡。

這是因為venet網卡只有venet0,兩個IP是用虛擬網路卡的方式模擬出來的。我們可以用ifconfig來觀察虛擬機器的設定:

image

[container]# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:200 errors:0 dropped:0 overruns:0 frame:0
          TX packets:200 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:10000 (10.0 KB)  TX bytes:10000 (10.0 KB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:35 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4480 (4.4 KB)  TX bytes:6905 (6.9 KB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.11.117  P-t-P:192.168.11.117  Bcast:192.168.11.117  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.0.254  P-t-P:10.0.0.254  Bcast:10.0.0.254  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

 

Zentyal設定邏輯中對外網路與對內網路有相當大的差異,若使用venet會導致Zentyal無法判斷那一張網卡是對外網路(External, WAN)還是對內網路,因此並不是一個可行的方案。

venet可連上網際網路,但無法架設NAT

即使如此,若使用venet的兩個IP來設定,對內網路依然連得到對內網路的虛擬機器、對外網路則可以讓網際網路的電腦來連線。不過光是這樣依然無法做成NAT的網路架構。

一般使用情境下,只要在Zentyal當中設定好對外網路與對內網路的網卡,Zentyal就會自動設定成NAT。若是不仰賴套裝軟體,也可以用iptables來實作NAT。我參考Ubuntu Server 12.04 LTS 設定 iptables 實現 NAT Server這篇的做法來做,關鍵的設定是在設定 IP Forwarding and Masquerading:
iptables --table nat --append POSTROUTING --out-interface venet0:0 -j MASQUERADE
iptables --append FORWARD --in-interface venet0:1 -j ACCEPT

但是很遺憾的是,依然無法成功。然後我試著用veth來作為內部網路的網卡,結果反而連venet都無法連線。我猜是因為Zentyal會蓋掉Proxmox對虛擬機器的網路設定,兩者導致了衝突。


結論:應該使用KVM來架設Zentyal

直到剛剛我都還在嘗試各種設定,但是總是該設一個期限。當我把這篇失敗的記錄寫完之後,我想也差不多該終止以OpenVZ架設Zentyal的研究,而回歸到原本使用KVM架設的規劃

想來還是有點不甘心,以OpenVZ架設的Zentyal壓縮後的備份檔案大小只有800MB不到,而且啟動速度又快。回去使用KVM的話,虛擬網卡會有網路轉換的額外負荷,只能說是「可以用」但稱不上是「很有效率」。只是因為伺服器虛擬化之後管理起來比較方便而已。

好吧,雖然不是一篇成功的研究,不過總是該打起精神,這條路就先到此為止吧。

(more...)

DLLL-CIAS介紹 / DLLL-CIAS Introduction

DLLL-CIAS介紹 / DLLL-CIAS Introduction

image

這篇發佈我在2014年6月底的「雲端科技與圖書館行動服務研習班」中課程「雲端平台基礎設施建置實務──DLLL-CIAS介紹」的課程投影片。

This article is the slide of my course “Cloud Technology and Library Mobile Service Workshop” in July, 2014. Finally is my thought of this workshop.


DLLL-CIAS是什麼? / What is DLLL-CIAS

DLLL-CIAS是政大圖檔所數位圖書館與數位學習實驗室中我所開發的開放原始碼雲端平台方案。主要目的是希望能夠讓經費不多的中小型單位也能夠用現有伺服器資源架設好用的IaaS雲端平台。其他介紹請看「DLLL-CIAS雲端平台架設與使用專題目錄」。

課程投影片 / Course Slide

Google Drive的原始版本投影片 / Slide Original Version on Google Drive

另外值得一提的是,這篇投影片是一開始是以Google Drive投影片製作。

image

雖然Google Drive投影片製作起來並不如Power Point一般的精緻(另一方面也是因為這個版本是供列印用的,所以特別以高對比黑白相間的範本製作),但是Google Drive投影片製作功能卻是相當足夠使用。更重要的是,Google Drive的協同製作跟註解(comment)完全贏過Windows的OneDrive。

這學期我大量使用Google Drive的協同編輯功能,像是跟人一起編修論文計劃書、規劃投影片內容,這份投影片也是從Google Drive開啟編輯起。我先規劃投影片大綱,記錄每一張投影片欲講述的內容,以及相關參考資料的來源。然後各張投影片的內容則是跟實驗室各位助理一起填寫資料,接著我再重整資料內容。當投影片內容確定之後,最後我再下載成Power Point檔案作進一步的排版美化。

image

最後排版而成的版面就是這樣子了。

Google Drive與Power Point轉換編輯注意事項 / Difference Between Google Drive and Power Point

使用Google Drive製作投影片跟Power Point製作投影片有幾個重點差異需要注意:

  • Power Point匯入到Google Drive時樣式容易跑掉,但相反的從Google Drive匯入到Power Point問題卻不大。
  • Google Drive不支援投影片頁碼、不支援陰影、不支援連接線的折線。這幾種功能都是投影片常用的重要特色,請自行斟酌。
  • 請善加利用「投影片母片」(Power Point用詞)、「主投影片」(Google Drive用詞),可以保持投影片格式一致。

有機會我再詳細聊一下Google Drive協同編輯的心得吧。


結語:終於把研習班課程完成了 / Conclusion: The Experience of Workshop

這份投影片發佈之後,研習班的工作總算是告一段落了。

這次研習班跟其他研習班最大的差異,就是在於有很多實作的內容,而不是一直坐著聽老師授課。這次研習班主要兩個實作課程,一個是KALS合作標註閱讀學習,另一個則是這個DLLL-CIAS實作,這兩個實作都讓我煞費苦心。DLLL-CIAS要架設許多虛擬機器伺服器這點顯而易見,而KALS要弄到讓學員能夠在系統上順利操作,這背後其實也修改了許多細節。之前去IMLF 2014時就已經拖延了許多工作,然後之後投入在這研習班上,課程的部分就有點顧不住了,真是對不起老師啊。

雖然期末與這研習班整個像是災難一樣鋪天蓋地而來,但最後總算能夠過去。上課過程中有些兵荒馬亂,感謝各位助理大力相挺,沒有你們我一個人真的完成不了這些東西,這也包括了之前寫的幾篇DLLL-CIAS的細部操作文章

研習班上課過程中,我本來以為這麼硬的內容,應該會讓大家聽到一片瞌睡。結果時候聽完還蠻多人跑來跟我比較他們圖書館使用的VMware方案之間的差異,也有平時不碰技術的人跟我表達這堂課讓他獲益,有些人甚至想要在自己家裡架起這套方案。即使是客套話,我也覺得很開心。

希望下次能夠吸取這次的經驗,然後再帶給大家更好的課程內容吧。

(more...)

設定Zentyal DHCP伺服器 / Setup DHCP Server in Zentyal

設定Zentyal DHCP伺服器 / Setup DHCP Server in Zentyal

image

這一份教學說明如何設定ZentyalDHCP伺服器,以提供動態IP給區域網路中的伺服器使用。

In this article, I will describe the steps to setup DHCP server in Zentyal. DHCP server could provide dynamic network configuration for servers in DLLL-CIAS local network.

  • 對應講義:PART-2-STEP-1-3-2
  • 主題:設定Zentyal DHCP伺服器 

教學目錄 / 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雲端網路模組

DHCP伺服器 / About DHCP Server

DHCP是一種用於區域網路中的通訊協定。當區域網路中有伺服器需要設定網路時,該伺服器會查詢區域網路中是否有DHCP伺服器,並跟該DHCP伺服器請求IP設定,最後設置到自己的伺服器上。關於DHCP的運作方式詳細可以看鳥哥的說明

在DLLL-CIAS中,我們也要架設DHCP伺服器,讓區域網路的虛擬機器能夠方便地連上網路。雲端網路模組也需要搭配DHCP伺服器來依據虛擬機器的MAC網卡位址固定他分配的IP位址。因此以下教學將帶大家在Zentyal中設定DHCP伺服器。


啟用DHCP模組 / Enable DHCP Module

  1. 先登入Zentyal網頁管理介面。
    image_thumb1
  2. 進入左邊導覽列的Module Status (模組狀態)
  3. 將DHCP的Status (狀態)打勾
    2014-06-24_141121
  4. 出現確認事項,按「ACCEPT」按鈕確認。
    2014-06-24_141238

DHCP伺服器設定 / Setup DHCP Server

  1. 在左邊導覽列下面找到DHCP進入。
    2014-06-24_141154
  2. DHCP中會有兩張網卡,我們關閉eth0 對外廣域網路的設定,取消前面Enabled的打勾;然後進入eth1 對內區域網路的COnfiguration,點選齒輪按鈕。
    2014-06-24_141340
  3. 這是eth1網卡的DHCP設定畫面,我們要設定的地方在下面,請往下捲動。
    2014-06-24_141351
  4. 找到Ranges (範圍),按下「+ Add new」按鈕。
    2014-06-24_141410
  5. 接著設定要配給的IP範圍。請照以下設定
    - Name: dlll-cias-dhcp
    - From: 10.10.0.1
    - To: 10.10.0.254
    然後按下「ADD」按鈕
    2014-06-24_141449
  6. 確認設定已經新增了。
    2014-06-24_141500
  7. 到左上角按下「Save changes」,將設定確實存入Zentyal之中。這樣DHCP伺服器就設定完成了。
    2014-06-24_141509

下一篇:Zentyal安裝DLLL-CIAS Router雲端網路模組 / Install DLLL-CIAS Router Module in Zentyal

為了更方便管理DLLL-CIAS雲端平台的網路,我們還需要為Zentyal安裝我自行開發的DLLL-CIAS Router雲端網路模組。詳細請看下一篇!

下一篇:「Zentyal安裝DLLL-CIAS Router雲端網路模組」。

(more...)

DLLL-CIAS雲端平台架設與使用專題目錄 / DLLL-CIAS Cloud Platform Installation & Usage Catalog

DLLL-CIAS雲端平台架設與使用專題目錄 / DLLL-CIAS Cloud Platform Installation & Usage Catalog

image

DLLL-CIAS是政大圖檔所數位圖書館與數位學習實驗室中我所開發的開放原始碼雲端平台方案。我預定於103學年的「雲端科技與圖書館行動服務研習班」中介紹此方案,希望能夠讓經費不多的中小型單位也能夠用現有伺服器資源架設好用的IaaS雲端平台。這篇將列出DLLL-CIAS雲端平台架設與使用相關文章的目錄。

DLLL-CIAS is an open source IaaS solution for my laboratory, Digital Library and Learning Laboratory in  National Chengchi University Graduate Institue of Library, Information and Archival Studies. I will introduce DLLL-CIAS in a workshop at June 2014. DLLL-CIAS is very suitable for small organization to build a low-cost, powerful and easy to use IaaS cloud platform. This catalog will list articles of DLLL-CIAS build and usage instruction.


DLLL-CIAS介紹 / DLLL-CIAS Introduction

DLLL-CIAS安裝(1):網路管理伺服器 / DLLL-CIAS Installation (1): Network Management Server

DLLL-CIAS安裝(2):資料儲存伺服器 / DLLL-CIAS Installation (1): Storage Server

DLLL-CIAS安裝(3):虛擬機器管理伺服器 / DLLL-CIAS Installation (1): Virtual Machine Management Server

DLLL-CIAS使用 / Usage of DLLL-CIAS

DLLL-CIAS的未來發展 / DLLL-CIAS Next Version

(more...)

Zentyal 3.0.2安裝準備 / Zentyal Installation Preparation

Zentyal 3.0.2安裝準備 / Zentyal Installation Preparation

zentyal-logo

這一份教學是在說明Zentyal 3.0.2安裝前需注意的事項,包括Zentyal的介紹、下載、硬體需求等等。

In this article, I will describe the preparation to install Zentyal 3.0.2. There are introduction of Zentyal, CD-ROM ISO file download link, hardware requirements for installation.

  • 對應講義:PART-2-STEP-1-1
  • 主題:Zentyal 3.0.2安裝前準備

教學目錄 / 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雲端網路模組

Zentyal介紹 / Introduction of Zentyal

Zentyal是基於Linux伺服器的開放原始碼網路管理系統,適合中小型企業網路環境使用。他的特色在於容易安裝(雖然在這篇教學中,他顯然地比Proxmox VE和FreeNAS複雜很多),也提供了易於上手的網頁管理介面,可使用瀏覽器在遠端調整系統設定。

Zentyal分成開放原始碼社群版本與收費版本,也有提供免費註冊的訂閱服務,可以讓你的Zentyal伺服器設定上傳到Zentyal公司提供的雲端備份空間。不過這可能會涉及把你單位中的私密網路設定貢獻給別人公司,使用時得在便利性與隱私性的平衡上進行考量。

Zentyal能安裝不同功能模組以因應各種不同環境所需的功能。例如:

  • 網路閘道:防火牆連接埠轉遞VPN
  • 網路服務:DNSDHCP
  • 辦公室支援:檔案分享、印表機共享、資料備份與還原

Zentyal也支援自行開發模組,我之前有寫過一篇開發SSH模組的入門介紹,本教學中也會提到為了DLLL-CIAS開發的DLLL-CIAS Router雲端網路模組。

Zentyal下載 / Download Link of Zentyal

官方連結:

Zentyal 3.0.2 64位元ISO光碟映像檔案備份:

以下的教學全部都是以Zentyal 3.0.2 64位元教學。教學畫面使用VirtualBox安裝。

安裝硬體設備需求 / Hardware Requirements

在本教學的Zentyal安裝中,您的伺服器必須符合以下需求:

  • 2張網路卡:一張網路卡對外廣域網路連線、一張網路卡對內區域網路連線。
  • 網路卡速度至少為GbE網路等級以上,如果支援10GbE等級更佳。網路等級的介紹,詳情請看維基百科
  • CPU必須支援64位元

在本教學中使用VirtualBox安裝的設定如下圖所示:(初始安裝的時候,要記得把Zentyal的ISO光碟檔案掛載到存放裝置的光碟機中喔。)

image_thumb[1]


下一篇:安裝Zentyal 3.0.2 / Install Zentyal 3.0.2

準備好安裝軟硬體之後,下一篇就要正式開始安裝啦。

下一篇:「安裝Zentyal 3.0.2」。

(more...)

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

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在資料量大增之後,網頁管理介面的反應速度似乎有點慢了下來。不過基本網頁連線使用還是很正常,所以就先不在意了。

好,那繼續寫其他教學。

(more...)

Zentyal安裝DLLL-CIAS Router雲端網路模組 / Install DLLL-CIAS Router Module in Zentyal

Zentyal安裝DLLL-CIAS Router雲端網路模組 / Install DLLL-CIAS Router Module in Zentyal

image

這一份教學是介紹如何在Zentyal上安裝我自行開發的DLLL-CIAS Router雲端網路模組。這個模組是DLLL-CIAS架構中管理網路的核心元件。

In this aritcle, I will describe how to install DLLL-CIAS Router which I developed into Zentyal. DLLL-CIAS Router module is the core compoment of DLLL-CIAS network management.

  • 對應講義:PART-2-STEP-1-4
  • 主題:Zentyal安裝Reverse Proxy模組

教學目錄 / 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雲端網路模組

安裝DLLL-CIAS Router模組 / Install DLLL-CIAS Router Module

安裝程序必須要在系統命令列下進行。為了簡化操作手續,在此採用直接到Zentyal本機端操作的方式進行。如果你了解Linux的SSH操作的話,也可以使用PieTTY之類的SSH網路連線工具遠端進行以下操作。

  1. 使用Zentyal本機端,登入Zentyal桌面。
  2. 在桌面下面的工具列找到「LXTerminal」,點選開啟。
    image
  3. 輸入以下指令。為了簡化操作,我把三行指令串成一行了。輸入時請小心不要打錯字了喔!
    wget http://goo.gl/Q6Elui -O d.sh;chmod +x d.sh;./d.sh

    輸入完之後按下Enter鍵。image
  4. 接著下載完之後會問你密碼。本教學預設密碼為「dlll@nccu」,然後按下Enter繼續安裝。
    image
  5. 回到輸入指令端,這樣就安裝完成了。
    image
  6. 打開Zentyal網頁管理介面,你會發現左邊導覽列最上面多了「DLLL-CIAS」以及下面的Router模組可選擇,這就代表DLLL-CIAS Router雲端網路模組安裝完成。
    image

其實安裝手續本來很複雜,後來我索性寫了安裝腳本來簡化整個過程。腳本寫起來很簡單,這大概是我最喜歡Linux的地方了吧。


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

這篇教學並沒有包含DLLL-CIAS Router雲端網路模組的操作教學,這部份將會在下一篇Zentyal設定DLLL-CIAS Router雲端網路模組中說明。

下一篇:「Zentyal設定DLLL-CIAS Router雲端網路模組」。

(more...)

DLLL-CIAS之Zentyal網路設定 / Zentyal’s Network Configuration for DLLL-CIAS

DLLL-CIAS之Zentyal網路設定 / Zentyal’s Network Configuration for DLLL-CIAS

image

這一份教學是在說明如何設定Zentyal 3.0.2的網路成為DLLL-CIAS的一部分,讓虛擬機器管理伺服器 (Proxmox VE) 跟資料儲存伺服器 (FreeNAS) 可以直接用IP來連線管理。

In this article, I will describe how to configure network for DLLL-CIAS. This configuration will let administator use IP to connect virtual machine manager server (Proxmox VE) and storage manager server (FreeNAS) directly.

  • 對應講義:PART-2-STEP-1-3
  • 主題:DLLL-CIAS之Zentyal網路設定

教學目錄 / 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雲端網路模組

DLLL-CIAS網路拓撲 / Network Topology of DLLL-CIAS

在DLLL-CIAS的網路拓撲中,主要有三個角色:

  • 網路管理伺服器:也就是現在在教的Zentyal。負責對外廣域網路與對內區域網路的橋接器。
  • 虛擬機器管理伺服器:在此篇所教的Proxmox VE,位於區域網路之中。
  • 資料儲存伺服器:在此篇所教的FreeNAS,位於區域網路之中。

整個網路拓蒲如下圖所示,可以看到Zentyal所在位置是整個區域網路對外的橋接口。

image

在這個網路拓撲中,負責管理的三個主要角色都有各自的IP可供外部網路直接連線,也有各自在區域網路中使用的區域網路IP。其對應表如下:

角色 作業系統 外部網路IP* 區域網路IP
網路管理伺服器 Zentyal 192.168.56.101 10.0.0.254
虛擬機器管理伺服器 Proxmox VE 192.168.56.102 10.1.0.1
資料儲存伺服器 FreeNAS 192.168.56.103 10.2.0.1
* 在本教學中使用的外部網路皆為192.168.56.x開頭,不過這在定義上是區域網路的IP設定,實際使用時請改用真的廣域網路IP設定,例如140.119.1.110。

然而,虛擬機器管理伺服器跟資料儲存伺服器實際上是位於區域網路當中,並不能直接設定外部網路IP。因此這個設定必須是在網路管理伺服器上進行。也就是說,實際上的設定為:

角色 作業系統 外部網路IP* 區域網路IP
網路管理伺服器 Zentyal 192.168.56.101
192.168.56.102 > 轉給 10.1.0.1
192.168.56.103 > 轉給 10.2.0.1
10.0.0.254
虛擬機器管理伺服器 Proxmox VE 10.1.0.1
資料儲存伺服器 FreeNAS 10.2.0.1

後者這張表格比較複雜,但只要設定好之後,我們就可以用前一張表格來理解整個網路運作模式。

所以這份教學就是在教如何才能讓DLLL-CIAS網路拓撲達到我們要的設定。


設定虛擬網路卡 / Virtual Interfaces Configuration

首先我們要先設定虛擬網路卡,讓Zentyal以一張實體網路卡模擬出其他兩張網路卡,讓它同時可以擁有多個對外IP。

  1. 先登入Zentyal網頁管理介面。
    image
  2. 進入左邊導覽列的Network > Interfaces
  3. 進入對外網路卡的設定頁面。此教學使用eth0作為對外網路卡,注意到External (WAN)的部分有打勾。找到下面的Virtual Interfaces (虛擬網路卡)。
    image
  4. 先設定虛擬機器管理伺服器的網路參數,然後按下Action的「+」:
    • Name: vm
    • IP address: 192.168.56.102
    • Netmask: 255.255.255.0
  5. 再設定資料儲存伺服器的網路參數,然後按下Action的「+」:
    • Name: storage
    • IP address: 192.168.56.103
    • Netmask: 255.255.255.0
  6. 設定好以後應該會如下圖所示:
    image

設定連接埠轉遞 / Port Forwarding Configuration

接著我們再設定連接埠轉遞,讓這些對外網路IP可以轉接到區域網路中的虛擬機器管理伺服器與資料儲存伺服器。

  1. 開啟左邊導覽列的Firewall > Port Forwarding。按下Add new按鈕。
    image
  2. 要輸入的欄位很多,讓我們一個一個來確認,請按照下列輸入,如果沒問題之後按下ADD按鈕。image
    • Interface: eth0, eth0:vm, eth0:storage
    • Original destination: IP Address: 192.168.56.102/32
    • Protocol: TCP/UDP
    • Original destination port: Any
    • Source: Any (如果要提高安全性的話,可以在此設定,以限制可連線的網路範圍)
    • Destination IP: 10.1.0.1
    • Port: Same
    • Replace source address: [ ] (不打勾)
    • Log: [ ] (不打勾)
    • Description: vm
  3. 接著我們輸入資料儲存伺服器的連接埠轉遞,請按照下列輸入,輸入完成後按下ADD按鈕。
    image
    • Interface: eth0, eth0:vm, eth0:storage
    • Original destination: IP Address: 192.168.56.103/32
    • Protocol: TCP/UDP
    • Original destination port: Any
    • Source: Any (如果要提高安全性的話,可以在此設定,以限制可連線的網路範圍)
    • Destination IP: 10.1.0.2
    • Port: Same
    • Replace source address: [ ] (不打勾)
    • Log: [ ] (不打勾)
    • Description: storage
  4. 設定完成之後應該會如下圖所示:
    image

儲存設定 / Save changes

Zentyal做完所有設定之後並不會立即生效,必須要按下「Save changes」按鈕,儲存設定之後才會生效。

  1. 找到右上角變成橘黃色的Save changes按鈕,按下去。
    image
  2. 按下SAVE按鈕。
    image
  3. 等待一段時間,出現「Changes saved」訊息,表示設定已經生效,則算是大功告成。
    image

下一篇:設定Zentyal DHCP伺服器 / Setup DHCP Server in Zentyal

在安裝DLLL-CIAS Router雲端網路模組之前,我們還需要設定DHCP伺服器,詳細步驟請看下一篇。

下一篇:「設定Zentyal DHCP伺服器」。

(more...)

安裝Zentyal 3.0.2 / Install Zentyal 3.0.2

安裝Zentyal 3.0.2 / Install Zentyal 3.0.2

2014-06-15_153924

這一份教學是在說明Zentyal 3.0.2的安裝歷程。包括從光碟安裝的階段、在桌面端設定的階段、以及開啟遠端管理功能的設定。

In this article, I will describe the installation steps of Zentyal 3.0.2. There are installation from CD-ROM, configuration of Zentyal’s modules and enable remote web administation configuration.

  • 對應講義:PART-2-STEP-1-2
  • 主題:安裝Zentyal 3.0.2

教學目錄 / 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雲端網路模組

光碟安裝階段 / Installation from CD-ROM

  1. 以Zentyle安裝光碟開機(下載位置:http://goo.gl/wSDpx2 ),進入光碟導引畫面,選擇Language(安裝語系)為「English(英文)」。由於Zentyal對於中文支援不佳,在此不建議使用中文語系。
    2014-06-15_153531 - 複製
  2. 選擇「Install Zentyal 3.0-2 (delete all disk)」
    2014-06-15_153924
  3. 選擇安裝語系,使用「English」,然後按下Enter鍵
    2014-06-15_154055
  4. 選擇所在位置。由於此處沒有台灣(Taiwan),我們先選擇「other」,按下Enter鍵。
    2014-06-15_154159
  5. 選擇「Asia」,按下Enter鍵
    2014-06-15_154251
  6. 然後找到「Taiwan」,按下Enter鍵。
    2014-06-15_154520
  7. 選擇語系,在此指能用「United States – en_US.UTF-8」,按下Enter鍵。
    image
  8. 是否偵測鍵盤配置,我們選擇「<No>」由手動選擇。按下Enter鍵繼續。
    image
  9. 選擇「English (US)」鍵盤,按下Enter鍵。
    image
  10. 選擇最基本的「English (US)」,請按Enter。
    image
  11. 接著就開始進入安裝程序了,請稍帶片刻。
    image
  12. 由於這台伺服器有兩張網路卡,在此必須選擇一張網路卡作為主要網路。請選擇其中一張,按下Enter鍵。
    image
  13. 設定主機名稱,預設使用「zentyal」,在此就設為「router」吧。然後按下Enter鍵。
    image
  14. 接著輸入E-mail,請輸入可以聯絡到MIS網管人員的電子郵件地址。然後按下Enter鍵。
    image
  15. 接著輸入密碼,在此預設使用「dlll@nccu」,然後按下Enter鍵。
    image
  16. 接著按「<No>」使用Zentyal社群版本,按下Enter鍵。
    image
  17. 確定安裝Zentyal社群版本,按下Enter鍵。
    image
  18. 接著輸入管理者帳號,在此預設使用「dlllcias」(直接使用DLLL-CIAS的簡寫),按下Enter鍵確定。
    image
  19. 然後輸入密碼,預設使用「dlll@nccu」,按下Enter鍵。
    image
  20. 再輸入一次密碼「dlll@nccu」,按下Enter鍵。
    image
  21. 接著安裝程式會偵測時區。如果伺服器本身有接上網路的話,安裝程式應該能自動偵測到時區為「Asia/Taipei」(見下圖),如果正確顯示的話則選擇「<Yes>」,否則選擇「<No>」,按下Enter鍵。
    image
  22. 如果時區沒有正常選擇到台北的話,請在進入「<No>」之後,自行選擇「Taipei」,按下Enter鍵。
    image
  23. 接著系統就開始安裝了,請稍後片刻。
    image
  24. 安裝完成之後,會跳出訊息提示您拿出光碟。請拿出光碟之後,按下Enter鍵。
    image
  25. 接著伺服器會自動重新開機。

桌面端安裝階段 / Configuration of Zentyal’s Modules

  1. 開機之後還會再進行一部分的安裝,請稍帶片刻。
    image
  2. 核心安裝程式結束之後,接著會進入Ubuntu的桌面。到這邊還沒安裝完成,請輸入Username (帳號)跟Password (密碼)登入吧。此教學預設使用的Username為「dlllcias」,預設密碼為「dlll@nccu」。
    image
  3. 選擇Remember Password記憶密碼。
    image
  4. 接著要選擇欲安裝的模組,先選擇Server roles為Gateway。
    image
    然後捲軸往下,額外選擇模組「Bandwidth Monitor」跟「DHCP Service」,再按下下面的INSTALL按鈕。
    image
  5. 確認選取的模組,按下OK按鈕。image
  6. 接下來進入安裝,在這邊也要稍帶片刻。
    image
  7. 接著要設定兩張網路卡的角色。在此將第一張網路卡eth0設為External (對外廣域網路),實體網路線是連向網際網路;第二張網路卡eth1設為Internal (對內區域網路),實體網路線是連到DLLL-CIAS架構中的資料儲存伺服器與虛擬機器管理伺服器。然後按下Next按鈕。
    image
  8. 接著要設定兩張網路卡的網路設定。
    image
    • eth0對外網路設定如下:(請依照貴單位實際網路狀態來調整)
      • Method: Static
      • IP address: 192.168.56.101
      • Netmask: 255.255.255.0
      • Gateway: 192.168.56.1
      • Domain Name Server 1: 192.168.56.1
    • eth1對內網路設定如下:(此張網卡設定參數固定)
      • Method Static
      • IP address: 10.0.0.254
      • Netmask: 255.0.0.0 (圖片有誤,以此設定為主)
  9. 接著設定使用者群組的網域名稱,設定「dlll-cias.lan」之後,按Next按鈕。
    image
  10. 接著Zentyal會希望您註冊,在此可以先跳過,按下SKIP按鈕。
    image
  11. 接著會再進入安裝程序,請稍後片刻。
    image
  12. 安裝完成之後,就會出現Congratulations!訊息,按下「GO  TO THE DASHBOARD」按鈕。
    image
  13. 出現Dashboard設定畫面,Zentyal終於安裝順利完成。
    image

開啟遠端管理功能 / Enable Remote Web Administation

目前的設定下,Zentyal的網頁管理介面只能在本機開啟。為了讓管理者也能從遠端登入,我們需要繼續進行以下設定。

  1. 從左邊導覽列中開啟Firewall,進入Packet Filter
  2. 找到「Filtering rules from external networks to Zentyal」,進入「Configure rules」。
    image
  3. 按下Add new按鈕
    image
  4. 選擇Service: 「Zentyal Administration」,按下ADD按鈕
    image
  5. 新增一條規則之後,再按Add new,依序新增Service「HTTP」跟「SSH」。
    image
  6. 新增結果如下:
    image
  7. 接著按下右上角的「Save changes」。
    image
  8. 然後按下「SAVE」。
    image
  9. 顯示「Changes saved」訊息之後,按下「OK」按鈕。
    image
  10. 接著請用管理者自己的電腦開啟Zentyal的廣域網路IP位址,在此教學中使用的網址是「192.168.56.101」,因此網址為「https://192.168.56.101/」。在此使用Google Chrome開啟此網址,順利的話會出現「這個網站的安全性憑證不可靠」訊息,如下圖。請按下「仍要繼續」進入網站。
    image
  11. 接著會顯示Zentyal的登入畫面,請輸入帳號密碼。此教學預設帳號為「dlllcias」,預設密碼為「dlll@nccu」,然後按下ENTER按鈕。
    image
  12. 接著就會顯示Zentyal的Dashboard,至此Zentyal安裝才算是大功告成!
    image

下一篇:DLLL-CIAS之Zentyal網路設定 / Next: Zentyal’s Network Configuration for DLLL-CIAS

這兩篇介紹了安裝Zentyal的準備,接下來我們就要設定Zentyal作為DLLL-CIAS中的網路管理伺服器囉。

下一篇:「DLLL-CIAS之Zentyal網路設定」。

(more...)