智慧型網路控管和還原系統 -...

70
崑山科技大學 資訊傳播系 專題成果報告 智慧型網路控管和還原系統 Intelligent Network Control and Recovery System 指導老師:蔡德明 老師 專題組員:林佳辰 陳星宇 邱鈺翔 中華民國 一OO 十三

Upload: others

Post on 14-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

崑山科技大學

資訊傳播系

專題成果報告

智慧型網路控管和還原系統 Intelligent Network Control and Recovery System

指導老師:蔡德明 老師

專題組員:林佳辰

陳星宇

邱鈺翔

中華民國 一OO 年 四 月 十三 日

Page 2: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。
Page 3: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

I

目 錄 摘要 ...........................................................................................................................1 壹、前言 ...................................................................................................................2

1.1 研究背景 ..................................................................................................... 2 1.2 研究目標 ..................................................................................................... 3

貳、文獻回顧 ...........................................................................................................4 2.1 電腦教室學生端電腦系統的維護與管理模式 ........................................... 4

2.1.1 還原卡硬體 ...................................................................................... 4 2.1.2 Ghost還原 ......................................................................................... 4 2.1.3 LTSP (Linux Terminal Server Project) ................................................ 4 2.1.4 ROYSWNG (RecOverY—SoftWareNG) ........................................... 5 2.1.5 再生龍(clonezilla) ............................................................................ 5 2.1.6 企鵝龍 DRBL ................................................................................... 6

2.2 網路還原系統常用作業系統與協定簡介 ................................................... 7 2.2.1 Linux ................................................................................................. 7 2.2.2 PXE ................................................................................................... 7 2.2.3 ARP ................................................................................................... 7 2.2.4 傳輸協定(tcp、udp) ......................................................................... 8

2.3 電腦教室常見的資安問題,該如何改善 ................................................... 8 2.3.1 P2P .................................................................................................... 8 2.3.2 網路流量監控 .................................................................................. 8

參、研究方式 ...........................................................................................................9 3.1還原系統建置 .............................................................................................. 9

3.1.2 DHCP server 建置 .......................................................................... 11 3.1.3 TFTP建置 ....................................................................................... 12 3.1.4 建置 NFS server ............................................................................. 13 3.1.5 kickstart 建置 .................................................................................. 14

3.2 防火牆 ....................................................................................................... 17 3.2.1防火牆設定 ..................................................................................... 17

3.3 proxy建置 ................................................................................................. 18 3.3.1瀏覽器之瀏覽目標監控與管制:proxy .......................................... 18 3.3.2 proxy server之套件安裝及設定 ..................................................... 19 3.3.3 transparent proxy ............................................................................. 22

3.4網頁流量紀錄 sarg ..................................................................................... 23 3.5建置教室管理系統 .................................................................................... 25

3.5.1建置 www server ............................................................................. 25 3.5.2安裝 www server所需軟體 ............................................................. 26

Page 4: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

II

3.5.3賦予網頁使用者權限 ...................................................................... 26 3.5.4 Master WWW Server ....................................................................... 26 3.5.5資料庫 ............................................................................................. 26 3.5.6網頁架構圖 ..................................................................................... 27 3.5.7 Slave WWW Server ......................................................................... 28 3.5.8 程式腳本 ........................................................................................ 29

肆、研究成果 ......................................................................................................... 30 4.1還原系統 .................................................................................................... 30

4.1.1 用戶端 Linux管理系統之快速安裝 .............................................. 30 4.1.2單機還原視窗化介面 ...................................................................... 31 4.1.3網路大量還原 ................................................................................. 31 4.1.4還原系統的比較 .............................................................................. 33

4.2 教室管理系統 ........................................................................................... 33 4.2.1 教室課程管理系統 ......................................................................... 33 4.2.2 管理者 ............................................................................................ 35 4.2.3 教師端/學生端 ............................................................................... 38 4.2.4教室網路管理系統 .......................................................................... 40

伍、結論 ................................................................................................................. 45 陸、參考文獻 ......................................................................................................... 46 附錄 A 資料庫結構表 ............................................................................................ 47 附錄 B PXE & Kickstart 網路還原程式腳本 ......................................................... 50 附錄 C 單機還原視窗化程式 ................................................................................. 57 附錄 D Multicast快速大量還原程式 ...................................................................... 63

Page 5: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

III

圖 目 錄 圖 2-1 Clonezilla開機畫面 ........................................................................ 6 圖 3-1 PXE還原系統建置 ......................................................................... 9 圖 3-2 防火牆架構圖 .............................................................................. 17 圖 3-3 proxy server運作流程 ................................................................... 19 圖 3-4 transparent proxy轉換過程 ........................................................... 22 圖 3-5 教室管理系統架構圖 ................................................................... 25 圖 3-6 Master網頁架構圖 ....................................................................... 27 圖 3-7 Servant網頁架構圖 ...................................................................... 28 圖 4-1 PXE網路安裝過程 ....................................................................... 30 圖 4-2 以用戶端 Linux管理系統進行單機還原之操作介面 ................. 31 圖 4-3 網路大量還原現場....................................................................... 31 圖 4-4還原系統比較 ............................................................................... 33 圖 4-5 『教室課程管理系統』網頁樹狀圖 ............................................ 33 圖 4-6 網路管理系統-登入介面.............................................................. 34 圖 4-7 網路管理系統-註冊介面.............................................................. 34 圖 4-8 後端-教師名單管理 ..................................................................... 35 圖 4-9 後端-學生名單管理 ..................................................................... 35 圖 4-10 後端-教室名稱管理 ................................................................... 36 圖 4-11 後端-課程管理 ........................................................................... 37 圖 4-12 後端-課程時間選擇 ................................................................... 37 圖 4-13 後端-錯誤回報總表 ................................................................... 37 圖 4-14 教師/學生端-錯誤回報頁面 ....................................................... 38 圖 4-15 教師/學生端-密碼修改頁面 ....................................................... 38 圖 4-16 教師端-學生坐位表 ................................................................... 39 圖 4-17 教師端-學生註冊資料管理 ........................................................ 39 圖 4-18 教師端-學生點名單頁面 ............................................................ 40 圖 4-19 教室電源管理頁面 ..................................................................... 40 圖 4-20 電腦狀態-關機 ........................................................................... 41 圖 4-21 電腦狀態-使用Windows作業系統 ........................................... 41 圖 4-22電腦狀態-使用 Linux作業系統 ................................................. 41 圖 4-23 教室網路管理頁面 ..................................................................... 41 圖 4-24 網路狀態-可用 ........................................................................... 41 圖 4-25 網路狀態-不可用 ....................................................................... 41 圖 4-26 教室網頁守門員 ........................................................................ 42 圖 4-27 SARG網路流量報表(1).............................................................. 42 圖 4-28 SARG網路流量報表(2).............................................................. 43

Page 6: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

IV

圖 4-29 SARG網路流量報表(3).............................................................. 43 圖 4-30 PXE還原管理 ............................................................................. 44 圖 A-1 資料表關聯性結構圖 .................................................................. 49 圖 B-1 完全網路自動還原流程圖 .......................................................... 50

Page 7: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

V

表 目 錄 表 3-1 分割比例 ...................................................................................... 10 表 3-2 Host機硬碟切割配置表 ............................................................... 11 表 3-3 教室管理系統用資料庫 ............................................................... 26 表 3-4 程式腳本說明表 .......................................................................... 29 表 4-1 『教室課程管理系統』功能表 ................................................... 34 表 A-1 資料表-student............................................................................. 47 表 A-2 資料表-teacher............................................................................. 47 表 A-3 資料表-class ................................................................................ 47 表 A-4 資料表-clsstime ........................................................................... 47 表 A-5 資料表-lesson .............................................................................. 48 表 A-6 資料表-register ............................................................................ 48 表 A-7 資料表-report .............................................................................. 49

Page 8: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

1

摘要

在現今這個電腦化的世代,電腦的使用已達到普及,無論做什麼事大部分都

可以藉由電腦網路來到達到求。為了跟上時代,電腦的教育已經普及到各中小學

就開始學習了。眾多的電腦管理起來不是簡單的事情,例如:使用者的錯誤操作

習慣、系統損壞、硬體更新後系統的重新建置,這些都是需要去花費心思的。

本研究以本系電腦教室為例,分析電腦管理上常見問題有:使用還原卡更

新系統軟體不易、還原軟體對初階管理者上手較費時、學期初系統大量但還原速

度緩慢、學生不當操作使系統中毒或網路流量異常、上課時學生不專心聽講自行

上網,老師無法加以控管等問題。故本專題主要分為電腦還原、網路控管兩大方

面著手研究,以設法解決此類問題。

電腦還原方面,因為硬體還原並不適合本系的教學環境,故採取軟體還原。

此外,本系的電腦小組並不是每位成員都能快速上手還原軟體的指令介面操作,

所以本研究將繁雜的還原指令結合程式腳本製成視窗化介面,讓操作者能夠快速

上手。本研究將使用 PXE 搭配 KICKSTART 來達到大量部署電腦,並利用MultiCast(群體廣播)傳輸技術來達到多台電腦快速還原。大量還原的結果中,同時進行 60台電腦還原Windows XP系統(內含驅動程式、應用軟體,共 22.7G)所費時間僅需 11 分鐘,且只需要一般的網路交換器就可達到此效果。若配合網路開關機功能,則可進行網路遠端還原作業。

在網路控管方面,學生不當的操作會造成系上電腦的耗損及電腦小組維修上

的困擾,再加上學生座位不固定想要找出不當使用者更是困難,因此本專題建置

了一個「教室管理系統」網站,用 PHP和MySQL結合防火牆和 Proxy來加以監看與控管使用者使用電腦的情形與網路流量的關係,老師也可利用本站針對學生

的電腦來加以控制其網路瀏覽與使用的權限。利用此系統,教師與管理員可以清

楚得知每台電腦的使用者網路使用情形,並增加管理者維修的方便性。

Page 9: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

2

壹、前言

1.1 研究背景

隨著多媒體技術迅速的發展以及數位資訊越來越普及,多元的數位學習已成

為人們獲得豐富資訊及知識的來源,電腦和網路顯然已成為老師跟學生們必備的

學習工具,以目前來說,幾乎全部的東西都可在電腦上完成,例如學生資料、作

業、線上測驗、課程教學、網拍等等,總少不了電腦以及網路的運用,不管哪間

學校多多少少都會有電腦教室以供師生們使用,數量不少的電腦管理起來將會是

一件辛苦的事。 本專題研究以本系電腦教室為例,各間電腦教室所買進來的電腦批次時間都

不相同,所以在管理上也較麻煩,且有些電腦也過了保固期,廠商也不再提供維

修服務;為了方便管理電腦及維護系統,常常需要做到快速還原系統的動作。還

原系統的方法大致分兩個方向:硬體還原和軟體還原。硬體還原以還原卡為主;

而目前常見的軟體還原有賽門鐵克的 GHOST 軟體。不管上述所介紹的硬體或軟體還原方式皆需要購買相對應的硬體或軟體授權,因為電腦數目眾多,如果為

了購買足夠的工具將會是一比不小的開銷。 電腦使用者在操作電腦上的不良習慣造成網路封包異常、及大量的下載等問題,

都會影響到其他區域網路的使用效率,比較有效的解決方案是做好電腦上的控

管,限制使用者的網路連線。 如果有一套價格低廉且可以整合大量還原及網路管理的系統,將會是負責大

量電腦的維修員最佳利器。以過去對系上電腦之維護以及上課經驗,再經過討論

後,將問題歸納為以下幾點: 1. 不管是還原卡或 GHOST軟體皆需要一筆不小開銷,且事後維修也不方便。 2. 電腦教室之電腦數量眾多,每台電腦所產生的問題不一,如是硬體方面的維護,並不是維修員所能顧及,但如果是軟體上的維護,例如每台電腦一一重

灌也使得維護人員在維護的時間上需花費較久的時間。 3. 以往還原過程較於複雜,需要輸入還原指令才能將系統還原,對初學者來說可能是一大難題。

4. 維修人員無法掌握使用者平時使用電腦教室的情況。隨意的瀏覽其他未知網頁時,可能由於某些誘因而瀏覽惡意網站,並造成電腦受到病毒、蠕蟲或者

木馬的攻擊,造成網路頻寬流量異常,連帶影響到其他區域網路內之電腦的

正常運作。 5. 某些時刻使用者離開電腦教室時,並沒有正確關機,導致電腦一直持續開機,如果沒有發現或無其他使用者,會產生耗電或者硬體壽命減短的問題。

Page 10: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

3

1.2 研究目標

為解決上述類視窗化系統復原以及系統資安管理的問題,本專題針對電腦教

室的大量個人電腦還原環境以及操作環境進行研究。研究方法主要利用 Linux作業系統,因 Linux系統為免費自由軟體,在經濟效益上更能節省許多研究成本;為了快速與方便的處理電腦教室的系統還原,本專題擬在電腦上先裝一套管理系

統,該管理系統可透過連線至還原伺服器。一方面我們將透過網頁直接監控整個

區域網路的流量及偵測漏洞,以便於使用者的維護。

研究目標如下:

1. 建置用戶端管理系統(類視窗化-直覺化指令下達):

因本專題沒有額外硬碟還原設備,故建置ㄧ套用戶端管理系統做還原動作,

使用方法為 PXE+NFS+kickstart;因此,用戶只須透過網路開機,即可連線至主機抓取 kickstart進行還原。

2. 統一Windows映象檔:

因電腦系統還原需求不相同,故建置多重還原系統之選單,而該選單分為:

(1) Linux系統還原

(2) Windows系統還原

(3) 全部還原

3. 備份還原和網路控管能做到人性化,讓使用者直覺化去使用,更能簡易操作。

4. 自撰網頁腳本程式(PHP+SHELL SCRIPT),用以管理學生端電腦系統的網路。例如能防治學生濫用 P2P、學生不專心在使用線上即時或非法軟體。

5. 自撰網頁腳本程式,用以察看電腦上線狀態,並可遠端進行用戶端電腦系統之自動開關機。

6. 把多重還原系統以及電腦管理系統整合在一起,透過網頁上的管理,讓不太懂 Linux的人也能輕鬆管理系統。

Page 11: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

4

貳、文獻回顧

本專題目標之一,在設法解決本系的電腦還原與每學期的大量還原問題。而

目前市面上與網路上經常出現的電腦教室作業系統管理方式主要有硬體還原、軟

體還原與無硬碟系統。底下本專題將分別比較了還原卡硬體、ghost還原、LTSP、POYSWNG、再生龍這幾套軟體所做比較。

2.1 電腦教室學生端電腦系統的維護與管理模式

我們以電腦教室舉例,來說明我們該如何維護與管理我們的電腦和一下實際

的文獻範例。

2.1.1 還原卡硬體[1]

硬體還原卡存在嚴重的技術缺陷,只要修改 cmos中的硬碟參數即可破解,不是一套很好的系統。 當再生卡安裝到電腦上後,硬碟內的資料如果有做更變時,通常只需要重新

開機,硬碟內的資料就會回復到預設的狀態。使用再生卡時會將硬碟分成兩個部

份,一份存放目前的資料,另一份用來存放新寫入的資料。再生卡的優點是執行

的效能高,但規格不具彈性,價格也比軟體式還原還要高。

2.1.2 Ghost還原[2]

以賽門鐵克公司的 ghost 軟體為主要代表,它可以在短時間內復原一台電腦。ghost分為有網路及沒有網路這兩種還原模式,能大量複製硬碟內的資料到相同配備的電腦上,讓電腦內的軟體安裝更快速。

ghost工作原理是當系統進行備份時,將需要的資料備份到另一個儲存空間。當原來的資料損壞時,可利用備份的資料再還原回去,使系統恢復到原來的

狀態。 Ghost是一個可以直接運行的程式,使用時不需要安裝,只要將 Ghost.exe

複製到硬碟、軟碟或光碟上即可執行,由於 Ghost操作需要滑鼠,最好將滑鼠驅動程式和 Ghost程式放在一起。滑鼠操作也可使用 Tab鍵代替。

2.1.3 LTSP (Linux Terminal Server Project)[3]

在 Linux眾多軟體中以 LTSP(Linux Termianl Server Porject)(ltsp,2009) 最適合多台陽春型電腦環境(如電腦教室、公共電腦等)。LTSP提供了一個簡易的方式給陽春型電腦去跑圖形介面的 Linux,電腦只要有網路卡、鍵盤、滑鼠、顯示卡及螢幕,再配合 LTSP server,電腦不需要硬碟就可以執行 Linux。

LTSP的優點是配合硬體的規格彈性大,自由軟體經常更新,因此安全性高且不必花大錢即可取得。架設一台 LTSP server讓 Clinet的電腦能夠透過網路連

Page 12: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

5

到 server端進行無硬碟開機,LTSP server則利用 ROYSWNG這個軟體來進行維護。 LTSP server利用 ROYSWNG還原至少要有三個分割區,一般使用作業系統、救援用作業系統、備份區,當一般使用的作業系統掛掉,可使用開機磁片來選擇開

機到救援用的作業系統,再從備份區的備份資料備份到一般使用的作業系統來達

到還原的效果。 LSTP工作原理

Client由 bootp協定啟動伺服器中的 DHCP服務取得 IP位址,透過網路利用TFTP協定,由伺服器將 Linux開啟映像檔傳送到 Client(無硬碟電腦)用以啟動Linux系統,再藉由 NFS將遠端檔案系統掛在於本地端,便可利用無硬碟電腦使用伺服器端所有資源。 LTSP所需套件

1. DHCP:自動設定電腦 TCP/IP 的通訊協定,LTSP將使用它來分配工作站所需要的 IP。

2. NFS:允許透過網路使用硬碟的通訊協定,LTSP將使用他來幫工作站掛載基礎系統。

3. TFTP:TFTP是一個簡單的檔案轉移的通訊協定,LTSP將需要使用它來傳送核心(Kernel) 給工作站。

4. XINETD:替換 inetd 的強大而且擁有許多高階功能的套件,我們將需要使用它來啟動 TFTP。

2.1.4 ROYSWNG (RecOverY—SoftWareNG)[4]

適合電腦常常需要備份但是又對電腦不太懂的人,這類人通常對於電腦的維

護都不是很懂,因此朝陽科技大學的王光山同學設計了這套軟體復原

(ROYSWNG)。 ROYSWNG工作原理 ROYSWNG的原理主要是將硬碟分割成三個部分: 一般使用的作業系統救援用的作業系統(越陽春容量越小的作業系統越好 例:純文字介面)備份區先把一般使用的作業系統作備份放到備份區,當一般使用的作業系統毀壞時,可以用開機磁片選擇開機到救援用的作業系統,再從備份區把先

前備份的資料還原到一般使用的作業系統的分割區來達到還原的效果。

2.1.5 再生龍(clonezilla)[5]

Clonezilla為自由軟體,由國網中心所開發,分為以下兩種版本: 1. 免安裝的單機版還原系統 Clonezilla live(使用 CD/USB隨身碟開機) 2. 適合大量備份與還原的伺服器版再生龍(Clonezilla server edition)(使用

PXE[6]網路開機)。 再生龍 Clonezilla支援多種作業系統而且中文化,提供一個完整的環境,這是一

Page 13: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

6

個整合的系統,包含還原程式以及作業系統。 再生龍還有 Clonezilla server edition提供更進階的功能,更可以透過 Unicast、multicast、broadcast clone作遠端還原、多重還原、讓中毒的電腦迅速復原;另一方面也可以使用 PXE開啟 Clonezilla live讓使用者使用網路開機來進行備份、還原。 可還原多種作業系統,其中與本專題較相關的包含 Linux,Windows 等。這

些檔案系統只備份有存資料的硬碟空間,因此可以節省備份時間與硬碟空間。 支援群播(Multicast)。配合 PXE網路開機,搭配 DRBL的 Clonezilla可以使用群播(multicast)的方式,適合用來大量備份與還原。硬體設備功能足夠時(用戶端支援Wake on LAN與 PXE),可以遠端操作,人不需到現場。以下為 Clonezilla開機畫面:

圖 2-1 Clonezilla開機畫面

http://drbl.nchc.org.tw/clonezilla/ 再生龍與本專題研究的比較,了解再生龍操作複雜不易。

2.1.6 企鵝龍 DRBL[7]

DRBL對學校電腦教室與辦公環境而言,採用 DRBL的集中管理能使得管理者只需照顧伺服器部分,對於用戶端電腦就比較不用花時間。由於 Linux系統在桌面的使用越來越成熟,學校使用 DRBL這樣的集中式管理環境必可大幅降低管理的成本。此外,圖書館等提供公共上網的地方,採用企鵝龍,必然可以省

去管理與軟體授權費的成本。 Diskless Remote Boot in Linux (DRBL)提供一個無碟或是硬碟上無系統的環

境。 企鵝龍(DRBL)的優點:

1. 不同於 LTSP (Linux Terminal Server Project),DRBL使用分散式的硬體資源,所以用戶端可以充份的使用所有的硬體。

Page 14: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

7

2. 可與用戶端硬碟中的作業系統共存。 3. 用戶端電腦隨插即用(plug-and-play)。 4. 用網路線取代硬碟排線。(孫振凱,2009)

DRBL運作過程介紹: 伺服器提供的服務包括 DHCP (Dynamic HostConfiguration Protocol Server)、

TFTP (Trivial File Transfer Protocol server)、NFS及 NIS,學生端電腦透過 etherboot向伺服器要求 IP address,透過 dhcp 服務取得 IP address之後,從伺服器下載開機的核心(kernel)以便網路開機。再過 NFS 將檔案系統掛載到伺服器上。學生透過伺服器所提供的 NIS服務來登入。

2.2 網路還原系統常用作業系統與協定簡介

會採用自由軟體當後製,因可自由使用、複製、修改、刪除,才有傳播的意

義,可以有效解決資安管理問題的成本及商業軟體高成本負擔的問題,同時也能

放置在 windows 平台下,且以人性化設計做執行和完成的動作。PXE 為我們的還原系統,可以遠端伺服器還原,ARP 利用乙太網的廣播特性,位址對應關係是動態﹐以查詢 IP位址和實體位址對應,記錄 IP位址和實體位址的對應關係,tcp和 udp協定我為們使用的防火牆協定。

2.2.1 Linux

Linux作業系統就是自由軟體和 open-source,若跟微軟Windows相比,自由軟件的 Linux具有低成本、高安全性,卻需管理性的一套作業系統。

2.2.2 PXE

全名(Preboot Execution Environment),以他全文意思是預設啟動執行環境,為 Intel 所制定。本身電腦並無開機系統,若沒有硬碟,就可以使用 PXE技術,利用遠端的伺服器開機,也能使用遠端的系統,且能使用遠端的記憶體空間,也

可利用遠端的伺服器來進行系統或應用程式的安裝,此部分,就是電腦有硬碟但

無任何作業系統的應用程式。

2.2.3 ARP[8]

全名(Address Resolution Protocol),以他全文意思是位址解析協議。ARP 是利用乙太網的廣播特性,優點是位址對應關係是動態的﹐它以查詢 IP位址和實體位址對應,記錄 IP位址和實體位址的對應關係。意思也就是告訴其它機器它的目前位址是什麼﹐以便所有機器都能保持最正確的資料傳送。

Page 15: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

8

2.2.4 傳輸協定(tcp、udp)[9]

防火牆部份分 tcp和 udp協定,兩者的通訊協定再說明傳輸的原則性。

tcp為可靠傳輸協定協定是指傳輸的時候靠 IP傳送封包,簡單來說就是肯定資料無錯誤的到達﹐同時雙方也可以保留傳送的封包訊息﹐以作下一筆資料的確

認依據。如下一頁圖片:

udp是一種不可靠的傳輸協定,因此不用像 tcp那樣提供額外的欄位來控制傳輸可靠性。比起 tcp來說,udp的封包表頭比較精簡,但以用法來說,關於 udp計算會比較複雜。

2.3 電腦教室常見的資安問題,該如何改善

資安問題裡有包括,病毒防治、如何防止濫用 P2P和 PT、網路流量監控..等。都是我們須改善和解決的問題之一,那我們就簡介的敘述,P2P和網路流量監控。

2.3.1 P2P[10]

P2P全名(Peer-To-Peer),有互連網的功能,中文翻譯過來就是私人站點,一種小範圍的資源交流平台,依然採用 P2P的方式進行發佈流傳。如何能防止濫用P2P。P2P意思是網路的分布特性透過在多節點上複製資料,並且在純 P2P網路中,節點不需要依靠一個中心索引伺服器來發現資料。在後一種情況下,系統也

不會出現單點崩潰。智慧型網路控管上能大量減少下載量,讓大家在電腦室能有

效的做事。

2.3.2 網路流量監控[11]

利用 sarg 軟體是一套網路流量監控的免費軟體。能偵測網路流量,只要使用者能夠確認遠端主機的 IP 位址,能針對目標主機或網路進行安全評估。掃瞄結束後,能針對目標主機或網路安全弱點產生評估報告,並提供使用者包括:是

否具有安全弱點或安全漏洞之訊息,以及提供安全弱點、安全漏洞之說明連結等。

所以我們能搭配網路控管,常做網路流量控制和管理,使電腦室能更安全的

使用。

Page 16: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

9

參、研究方式

3.1還原系統建置

圖 3-1 PXE還原系統建置

PXE還原系統架構如圖 3-1所示,由一台 pxe server內含 dhcp、tftp、nfs服務組成,讓 client端直接連接 Hub,藉由連接 server讀取網路安裝所需資訊,使系統可以重新開機還原。

Page 17: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

10

3.1.1 PXE還原系統建置

1) 硬碟大小分割配置

本還原系統所建置的伺服器硬碟規格是 150G硬碟,下面是我們對此硬碟的配置。如果未來更換不同硬碟時,將視情況的不同來更改分割的比例。

表 3-1 分割比例

位置 大小 功能

/boot 1G 製作開機選單

/ 10G 根目錄

/var 30G 網頁資料

/usr 10G 系統指令函式庫

/home 10G 使用者家目錄

/iso 10G PXE映像檔

/tmp 2G 暫存檔

/restore 70G 還原映像檔

Swap 2G 虛擬記憶體空間

2) 還原系統所需之服務參數設定(DHCP、TFTP…)

DHCP:用於規劃區域內的電腦 IP。

TFTP:用於下載最初的引導程序和另外的文件,應用於個別電腦自行還原用。

NFS:透過網路,讓不同的機器、不同的作業系統、可以彼此分享檔案。

HTTP:用於使使用者可以連上本系統之操作網頁介面。安裝 Host機所需之系統及相關軟體。

依據區域電腦的不同,進行符合的硬碟切割配置,這次研究我們將配置的系統如

表 3-2。

Page 18: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

11

表 3-2 Host機硬碟切割配置表

3) Host 用戶端電腦的分割、安裝及映像檔製作方式:

整合各種不同主機的還原映像檔,假如使用傳統的還原光碟,將沒辦法把同

一張還原光碟應用在不同規格的電腦上。本步驟是把同一區域內不同規格電腦的

還原檔整合成一個,以便共用。

步驟一、先把 Host機(A機)做好還原映像檔。 步驟二、把此映像檔裝在不同規格的電腦上(B機)。 步驟三、把(B機)驅動程式安裝完畢後,並壓制成新的還原映像檔。 步驟四、如果有第三種規格的電腦(C機),就按照乙、丙兩步驟進行,以達到還原映像檔共用的效果。

架設 Server遠端自動還原人性化介面利用網路介面來達到直覺化操作。以網頁來控制單一或全體電腦的還原,並可利用排程原理來達到無人操作時也可以進

行大規模的還原動作。

3.1.2 DHCP server 建置

DHCP開始設定前先檢查是否有安裝 rpm –q dhcp yum install dhcp

安裝完 DHCP後,在/etc底下會出現 dhcpd.conf檔案,此檔案為 DHCP伺服器主要設定檔,當此設定檔不存在時,手動自行建立即可。 編寫 DHCP環境設定,路徑為/etc/dhcpd.conf

ddns-update-style none; //不要更新 DNS設定

default-lease-time 259200; //預設租約為三天

max-lease-time 518400; //最大租約為六天

option routers 192.168.1.254; //預設路由

option broadcast-address 192.168.1.255; //廣播位址

Page 19: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

12

subnet 192.168.1.0 netmask 255.255.255.0{

range 192.168.1.1 192.168.1.100; //分配 IP的範圍

option subnet-mask 255.255.255.0;

option domain-name “localhost.localdomain”; net-server 192.168.1.254; // tftp server所在位置,需至

ifcfg-eth0設定

filename “/pxelinux.0”; //網路開機顯示畫面

}

設定 dhcpd.conf後必須開啟服務 /etc/init.d/dhcpd start

3.1.3 TFTP建置

本專題將 tftp建置於 client端啟動後透過此服務達到配置文件及安裝訊息,然而 tftp是屬於 xinetd之傳輸套件,故必須先安裝 xinetd套件,安裝完後於/etc底下會有 xinetd.d資料夾。

本專題使用 TFTP服務主要是為了傳輸 client在執行 PXE網路安裝時所需要kernel的資訊:initrd.img、vmlinuz。

tftp設定前須先安裝及開啟以下服務 yum install tftp

yum install tftp-server

yum install xinetd

chkconfig tftp

ckconfig xinetd

chkconfig dhcpd

編寫 tftp環境設定,路徑為/etc/xinetd.d/tftp service tftp{

socket-type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /iso/tftpboot

disable = no

per_source = 11

cps = 100

flags = IPv4

}

在 tftp設定完後必須重新啟動 xinetd

Page 20: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

13

/etc/init.d/xinetd restart

將 pxelinux.0 複製到/iso/tftpboot,如沒有 tftpboot 目錄,則手動自行建立即可。

3.1.4 建置 NFS server

NFS 就是 Network FileSystem 的縮寫,他最大的功能就是可以透過網路,讓不同的機器、不同的作業系統、可以彼此分享個別的檔案 (share files),因此如果需要互相傳輸檔案就必須要擁有 NFS Server,在使用 NFS時必須要先啟動它的服務: /etc/init.d/portmap start

/etc/init.d/nfs start

chkconfig nfs on

主要的設定檔案寫在/etc底下的 exports裡面,我們設定為:

/iso *(rw,sync)

/restore *(rw,sync)

資料夾配置樹狀圖: /iso ├─ kickstart (放置 PXE自動安裝設定檔) └─ tftpboot ├─ isofile (放置 Linux安裝光碟印象檔) ├─ kernel (放置 PXE 前導動作的核心檔) ├─ msg (放置 PXE 安裝選單) ├─ pxelinux.cfg //權限 777 (放置 PXE 安裝選單路徑腳本) └─ pxelinux.0

/restore ├─ scripts (放置 PXE網路安裝完成後 client的設定程式腳本) ├─ software (放置 client所需的軟體安裝檔) └─ [教室名稱](EX:i3501) (放置還原用印象檔) └─ temp //權限 777 (用以暫放壓制好的還原印象檔)

Page 21: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

14

3.1.5 kickstart 建置

Kickstart是由Red Hat所創建的,主要是為了讓一些系統管理員在建置 Linux系統時,可以利用 Kickstart達到制式自動化安裝。

一般來說,安裝完一套 Linux 作業系統後,可以在 root 的家目錄裡找到Kickstart的範例檔:anaconda-ks.cfg,可以利用此檔來進行修改。

Kickstart可分為三個區段: l “command”區段:此區段包含了必要安裝選項。 l “Packages”區段:列出需要安裝的套件。 l “post”區段:安裝完畢後執行的動作。

# Kickstart file automatically generated by anaconda.

install

text

nfs --server=192.168.31.254 --dir=/iso/tftpboot/isofile

lang zh_TW.UTF-8

keyboard us

network --device eth0 --bootproto dhcp

rootpw --iscrypted $1$1pdG9cdG$FEGbUBGpZmXaM4gnFRTVw.

firewall --enabled --port=22:tcp

authconfig --enableshadow --enablemd5

selinux --enforcing

timezone Asia/Taipei

bootloader --location=mbr --driveorder=sda

reboot

clearpart --all

part / --fstype ext3 --size=3000 --asprimary

%packages

@editors

@text-internet

@dialup

@core

@base

@chinese-support

keyutils

trousers

fipscheck

Page 22: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

15

device-mapper-multipath

dialog

zenity

%post

#!/bin/bash

parted /dev/sda mkpart primary NTFS 3143MB 43.5GB ###Cnew40G

parted /dev/sda mkpart primary NTFS 43.5GB 74.5GB ###Dnew30G

parted /dev/sda mkpart extended 74.5GB 160.0GB

parted /dev/sda mkpart logical ext3 74.5GB 88.5GB

parted /dev/sda mkpart logical ext3 88.5GB 103.5GB

parted /dev/sda mkpart logical ext3 103.5GB 119.5GB

## nfs client start ,client端啟動 NFS機制,並掛載 server資料夾

/etc/init.d/portmap start

sleep 2s

mkdir -p /root/bin

mkdir -p /server

domain=`ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g' |sed

's/Bcast.*$//g'|cut -d '.' -f 1,2,3`

mount -t nfs ${domain}.254:/restore /server

sleep 2s

## install soft,安裝還原時所需要的軟體

rpm -ivh /server/software/partimage-0.6.7-1.el5.rf.x86_64.rpm

rpm -ivh /server/software/udpcast-20091230-1.i386.rpm

#rpm -ivh /server/software/kmod-atl1-2.1.3-1.i686.rpm

rpm -ivh /server/software/partimage-0.6.6-1.fc7.rf.i386.rp9m

sleep 2s

## copy shell script,複製 client端還原腳本

cp /server/scripts/dcms_menu.sh /root/bin/dcms.sh

cp /server/scripts/dcms_first_rewite.sh /root/bin/dcms_first_rewite.sh

chmod 755 /root/bin/*.sh

chown root:root /root/bin/*.sh

sleep 2s

umount /server

Page 23: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

16

############### 刪除 PXE個別電腦初始安裝腳本

mount -t nfs ${domain}.254:/iso/tftpboot/pxelinux.cfg /server

mac=`ifconfig eth0|grep 'HWaddr'|sed 's/^.*HWaddr //g'`

m1=`echo $mac|cut -d ':' -f 1`

m2=`echo $mac|cut -d ':' -f 2`

m3=`echo $mac|cut -d ':' -f 3`

m4=`echo $mac|cut -d ':' -f 4`

m5=`echo $mac|cut -d ':' -f 5`

m6=`echo $mac|cut -d ':' -f 6`

datamac=01-$m1-$m2-$m3-$m4-$m5-$m6

datamac=$(echo $datamac | tr [A-Z] [a-z])

rm -rf /server/${datamac}

umount /server

################ server ssh key,server給予 client端所需金鑰

mkdir -p /root/.ssh

chmod 700 /root/.ssh

touch /root/.ssh/authorized_keys

echo 'ssh-rsa

AAAAB3NzaC1yc2EAAAABIwAAAQEAtVvKSCI/aLlFi+0Sw6Ke1dQw89YMa3CrbvETYVWcz

1ra/gqnAaZieJeWsUNZhj0oBNxph3vYACaF+RGzN2QgOKEtAkNuwYSwEvTu9/lxfwEwcr

vdkMf8uiRnWbR02+Yu+3bHyHLhzP5jF79uVvNRSKYLdiYet6U8IchD9ldeNrztBkEKC5u

vkhjn2KrRNeDYyICgAq4g5viPtbP0JvplNmWgAXgkNJCNXMNgC9c3DCV7+mahwQnsZ/Zp

rAOmJK7ZTKJApIDHXd+AcHsMEoZO3sOpo1GAFEYE3Unap/UAq7rtbmW5XKT8wq/xpwEMU

5j+ThsHLjOKwWlx2ykP/5ZF0Q== [email protected]' >>

/root/.ssh/authorized_keys

chmod 644 /root/.ssh/authorized_keys

## client first boot shell script restore,client端第一次重啟後會自動

執行還原腳本

echo '#!/bin/sh

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you do nat

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/bin/sh /root/bin/dcms_first_rewite.sh' > /etc/rc.d/rc.local

Page 24: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

17

3.2 防火牆

圖 3-2 防火牆架構圖

3.2.1防火牆設定

##政策

iptables -P PREROUTING -j ACCEPT

iptables -P POSTROUTING -j ACCEPT

iptables -P OUTPUT -j ACCEPT

iptables -P INPUT -j DROP

iptables -P FORWARD -j ACCEPT

##規則

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth1 -p udp -m udp --dport 137:138 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -m tcp --dport 139 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -m tcp --dport 445 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

Page 25: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

18

iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT

iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

iptables -A INPUT -i eth1 -p icmp -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT

iptables -A INPUT -i eth1 -p udp -m udp --dport 67 -j ACCEPT

iptables -A INPUT -i eth1 -p udp -m udp --dport 69 -j ACCEPT

iptables -A INPUT -i eth1 -p udp -m udp --dport 111 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -m tcp --dport 111 -j ACCEPT

iptables -A INPUT -i eth1 -p udp -m udp --dport 2049 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -m tcp --dport 2049 -j ACCEPT

iptables -A INPUT -i eth1 -p udp -m udp --dport 901:904 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -m tcp --dport 901:904 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT

iptables -A PREROUTING -s 192.168.31.0/255.255.255.0 -d 120.114.141.1

-i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

iptables -A PREROUTING -s 192.168.31.0/255.255.255.0 -d 192.168.31.254

-i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

iptables -A PREROUTING -s 192.168.31.0/255.255.255.0 -p tcp -m tcp

--dport 80 -j REDIRECT --to-ports 3128

iptables -A POSTROUTING -s 192.168.31.0/255.255.255.0 -o eth0 -j

MASQUERADE

以上步驟完成後,請先儲存規則/etc/init.d/iptables save 再重新啟動/etc/init.d/iptables restart

3.3 proxy建置

3.3.1瀏覽器之瀏覽目標監控與管制:proxy

Proxy像防火牆一樣,可以保護後端主機免於直接受到攻擊,隱藏後端主機的IP。也可以對於某些網站或者網段進行權限封鎖,讓Client 端無法順利瀏覽網頁。而本身擁有快取(cache)的功能,降低網路頻寬的負荷,並且加快內部網域瀏覽的網頁速度,又可以架設為多管道的Proxy (上層代理伺服器),來節省網路的讀取速度,本身就是一個強大的服務。但缺點是需要佔用龐大的硬碟空間,快取資料有時會讀取到過舊的資料。

Proxy主要的功能就是代理使用者端的動作,一方面可以速度加快,另一方面就是為了增加Client端的安全性。proxy 運作流程圖如下:

Page 26: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

19

圖 3-3 proxy server運作流程

流程說明: 一、新連線 (無快取) (1) client端抓取資料先經過主機 (2) 主機先到達cache暫存區裡搜尋是否有符合client端所需的資料 (3) cache暫存區沒有所需資料 (4) 透過proxy主機到達外部網路取得資料 (5) 取得資料存入cache暫存區 (6) 取得所需資料後回到proxy主機,會先儲存一份資料到cache暫存區

裡,再將資料傳回給client端 二、有快取 (1) client端抓取資料先經過主機 (2) 主機先到達cache暫存區裡搜尋是否有符合client端所需的資料 (3) cache暫存區有所需資料則回傳給client端。 (6) client端所得資料是從cache暫存區取得的。

3.3.2 proxy server之套件安裝及設定

若安裝後的 Linux作業系統並無此套件,則利用 yum來進行套件安裝。

yum install squid

安裝完之後,會在/etc/squid 底下產生 squid.conf 的腳本,在此腳本內有幾個很重要的設定參數,依照以下動作做設定。

Page 27: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

20

首先要開啟 squid 的埠口,squid 的埠口為 3128,另一個埠口 3130 則是觀察被查詢的封包。

http_port 3128

icp_port 3130

記憶體設定的部份是使用 128MB,而快取記憶體上下限的百分比,設定為75%為 safe,超過 90%系統會自動清除暫存記憶體所暫存的資料。

cache_mem 128MB

cache_swap_low 75

cache_swap_high 90

再快取暫存的目錄大小與紀錄檔的路徑。 cache_dir ufs /var/spool/squid 500 16 256

access_log /var/log/squid/access.log squid

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

pid_filename /var/run/squid.pid

對於用戶端電腦瀏覽網頁的權限,對指定的名稱與 IP 做開放的動作 acl all src 0.0.0.0/0.0.0.0

acl dicip src 192.168.32.0/24

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

http_access allow dicip

http_access deny all

本小組研究利用 squid直接設定對外網的腳本設定,來抵擋 IP、domainame及網址,設定路徑為/etc/squid/squid.conf acl weburl url_regex "/etc/squid/web_url"

http_access deny weburl

acl domain_no dstdomain .facebook.com

http_access deny domain_no

acl pcmac arp "/etc/squid/pc_mac"

http_access deny pcmac

squid設定檔裡的路徑可透過其他檔案設定,例如上方的 url及 arp在檔名兩旁加上雙引號即可;另一種方法例如 domain設定,在後方直接加上其網站名稱,但如果需設定的網站較多,則建議像 url及 arp 一樣另外設定,防止程式過於攏長繁雜。

Page 28: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

21

url設定格式 ^http://www\.facebook\.com.*

arp設定格式 XX:XX:XX:XX:XX:XX

Page 29: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

22

3.3.3 transparent proxy

圖 3-4 transparent proxy轉換過程

proxy的另一種運作模式,叫做通透式 proxy ( transparent proxy ),通透式 Proxy會強制 Client端經由 Proxy連線出去,來達成代理伺服器的功能。架設方面也很簡單,只需在設定檔內 http_port 的參數後面,加上『transparent』,然後再到 iptables 與 NAT 加入兩項規則。

設定檔 squid.conf http_port 3128 transparent

visible_hostname server

Iptables -A INPUT -i eth1 -p tcp -m tcp --dport 3128:3130 -j ACCEPT

NAT 內的 TP 功能設定 iptables -t nat -A PREROUTING -i 內部網卡介面 -p tcp -s 內部網路網段

--dport 80 -j REDIRECT --to-ports 3128

Page 30: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

23

3.4網頁流量紀錄 sarg

sarg(Squid Analysis Report Generator)是一套功能強大的後端分析軟體,他可以記錄使用者何時上下限的明確時間、去過那些網站,瀏覽過那些東西連結該網

頁的次數等等,每一段時間能幫我們記錄的非常清楚,所讀取的是 squid內的 log檔。但區網內之電腦主機眾多,每次產生的報表所佔用的空間很大,需耗費較大

空間的硬碟容量。記錄檔也只能事後才能觀看,無法在當下知道加以控管。 安裝:

安裝完後,執行檔為/usr/bin/sarg,設定檔在/etc/local/sarg/sarg.conf之後到

sarg.conf的設定檔進行修改的動作,設定如下:

sarg製造日期跟時間例如日報表、週報表、月報表:

/usr/sbin/sarg. daily (產生日報表)

wget http://www.sfr-fresh.com/unix/privat/sarg-2.3.1.tar.gz

yum install gcc

tar zxvf sarg-2.3.1.tar.gz

cd sarg-2.3.1

./configure

make

make install

language Taiwan_big5(SARG使用語法)

access_log /var/log/squid/access.log(squid登錄檔路徑)

title “網頁標題”

output_dir /var/www/html/sarg(SARG輸出路徑)

overwrite_report yes(是否覆蓋報表)

exclude_codes /usr/local/sarg/exclude_codes(不計入排序網頁)

YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

/usr/sbin/sarg -o /var/www/html/squid/daily -d $YESTERDAY >

/dev/null 2>&1

exit 0

Page 31: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

24

/usr/sbin/sarg.weekly (產生週報表)

/usr/sbin/sarg.monthly (產生月報表)

vim /usr/sbin/sarg.weekly

#!/bin/bash

#Get yesterday date

YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

WEEKAGO=$(date --date "1 week ago" +%d/%m/%Y)

/usr/sbin/sarg -o /var/www/html/squid/weekly -d

$WEEKAGO-$YESTERDAY > /dev/null 2>&1

exit 0

#!/bin/bash

cnt=2

if [ $cnt -eq 4 ]; then

#Get yesterday date

YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

WEEKSAGO=$(date --date "4 weeks ago" +%d/%m/%Y)

/usr/sbin/sarg -o /var/www/html/squid/monthly -d

$WEEKSAGO-$YESTERDAY > /dev/null 2>&1

/usr/sbin/squid -k rotate

cnt=1

else

let cnt++

fi

#echo Will rename itself \($0\) with cnt \($cnt\) increased. 1>&2

sargtmp=/var/tmp/`basename $0`

sed "1,7s/^cnt=.*/cnt=$cnt/" $0 >|$sargtmp

chmod -f 775 $sargtmp

mv -f $sargtmp $0

make

make install

Page 32: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

25

3.5建置教室管理系統

為了讓維修人員更方便掌握電腦的使用情形及更有效率的維修電腦,因此本

專題建置了教室管理系統,本系統分為教室課程管理系統和教室網路管理系統。

課程管理系統讓電腦使用者更快速回報電腦的錯誤給維修人員,也讓維修人員迅

速找握問題點;網路管理系統可使初階管理者簡單限制教室內的網路使用狀況,

並能快速查閱教室內網路封包使用的情形,結合課程管理系統將可追蹤每位學生

使用網路的情形。

3.5.1建置 www server

圖 3-5 教室管理系統架構圖

Master WWW Server 主要放置的網頁為教室課程管理系統,各間電腦教室都直接連接到此 SERVER,並讀取資料庫,包含課程、學生、教師等資料,各間電腦教室的電腦不管使用者的身份都將連結至此 SERVER。Slave WWW Server 放置的網頁為以各間電腦教室為範圍的網路管理頁面。各間電腦教室網路設定皆

不相同,因此各間電腦教室皆設一台WWW SERVER。

Page 33: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

26

3.5.2安裝 www server所需軟體

yum install httpd

yum install php

yum install mysql

chkconfig httpd on

3.5.3賦予網頁使用者權限

visudo

apache ALL=(ALL) NOPASSWD:/bin/sh

3.5.4 Master WWW Server

網頁放置位置:/var/www/html/dcms/ 註冊:/var/www/html/dcms/register 後端:/var/www/html/dcms/root 圖片:/var/www/html/dcms/image 資料:/var/www/html/dcms/data

3.5.5資料庫

表 3-3 教室管理系統用資料庫

Tabel 說明 student 包含所有學生的相關資料。 teacher 包含所有老師的相關資料。 class 包含所有教室的相關資料。 clsstime 負責對照目前時間,換算成節數。 lesson 包含所有課程的相關資料。 register 包含學生註冊後相關資料。 report 包含使用者錯誤回報後的資料。

Page 34: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

27

3.5.6網頁架構圖

圖 3-6 Master網頁架構圖

首頁:所有老師/學生/管理者皆需要從此頁面登入本系統。此頁面會自動偵測目前使用者是否位於本系統所涵蓋的電腦教室內,並偵測目前的時間節數。若不在

本系統的電腦教室內或目前時間沒有課程的情況下將無法正確登入。 註冊:所有學生使用本系統皆須在此頁面註冊課程。每門新課程皆需要各註冊一

次,系統將會自動針測時間與教室位置,若當前時間沒有課程或教室位置不在區

域內,將無法註冊。 修改密碼:老師/學生可於此頁面修改密碼,此密碼在整個系統是共用的。 錯誤回報:老師/學生可於此頁面回報目前使用的電腦發現的問題。 座位表:老師可於此頁面觀看註冊此課程學生的座位。 學生名單:老師可於此頁面觀看有註冊此課程的學生名字總覽。 學生註冊情況:老師可於此頁面針對學生修改他註冊的情況,可用於學生換位

置、加退選課程、忘記密碼時。 各間電腦教室網路管理:老師可於此頁面連結到目前所在的教室網路管理頁面。 教師管理:管理者可於此頁面新增/刪除/修改教師的姓名、帳號。 學生管理:管理者可於此頁面新增/刪除/修改學生的姓名、帳號。 教室管理:管理者可於此頁面新增/刪除/修改教室的名稱、編號。 課程時間規劃表:管理者可於此頁面新增/刪除/修改所有的課程的相關資料, 例如:課程名稱、授課老師、授課地點、授課時間。 錯誤回報總表:管理者可於此頁面查閱所有電腦教室所回報的資料。並可查閱歷

史維修記錄。

Page 35: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

28

3.5.7 Slave WWW Server

圖 3-7 Servant網頁架構圖

網頁放置位置:/var/www/html/dcms 圖片:/var/www/html/dcms/image 程式腳本:/var/www/html/dcms/shell 資料:/var/www/html/dcms/data

教室電源管理:老師可於此頁面控制教室內所有 Client電腦開關機的控制,管理者可於此頁面設定,每天定時掃描關機功能,可防止學生忘記關閉電腦造成浪費

電源。

教室網路管理:老師可於此頁面控制教室內所有 Client電腦的網路,可用於大型考試時,斷其網路防止舞弊。

教室網頁守門員:老師可於此頁面控制教室內所有電腦連覽特定網頁的權限,可

特別侷限特定網頁,使其學生無法瀏覽。

教室網路流量報表:老師可於此頁面瀏覽教室內電腦網路的流量,此報表於每個

星期日零點更新一次報表。

學生全電腦還原:管理者可於此頁面進行教室裡面所有電腦的全系統還原。可用

於單一電腦系統須重新架構時或全體電腦進行大更新時,對管理者的好處在於,

管理者可以不用親自到現場,就可以進行全系統還原。

Page 36: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

29

3.5.8 程式腳本

放置位址:/var/www/html/dcms/shell

表 3-4 程式腳本說明表

程式檔名 功能說明

open_ping.sh 偵測電腦目前是否開機,每分鐘執行一次,會把已開

機的電腦編號寫入 data/pc.txt。此程式執行後會執行resolution.sh。

resolution.sh 讀取 data/pc.txt並判斷這些電腦目前所執行的程式為何,並把結果分別寫入 lpc.txt、wpc.txt。

wol.sh 網路開機程式。

offxp.sh client端電腦為開啟 XP狀態時,使用此程式可關閉電腦。

offlinux.sh client端電腦為開啟 linux狀態時,使用此程式可關閉電腦。

url_less.sh 網頁守門員使用此腳本,會刪除原本被阻擋的網址,

使其網頁可以觀賞。 re_proxy.sh 網頁守門員使用此腳本,使 proxy重新啟動。

Page 37: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

30

肆、研究成果

根據本研究所定下的研究目標從而擬定的研究方法,我們逐步進行系統的建

置及修繕,以下是本專題研究所完成的系統成果,我們將逐一介紹其功能及操作

方式。

4.1還原系統

4.1.1 用戶端 Linux管理系統之快速安裝

圖 4-1 PXE網路安裝過程

本系電腦為了因應各種不同課程的需求,固每台電腦皆為多系統電腦。為了

方便管理及架設還原系統,需要一個專門管理其他系統的存在,本研究藉由 PXE網路安裝來建置用戶端 Linux管理系統。

Page 38: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

31

4.1.2單機還原視窗化介面

圖 4-2 以用戶端 Linux管理系統進行單機還原之操作介面

在管理系統安裝完畢後,請開機進入管理系統,即可發現上述圖示畫面,可

進行單機還原的視窗化界面。本專題把繁雜的還原指令經由程式腳本的包裝後,

呈現出簡單明瞭的視窗化介面,初階管理者可以經由清楚明瞭的文字說明來選擇

想要執行的選項。

4.1.3網路大量還原

圖 4-3 網路大量還原現場

本專題使用程式腳本結合 MultiCast 群體廣播技術,進而達到網路大量還原

的功能,藉由MultiCast技術可以讓本研究進行還原時,可同時進行 60台電腦還原Windows XP系統,只需要 11分鐘。此還原映象檔中包含了電腦所需的驅動

Page 39: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

32

程式及老師上課所需的所有應用程式,整體系統為 22.7G。

Page 40: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

33

4.1.4還原系統的比較

圖 4-4還原系統比較

4.2 教室管理系統

4.2.1 教室課程管理系統

圖 4-5 『教室課程管理系統』網頁樹狀圖

本課程管理系統將使用者分為學生、老師、管理者三種身分,並包含了許多

不同功能的網路頁面,不同的身分可使用的頁面皆不相同,我們將逐一介紹。

所有的使用者皆要從本系統的首頁來進行登入(圖 4-4)。本系統結合MySQL來對使用者進行身分辨識。如果使用者是學生的話,規範比起老師或者管理者會

較於多,學生需先行進入註冊頁面進行註冊(圖 4-5),方可進入本系統。

Page 41: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

34

圖 4-6 網路管理系統-登入介面

圖 4-7 網路管理系統-註冊介面

表 4-1 『教室課程管理系統』功能表

修改密碼 老師/學生可於此修改密碼。使用者的密碼初始值為學號,使用者登入後可自行修改密碼。

錯誤回報 老師/學生可於此回報目前使用的電腦發現的問題,以便維修人員檢修的順利。

座位表 老師可於此查閱已註冊該課程之學生座位分布情形,讓每位學生

負起使用該台電腦的責任。

學生名單 老師可於此觀看有註冊此課程的學生總覽,可有效增加老師掌握

學生出席率。

學生註冊情況 老師可於此針對學生修改其註冊的情況,可用於學生換位置、加

退選課程、忘記密碼等情況。

教室網路管理 老師可於此連結到目前所在教室的『網路管理系統』,可針對該

間電腦教室的區域網路做控管,例如:學生電腦開關機控制、網

路頁面瀏覽控制、網路功能控管等。 教師管理 管理者可於此新增/刪除/修改教師的姓名、帳號。 學生管理 管理者可於此新增/刪除/修改學生的姓名、帳號。 教室管理 管理者可於此新增/刪除/修改教室的名稱、編號。

課程時間規劃表 管理者可於此新增/刪除/修改所有的課程的相關資料, 例如:課程名稱、授課老師、授課地點、授課時間。

錯誤回報總表 管理者可於此查閱所有電腦教室所回報的資料。並可查閱歷史維

修記錄,讓維修人員能更便利知道每台電腦狀況。

Page 42: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

35

4.2.2 管理者

管理者可以進入後端,針對系上的資料進行調整及查閱。管理者會進路後端

的時間都多在寒暑假期間及開學後兩個星期做資料修定,或者是課程臨時掉換等

資料有所變動的時候。

1) 系上老師:

管理者可以在此頁面為系上老師修改一些相關資訊。若有新進教師

也可以於此頁面進行新增動作。

圖 4-8 後端-教師名單管理

2) 學生管理:

學生名單若有問題,管理者可以從此學生名單管理的頁面進入進行

新增。一般的情況下,需要新增學生皆為新生入學或者是轉入本系的新

生。資料量若較多筆也可以進行批次輸入。

圖 4-9 後端-學生名單管理

Page 43: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

36

3) 系上教室:

一般教室數目是固定的,但有時會因為設備的變動造成教學的內容

有所更動,教室的名稱跟著改變也是會發生的。管理者可以藉由這個頁

面新增、修改、刪除授課教室。

圖 4-10 後端-教室名稱管理

4) 課程時間表:

每學期開學前,管理者可以在此頁面新增本學期新的課表。所需填

妥的相關資料有課程編號、課程名稱、授課地點、授課老師及上課時間

(圖 4-7)。管理者新增完前面四項後,可以於下方『時間選擇』連結進入,新增課程的課程時間表(圖 4-8)。

5) 錯誤回報表:

管理者在進行電腦維修前可以先到此頁面查閱學生們回到的錯誤

訊息。可以按照教室分類,也可以按照時間分類。並可以觀看維修歷史

紀錄。回報表上呈現的訊息有:教室編號、電腦編號、回報者學號及回

報時間(圖 4-9)。

Page 44: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

37

圖 4-11 後端-課程管理

圖 4-12 後端-課程時間選擇

圖 4-13 後端-錯誤回報總表

Page 45: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

38

4.2.3 教師端/學生端

教師與學生基本上有幾個功能是重複的,使用權限與管理者沒有多大的差

異,最大的不同點在於教室無法進入後端。如果教室在課程上有所問題的話,還

是需要聯絡管理者來處理。老師端的功能大致有:錯誤回報、自身密碼修改、學

生座位表、學生註冊資料管理、學生點名單。相較之下,學生能用的頁面是最少

的,學生能用的功能只有錯誤回報和自身密法修改。

1) 錯誤回報: 此頁面供給電腦使用者回報電腦上遇到錯誤的管道。系統預先設定

幾個大多會遇到的錯誤情形,若沒有相符合的,使用者也可以自行輸入。

圖 4-14 教師/學生端-錯誤回報頁面

2) 自身密碼修改: 使用者初始的密碼會跟自身的帳號相同,若想要修改密碼的話,可

以登入後在此功能頁上修改。

圖 4-15 教師/學生端-密碼修改頁面

Page 46: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

39

3) 學生座位表:

學生若已經完成此課程註冊動作後,也就代表著在這門課上,沒有

特殊的原因是不能隨意在換電腦了。因此學生註冊完畢後,老師可以在

此頁面清楚看到學生與電腦的相關性,依照電腦教室的不同,網頁上電

腦排列方式會盡量與實際擺設相同。

圖 4-16 教師端-學生坐位表

4) 學生註冊資料管理:

如果遇到特殊情況,例如學生不小心遺忘自己的密碼或退選課程等

情況,老師可以到此頁面增對個別已經註冊的學生做調整。按下學生名

字的連結可以幫助學生重新設定密碼;按下刪除鍵則可以解除學生對此

電腦的註冊。

圖 4-17 教師端-學生註冊資料管理

Page 47: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

40

5) 學生點名單:

如果學生已經成過註冊後,只要他有開啟自己的電腦,那老師端就可以

看到學生名單。系統並會標記雖然有註冊但沒有開機的學生名字。此頁面是

一個輔助型的頁面,實際上點名還是需要老師執行。

圖 4-18 教師端-學生點名單頁面

4.2.4教室網路管理系統

教室網路管理系統大致可分為:電源管理、網路管理、網頁管理、網路流量

報表查閱及 PXE還原。老師與管理者可於『教室課程管理系統』進入本網路管理系統,針對教室的區域網路做控管。

1) 教室電源管理:

圖 4-19 教室電源管理頁面

Page 48: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

41

本網頁結合程式腳本,可讓使用者清楚得知目前教室裡面所有電腦電源

狀態,並可直接從此頁面控制學生電腦開關機。在狀態上可分為關機、開機

使用Windows、開機使用 Linux。

圖 4-20 電腦狀態-關機

圖 4-21 電腦狀態-使用

Windows作業系統

圖 4-22電腦狀態-使用

Linux作業系統

2) 教室網路管理:

圖 4-23 教室網路管理頁面

本頁面利用程式腳本結合防火牆的應用,可讓使用者清楚得知目前教室

裡面所有電腦網路狀態,並可直接控制學生的網路使用權。在狀態上可分為

可用、不可用。

圖 4-24 網路狀態-可用

圖 4-25 網路狀態-不可用

Page 49: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

42

3) 教室網頁守門員:

圖 4-26 教室網頁守門員

本頁面利用程式腳本結合 Proxy的應用,可讓使用者針對特定的網路頁面進行控管,控制開頁面是否可以讓學生瀏覽。

4) 教室網路流量報表:

本研究針對網路流量偵測使用的是 Proxy 結合 SARG(Squid Analysis Report Generator) 分析 Squid Log 的軟體。利用程式腳本設定以週為單位,在週末晚上自動生成一網路流量報表。

圖 4-27 SARG網路流量報表(1)

在報表首頁清楚標示了幾點數據:報表統計的時間點、觀測電腦數、總

用網路流量值等。使用者可以點選想要觀看的報表進入查閱。報表內會針對

各電腦在期間內所使用的網路流量做個清楚的統整,以使用的流量做遞減排

序(圖 4-28)。如果想要各台電腦更詳細的流量資訊,可以點選想看的電腦進入察看,報表會以流量最高的網站依序往下列出清單,讓人清楚瞭解此電腦

在期間內的網路瀏覽歷程(圖 4-29)。

Page 50: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

43

圖 4-28 SARG網路流量報表(2)

圖 4-29 SARG網路流量報表(3)

Page 51: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

44

5) PXE還原管理:

圖 4-30 PXE還原管理

維修人員若遇到臨時有事無法親臨電腦教室做電腦還原,可以透過網路

點選想要還原的電腦,他將自行進行網路 PXE 安裝及所有系統還原。因為本系電腦內涵五套系統,固圖示下方有五個燈號,當系統還原完畢後燈後會

逐一亮起,等到全數燈亮後代表還原完畢,然後一分鐘後將自行關機並把燈

號完全熄滅。

Page 52: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

45

伍、結論

現代多媒體技術迅速發展以及數位資訊越來越普及,多元的數位學

習已成為人們獲得豐富資訊及知識的來源,電腦在社會上的地位也不斷

得提升。電腦的保養及資訊安全的維護將是不可避免的問題。

經由以上介紹的研究成果,我們可以在系上眾多不同規格的電腦進

行快速的保養、管理。並利用人性化的視窗介面,讓初階管理員也可以

快速上手管理系上電腦。

在資訊安全管理上,藉由本研究成果管理員將可簡單且快速的對系

上電腦做限制,減少電腦的網路漏洞,或使用者因藍覽網路時不小心疏

忽造成系統遭受病毒攻擊。整體而言,本專題研究達到的成果如下:

1. 還原系統是由免費軟體架構而成,可但可節省開銷,未來相容性、成長性價值高。

2. 人性化的視窗化還原介面,讓初階管理者也能做到還原電腦。

3. 不受硬體 Hub 性能的限制,使用市面上常見的 Hub 皆能達到高速還原的效果。

4. 簡單易懂的『教室管理網頁』,功能、步驟都有系統提示,讓使用者輕鬆上手無煩惱。

5. 藉由網路追蹤使用者資訊,管理者可以更方便查閱維修時所需的資訊。

6. 眾多電腦的資訊安全皆可依照自己的需求來變更,依照不同的環境來設定,靈活性可大幅提升。

7. 還原系統與網路管理系統集合後,可達到管理者不在現場也可進行大量電腦的還原活動。

Page 53: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

46

陸、參考文獻

[1] 中央大學研究生吳素芬,以軟體為基礎之有碟 PC教室管理系統,93/6 [2]維基百科,ghost http://zh.wikipedia.org/zh-tw/Ghost [3] [4]王光山,以自由軟體協助電腦教室管理朝陽科大-資訊管理系碩士論文,93/7/27 [5] Jazz Wang,企鵝龍與再生龍 http://bmi.ym.edu.tw/infotable/mpa3.pdf [6] 酷!學園,架設 LTSP教室的問題 http://forum.icst.org.tw/phpbb/viewtopic.php?f=16&t=15813 [7] 孫振凱,企鵝龍(DRBL)/再生龍(Clonezilla)簡介與應用 http://drbl.nchc.org.tw/lecture/20100106_SJU/20100106_DRBL_Clonezilla_Intro-SJU.pdf [8]net man,ARP協定 http://www.pcnet.idv.tw/pcnet/network/network_ip_arp.htm [9]維基百科,TCP UDP協定 http://zh.wikipedia.org/zh-tw/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 [10] 維基百科,P2P http://zh.wikipedia.org/zh-tw/PT%E4%B8%8B%E8%BC%89 [11] 酷!學園,SARG squid log 分析器(Squid Analysis Report Generator) http://phorum.study-area.org/index.php?topic=54477.0 酷!學園,要如何比較 Ghost 或 DRBL + CloneZilla: http://phorum.study-area.org/index.php?topic=56063.0 Enterprise Linux 實戰講座: http://linux.vbird.org/somepaper/20050630-dns-2.pdf Unix-Like 作業系統討論版: http://forum.icst.org.tw/phpbb/viewtopic.php?f=16&t=15813&start=15 蔡德明,鳥哥私房菜 http://linux.vbird.org/

Page 54: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

47

附錄 A 資料庫結構表

表 A-1 資料表-student

資料表名稱 student 資料表說明 用來記錄系上所有學生的相關資料。 欄位名稱 型態 功能說明 備註

sid varchar(8) 記錄學生學號 sname varchar(10) 記錄學生姓名 spwd varchar(10) 記錄學生密碼

表 A-2 資料表-teacher

資料表名稱 teacher 資料表說明 用來記錄系上所有老師的相關資料。 欄位名稱 型態 功能說明 備註

tid varchar(15) 記錄老師編號 tname varchar(10) 記錄老師姓名 tpwd varchar(10) 記錄老師密碼

表 A-3 資料表-class

資料表名稱 class 資料表說明 用來記錄系上所有教室的相關資料。 欄位名稱 型態 功能說明 備註

clsid varchar(4) 記錄教室編號 clsname varchar(20) 記錄教室名稱

表 A-4 資料表-clsstime

資料表名稱 clsstime 資料表說明 記錄每節課的上下課時間,用來判斷目前節數的依據。 欄位名稱 型態 功能說明 備註

timid int(2) 節數 tim int(4) 與節數相對應的上課時間 格式:####

Page 55: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

48

表 A-5 資料表-lesson

資料表名稱 lesson 資料表說明 用來記錄所有課程的相關資料。 欄位名稱 型態 功能說明 備註

lid varchar(8) 記錄課程編號 lname varchar(50) 記錄課程名稱

ltid varchar(15) 記錄設課老師的編號 lclsid varchar(4) 記錄授課教室編號

lt1 varchar(2) 記錄本門課星期一上課節數 一節課記錄

一筆資料 lt2 varchar(2) 記錄本門課星期二上課節數 lt3 varchar(2) 記錄本門課星期三上課節數 lt4 varchar(2) 記錄本門課星期四上課節數 lt5 varchar(2) 記錄本門課星期五上課節數 lt6 varchar(2) 記錄本門課星期六上課節數 lt7 varchar(2) 記錄本門課星期日上課節數

表 A-6 資料表-register

資料表名稱 register 資料表說明 記錄學生註冊課程的資料。 欄位名稱 型態 功能說明 備註

clsid varchar(4) 授課教室的編號 pcid varchar(2) 註冊電腦編號 clid varchar(8) 課程編號 csid varchar(8) 使用者帳號

scpwd varchar(10) 使用者密碼

Page 56: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

49

表 A-7 資料表-report

資料表名稱 report 資料表說明 記錄使用者回報的錯誤報表。 欄位名稱 型態 功能說明 備註

clsid varchar(4) 授課教室的編號 pcid varchar(2) 註冊電腦編號 rsid varchar(8) 使用者帳號 rlid varchar(8) 課程編號 rdata Text 回報資訊 stime varchar(8) 回報時間

圖 A-1 資料表關聯性結構圖

sid sname spwd

studnet

clsid clsname

class clsid pcid clid cspwd

register clsid pcid rsid rlid rdata rtime

report

lid lname ltid lclsid lt1 lt2 lt3 lt4 lt5 lt6 lt7

lesson

tid tname tpwd

teacher

Page 57: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

50

附錄 B PXE & Kickstart 網路還原程式腳本

圖 B-1 完全網路自動還原流程圖

PXE網路安裝搭配 kickstart以及本專題自撰的程式腳本,可以達到完全網路全系統重新安裝。適合用在系統損毀或者寒暑假期間需要完全更新時使用。

pxe_menu.sh:負責整合下面三個程式用。從這個程式輸入電腦編號後,確定要進行 PXE全系統還原後,及會自動執行還原流程。

pxe_script.sh:負責準備 client端要執行 PXE網路安裝時所需要的腳本。腳本檔名會依照 client端的網卡卡號(小寫)建置。(格式:01-xx-xx-xx-xx-xx-xx-xx)

pxe_wol.sh:client端的 PXE網路安裝腳本建製完畢後,執行網路開機動作,利用的是 client端的網卡卡號(大寫)。(格式:XX:XX:XX:XX:XX:XX)

kickstart:client端會按照 kickstart上的規範來進行安裝,再 kickstart最後會把還原所需要的程式 pxe_first_rewrite.sh複製進 client端,並設定/etc/rc.local讓程式在重開機後自動執行。完成以上動作,程式會自行刪除跟自己MAC相同的 PXE網路安裝腳本、重新開機。

pxe_first_rewrite.sh:client端的重新開機後,自動執行此程式。內部包含還原軟體安裝、開機選單設定、所有系統還原、設定單機還原腳本等功能。

pxe_script.sh

pxe_wol.sh

pxe_first_rewrite.sh

pxe_menu.sh

kickstart

Page 58: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

51

pxe_menu.sh #!/bin/bash

#name:pxe_menu.sh

read -p "Please keyin one pc num : " num

#num=$1

read -p "Do you want PXE Install pc ${num} ?" yn

if [ "$yn" != "y" ]; then

echo "your choice is $yn, I will stop here"

exit 0

fi

echo "PXE Install pc ${num} START"

######################################################make

/usr/bin/sudo /bin/sh /iso/tftpboot/pxelinux.cfg/pxe_script.sh ${mac}

sleep 1s

########################################################wol

/usr/bin/sudo /bin/sh /iso/tftpboot/pxelinux.cfg/pxe_wol.sh ${mac}

sleep 1s

pxe_script.sh #!/bin/bash

#name:pxe_script

#dic.ksu.i3501 mk PXE shell script

case $1 in

"1")

pxedata=01-00-18-fe-6c-ad-0d

;;

"2")

pxedata=01-00-18-fe-6c-ac-b3

;;

"3")

pxedata=01-00-18-fe-6c-ad-16

;;

"30")

pxedata=01-00-18-fe-6c-05-06

;;

Page 59: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

52

"31")

pxedata=01-00-19-bb-e3-8e-a5

;;

"*")

exit 1 ;

;;

esac

sleep 1s

echo 'default 0

prompt 1

timeout 2

display ./msg/main.msg

label 0

kernel ./kernel/vmlinuz

append ks=nfs:192.168.31.254:/iso/kickstart/ks.3501.dcms.cfg

ksdevice=eth0 initrd=./kernel/initrd.img ramdisk_size=9216' >

/iso/tftpboot/pxelinux.cfg/$pxedata

chmod 755 /iso/tftpboot/pxelinux.cfg/$pxedata

chown root:root /iso/tftpboot/pxelinux.cfg/$pxedata

pxe_wol.sh #!/bin/bash

#3501 power on shell

case $1 in

"1")

/usr/bin/sudo ether-wake -i eth1 00:18:FE:6C:AD:0D

;;

"2")

/usr/bin/sudo ether-wake -i eth1 00:18:FE:6C:AC:B3

;;

"3")

/usr/bin/sudo ether-wake -i eth1 00:18:FE:6C:AD:16

;;

"30")

/usr/bin/sudo ether-wake -i eth1 00:18:FE:6C:05:06

Page 60: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

53

;;

"31")

/usr/bin/sudo ether-wake -i eth1 00:19:BB:E3:8E:A5

;;

"*")

exit 1 ;

;;

esac

sleep 2s

Page 61: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

54

dcms_first_rewrite.sh #!/bin/bash

#script name:dcms_first_rewrite.sh

TMP="/tmp/me.$$"

domain=`ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g' |sed

's/Bcast.*$//g'|cut -d '.' -f 3`

pcnum=`ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g' |sed

's/Bcast.*$//g'|cut -d '.' -f 4`

if [ $domain == 25 ];then

cls="i2511"

elif [ $domain == 32 ];then

cls="i3502"

elif [ $domain == 31 ];then

cls="i3501"

elif [ $domain == 42 ];then

cls="i4502"

elif [ $domain == 54 ];then

cls="i5504"

fi

mou=192.168.${domain}.254:/restore

###########################################soft install

mkdir -p /server

/bin/df |grep ${mou} > /dev/null

if [ "$?" != "0" ]; then

mount -t nfs ${mou} /server

if [ "$?" != "0" ]; then

echo "I can not mount the servers partition"

exit 1

fi

fi

/bin/rpm -q partimage > /dev/null

if [ "$?" == 1 ]; then

/bin/rpm -ivh

/server/software/partimage-0.6.6-1.fc7.rf.i386.rpm

/bin/rpm -ivh

/server/software/partimage-0.6.7-1.el5.rf.x86_64.rpm

sync; sync

sleep 2s

Page 62: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

55

fi

################################################boot menu write

cp -v /server/${cls}/grub.conf /boot/grub/grub.conf

touch /server/${cls}/temp/${pcnum}

sleep 1s

################################################restore start

partimage-z1 -o -c -d -b -B gui=no restore /dev/sda2

/server/${cls}/dcms_${cls}_sda2.img

echo "##########################################"

echo "####rewrite the Windows C:(sda2) is OK####"

echo "##########################################"

echo "2" > /server/${cls}/temp/${pcnum}

sleep 1s

sync; sync

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda3

/server/${cls}/dcms_${cls}_sda3.img

echo "##########################################"

echo "####rewrite the Windows D:(sda3) is OK########"

echo "##########################################"

echo "3" > /server/${cls}/temp/${pcnum}

sleep 1s

sync; sync

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda5

/server/${cls}/dcms_${cls}_sda5.img

echo "rewrite the Linux 1 (sda5) is OK"

echo "4" > /server/${cls}/temp/${pcnum}

sleep 1s

sync; sync

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda6

/server/${cls}/dcms_${cls}_sda6.img

echo "rewrite the Linux 2 (sda6) is OK"

echo "5" > /server/${cls}/temp/${pcnum}

sleep 1s

sync; sync

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda7

/server/${cls}/dcms_${cls}_sda7.img

echo "rewrite the Ubuntu (sda7) is OK"

echo "6" > /server/${cls}/temp/${pcnum}

Page 63: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

56

sleep 1s

sync; sync

sleep 5s

###############################################rewrite boot script

echo '#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you do nat

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/bin/sh /root/bin/dcms.sh' > /etc/rc.d/rc.local

###############################################reboot

rm -rf /server/${cls}/temp/${pcnum}

rm -rf /root/bin/dcms_first_rewite.sh

reboot

Page 64: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

57

附錄 C 單機還原視窗化程式

dcms_menu.sh #!/bin/bash

TMP="/tmp/me.$$"

cls="i3501"

titstr="Dic Class Manage System ${cls}"

mou='192.168.31.254:/restore'

dialog --title "$titstr" --msgbox "You can use the following option to

restore your system\nPlease Enter to next or Esc EXIT" 15 60

idx=$?

if [ "$idx" == 0 ]; then

############################################################

mkdir -p /server

/bin/df |grep ${mou} > /dev/null

if [ "$?" != "0" ]; then

mount -t nfs ${mou} /server

if [ "$?" != "0" ]; then

echo "I can not mount the servers partition"

exit 1

fi

fi

############################################################

cp -v /server/scripts/dcms.sh /root/bin/dcms_run.sh

chmod 644 /root/bin/dcms_run.sh

chown root:root /root/bin/dcms_run.sh

umount /server

sleep 1s

sh /root/bin/dcms_run.sh

sleep 1s

rm -rf /root/bin/dcms_run.sh

fi

dcms.sh #!/bin/bash

TMP="/tmp/me.$$"

domain=`ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g' |sed

's/Bcast.*$//g'|cut -d '.' -f 3`

Page 65: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

58

if [ $domain == 25 ];then

cls="i2511"

elif [ $domain == 32 ];then

cls="i3502"

elif [ $domain == 31 ];then

cls="i3501"

elif [ $domain == 42 ];then

cls="i4502"

elif [ $domain == 54 ];then

cls="i5504"

fi

titstr="Dic Class Manage System ${cls}"

mou=192.168.${domain}.254:/restore

str="1.rewrite /boot/grub/menu.lst 2.Windows(C:) (/dev/sda2)

3.Data(D:) (/dev/sda3) 4.Linux1 (/dev/sda5) 5.Linux2 (/dev/sda6)

6.Ubuntu (/dev/sda7) 7.Widnows+Data+Linux+Ubuntu (All) 8.Nothing..

(Exit)"

re="1"

while [ "$re" == "1" ]

do

dialog --title "$titstr" --menu "Please Select anyone" 15 60 8 $str 2>

$TMP

FS=$(cat $TMP)

FSS=$(cat $TMP|cut -c1)

[ -z $FS ] && FS="EXIT"

rm -f "$TMP"

if [ "$FSS" != 8 ]; then

if [ "$FS" != "EXIT" ] ; then

dialog --title "$titstr" --yesno "You Select restore:\n\n$FS"

15 60

yeno=$?

if [ "$yeno" == 0 ]; then

yn=$FSS

elif [ "$yeno" == 1 ]; then

yn="8"

fi

else

yn="8"

Page 66: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

59

fi

else

yn="8"

fi

############################################################

if [ "$yn" -ge 1 -a "$yn" -le 7 ]; then

mkdir -p /server

/bin/df |grep ${mou} > /dev/null

if [ "$?" != "0" ]; then

mount -t nfs ${mou} /server

if [ "$?" != "0" ]; then

echo "I can not mount the servers partition"

exit 1

fi

fi

/bin/rpm -q partimage > /dev/null

if [ "$?" == 1 ]; then

/bin/rpm -ivh

/server/software/partimage-0.6.6-1.fc7.rf.i386.rpm

/bin/rpm -ivh

/server/software/partimage-0.6.7-1.el5.rf.x86_64.rpm

sleep 2s

fi

fi

############################################################

case $yn in

"1")

if [ -f /server/${cls}/grub.conf ]; then

echo "I will rewrite /boot/grub/menu.lst"

cp -v /server/${cls}/grub.conf /boot/grub/grub.conf

sleep 2s

############################################################

echo '#!/bin/sh

#

# This script will be executed *after* all the other init

scripts.

Page 67: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

60

# You can put your own initialization stuff in here if you do

nat

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/bin/sh /root/bin/dcms.sh' > /etc/rc.d/rc.local

############################################################

else

dialog --title "$titstr" --msgbox "There are NO menu.lst

demo file..." 15 60

fi

;;

"2")

if [ -f /server/${cls}/dcms_${cls}_sda2.img ]; then

echo "I will rewrite the Windows partition(sda2)"

echo "using partimage"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda2

/server/${cls}/dcms_${cls}_sda2.img

sync; sync

sleep 3s

else

dialog --title "$titstr" --msgbox "There are NO sda2's image

file." 15 60

fi

;;

"3")

if [ -f /server/${cls}/dcms_${cls}_sda3.img ]; then

echo "I will rewrite the Windows partition(sda3)"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda3

/server/${cls}/dcms_${cls}_sda3.img

sync; sync

sleep 3s

else

dialog --title "$titstr" --msgbox "There are NO sda3's image

file." 15 60

fi

;;

"4")

Page 68: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

61

if [ -f /server/${cls}/dcms_${cls}_sda5.img ]; then

echo "I will rewrite the CentOS partition"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda5

/server/${cls}/dcms_${cls}_sda5.img

sync; sync

sleep 3s

else

dialog --title "$titstr" --msgbox "There are NO sda5's image

file." 15 60

fi

;;

"5")

if [ -f /server/${cls}/dcms_${cls}_sda6.img ]; then

echo "I will rewrite the CentOS partition"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda6

/server/${cls}/dcms_${cls}_sda6.img

sync; sync

sleep 5s

else

dialog --title "$titstr" --msgbox "There are NO sda6's image

file." 15 60

fi

;;

"6")

if [ -f /server/${cls}/dcms_${cls}_sda7.img ]; then

echo "I will rewrite the Ubuntu partition"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda7

/server/${cls}/dcms_${cls}_sda7.img

sync; sync

sleep 5s

else

dialog --title "$titstr" --msgbox "There are NO sda7's image

file." 15 60

fi

;;

"7")

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda2

/server/${cls}/dcms_${cls}_sda2.img

Page 69: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

62

echo "rewrite the Windows C:(sda2) is OK"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda3

/server/${cls}/dcms_${cls}_sda3.img

echo "rewrite the Windows D:(sda3) is OK"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda5

/server/${cls}/dcms_${cls}_sda5.img

echo "rewrite the Linux 1 (sda5) is OK"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda6

/server/${cls}/dcms_${cls}_sda6.img

echo "rewrite the Linux 2 (sda6) is OK"

partimage -z1 -o -c -d -b -B gui=no restore /dev/sda7

/server/${cls}/dcms_${cls}_sda7.img

echo "rewrite the Ubuntu (sda7) is OK"

sync; sync

sleep 5s

;;

*)

echo "OK ! bye bye"

re="0"

exit 0

;;

esac

dialog --title "$titstr" --yesno "rewrite work is OK\n\nDo you want

rewrite other?" 15 60

if [ "$?" == 0 ];then

re="1"

else

re="0"

fi

done

############################################################

/bin/df |grep ${mou} > /dev/null

if [ "$?" == "0" ]; then

umount /server

fi

############################################################

echo "OK! this work finished!"

date

Page 70: 智慧型網路控管和還原系統 - ir.lib.ksu.edu.twir.lib.ksu.edu.tw/bitstream/987654321/13590/2/專題製作.pdf · 的電腦來加以控制其網路瀏覽與使用的權限。

63

附錄 D Multicast快速大量還原程式

multicast.sh #!/bin/bash

# 1st. sent auth key to client and install parimage & udpcast

clear

echo "This script will do the restore for all client PCs"

echo

read -p "how many PCs you need to go (31, 54, 61)? " pcnu

echo "the following is the filename: "

ls /restore/i4502

read -p "which file you want to send to clients? " filename

read -p "which partition you want to restore (ex> /dev/sda2)? " partition

echo "Your filename is /restore/i4502/$filename"

echo "Your choice is $partition"

read -p "Do you want to go? " yn

if [ "$yn" != "y" ]; then

echo "your choice is $yn, I will stop here"

exit 0

fi

echo "Please check messages in tty2 (server) and tty1 (clients)"

#iptables -A INPUT -i eth1 -j ACCEPT

sleep 1s

echo "udp-sender --interface eth1 -f /restore/i4502/$filename

--min-receivers $pcnu --nokbd --fec 8x8/128 &"

sleep 1s

udp-sender --interface eth1 -f /restore/i4502/$filename

--min-receivers $pcnu --nokbd --fec 8x8/128 &

#for site in $(seq 41 42) $(seq 44 45) $(seq 47 50)

for site in $(seq 1 $pcnu )

do

siteip="192.168.42.${site}"

ssh -f root@${siteip} "/etc/init.d/iptables stop; setenforce

0"

echo "udp-receiver --nokbd | gzip -d -c | \

partimage -c -o -d -f3 -b -B gui=no restore $partition

stdin &> /dev/tty1"

ssh -f root@${siteip} "udp-receiver --nokbd | gzip -d -c | \

partimage -c -o -d -f3 -b -B gui=no restore $partition

stdin &> /dev/tty1"

done

sleep 1s