Pages

Subscribe:

Ads 468x60px

Labels

2015年9月11日 星期五

防止我公司的 MAIL 不會被設定為 垃圾郵件(SPAM)


公司的業務和主管向你抱怨, Mail 寄出給國外客戶和廠商都收不到(跑倒垃圾信件匣) 甚至被當成垃圾郵件退回來?! 
這一篇是寫給公司 IT/MIS 人員參考 
1. 維護好公司的 smtp relay 安全

1.1 假設貴公司開放 SMTP ports 讓外部可以透過 smtp 發信 則要做好權限控管,沒有透過認證者 or IP 不再安全清單一律不許使用 SMTP 發信。 (也可考慮 VPN) 
1.2 定期檢查使用者是否濫用 SMTP 寄送非公司相關信件 
1.3 定期檢查使用者電腦是否中毒、中木馬成為發送廣告信的跳板 
1.4 教育使用者足夠的資訊安全概念 
1.5 請主要客戶、廠商幫忙,設定從公司來的郵件為「非垃圾郵件」 e.g. Google Gmail 篩選器 (Filter) -> 不要將它傳送到垃圾郵件 http://mail.google.com/support/bin/answer.py?hl=b5&answer=6579 
Yahoo奇摩 信箱的 「自動分類」 http://tw.promo.yahoo.com/tutorial/mail20/cg_filter1.html 
Microsoft Outlook 的 「安全的收件者」 http://office.microsoft.com/zh-tw/outlook/HP052433571028.aspx 


1.6 安裝相關的 Antivirus Mail Gateway or Mail-Server AntiVirus 
1.7 定期檢查 Delivery Failures 的信件, 看看是否有定期寄給客戶、廠商的 mail address 已經失效,sent failed 請聯絡他們更換 address,減少 send/deliver failures。 

2. 設定 DNS SPF TXT (Sender Policy Framework)記錄

詳細請看官網 http://www.openspf.org/ 
2.1 如何檢查 SPF TXT 記錄? => 使用 SPF 官網提供的 Tools http://www.openspf.org/Why http://www.kitterman.com/spf/validate.html 
=> 或者用 dig 來查詢 Google & Hinet's public DNS 代碼:
dig @8.8.8.8 -t TXT your-company-org-school.com dig @168.95.1.1 -t TXT your-company-org-school.com 


2.2 或者寄送一封信到 spf-test@openspf.org 然後一分鐘內,你就會收到一個退信, 裡面有 Result="pass" 表示通過 SPF 測試驗證 
如果是 Result="none" 那就表示 SPF 還沒有設定完成 
2.3 如果你是使用 Google Apps 應用服務 (Google 代管郵件) 
你的 SPF 應該長得是這樣子,都在同一行! 有 "double quote" 然後 all 前面是 ~ 波浪符號 代碼:
"v=spf1 include:aspmx.googlemail.com ~all" 


2.4 另外記住 TXT 也是 DNS entries 的一部分,DNS 生效需要 24~48 小時。 
2.5 舉例,成功的設定 SPF 會讓 Google Mail Gmail 更不會誤判垃圾信件 
Example BEFORE-SET-SPF-TXT "NEUTRAL" 未設定之前,判定為「中立」 代碼:
Received-SPF: neutral (google.com: 74.125.82.52 is neither permitted nor denied by domain of XXXXXXXX) client-ip=74.125.82.52; Authentication-Results: mx.google.com; spf=neutral (google.com: 74.125.82.52 is neither permitted nor denied by domain of XXXXXXXXX) smtp.mail=XXXXXXXXX 

Example AFTER-SET-SPF-TXT "PASS" 設定之後,判定為「認證通過」 代碼:
Received-SPF: pass (google.com: domain of XXXXXXXXX designates 74.125.82.52 as permitted sender) client-ip=74.125.82.52; Authentication-Results: mx.google.com; spf=pass (google.com: domain of XXXXXXXXX designates 74.125.82.52 as permitted sender) smtp.mail=XXXXXXXXXXX 


3. 設定反查

相較於正查: Host Name / Domanin --> IP Address 所謂的反查就是 IP Address --> Host Name / Domain Name 
有一些 Mail server 會透過檢查反查來判定 SPAM 的分數。 設定反查在某些狀況可以降低被誤判的機率。 
如果公司自己有自己的 DNS server,就自己改 (記得 ns1, ns2, ns3 ... 所有 ns 都要改) 
如果是請 IDC/ISP 代管, 大部分的 IDC/ISP (Hinet/Seednet) 都可以請工程師幫忙設定反查,應該也免費; 有 IDC/ISP 的和上述 TXT 一樣,提供 DNS manager 介面提供可設定。 
4. 減少強制附加「智財權聲明」簽名檔

有一些公司,在 outbound 的 mail 會強制附上 類似下面這種「智財、版權」聲明稿。 
英文叫做 legal statement signature legal declaration signature copyright statement signature ... 
而這個動作, 導致「郵件本文」有時候比「聲明簽名檔」還要小... 如果某一些舊機器判定的公式有這一條, 可能會增加被誤判的機率。 
建議: 換成適當大小的圖片、減少字數、或者選擇適當的顏色、適當的字體(例如避免,白底白字)。 

引言回覆:

本郵件之資訊可能含有受機密或特殊管制之資訊,僅供指定之收件人使用。若您並非指定之收件人,切勿轉寄、散佈、複製或公開本通訊內容之任何部份,並請即通知寄件人並完全刪除本郵件。
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. Please consider the environment before printing this email. 


5. 時常查詢是否貴公司已經在黑名單

SPAM Black List or Block List Query 
http://www.spamhaus.org/ http://www.spamhaus.org/lookup.lasso (SBL, XBL PBL) http://www.dnsstuff.com/tools http://www.openrbl.org/ 
時常檢查,或者寫一個簡單的 script 照三餐檢查。 

6. 避免公布貴公司的 Mail,防止 SPOOF

避免 SPAM/Spoof Address Spider 
6.1 有 Contact 需求請盡量用 Contact Web-Form or Skype or 電話號碼 
6.2 如果真要公布請用 E-Mail 圖片 (e-mail address 用圖片展示) 
6.3 盡量減少公布可以 group mail 的 address 


7. 考慮使用 DKIM or Domainkey 金鑰簽署郵件

e.g. 使用 Google Apps 提供的 DKIM 功能, 一樣是 DNS TXT FIELD 
代碼:
google._domainkey    v=DKIM1; k=rsa; p=ABCDEFG..... 



DKIM/DomainKeys 參考網址 http://www.dkim.org/ http://support.google.com/a/bin/answer.py?hl=zh-Hant&answer=174124 http://support.google.com/a/bin/answer.py?hl=zh-Hant&answer=180504&topic=2752442&ctx=topic 

實作如下圖,多了一個「金鑰簽署者欄位」


 

2015年9月10日 星期四

Chakra@中文: KRDC 遠端遙控 Windows 教學

Chakra@中文: KRDC 遠端遙控 Windows 教學: 如果我們想要在 Chakra Linux 上連線進入遠端的 Windows 電腦,使用 KRDC 便可以透過 Windows 內建的遠端桌面(RDP)服務連入 Windows。 KRDC 支援遠端桌面(RDP)與 VNC 遠端連線 Windows 電腦。不過 RDP 提供加密...

阿舍的隨手記記、隨手寫寫...: OpenVAS 掃瞄多部電腦

阿舍的隨手記記、隨手寫寫...: OpenVAS 掃瞄多部電腦: 阿舍 上次有介紹如何在 Ubuntu 安裝 OpenVAS 這個安全漏洞掃瞄軟體 ,不過,那個時候只有說明如何掃瞄有安裝 OpenVAS 的那台電腦,並沒有提到如何對其它電腦進行掃瞄,但是,在實務上,當然是只安裝一台 OpenVAS 來掃瞄所有需要保護的電腦囉 !  所以,這次阿...

以群組原則設定網域使用者擁有 Local Administrator 權限及修改密碼

資料來源

首先,因為網域使用者帳號預設是放在DC的「網域名稱→User」底下,而這個「User」並無法直接設定群組原則(Group Policy)。此外企業內的電腦通常會因各種因素而有不同的管理需求,所以應該要建立不同的OU來做管理。簡單的來說,我們可以先在「群組原則管理」(gpmc.msc)中的「群組原則物件」建立一些符合需求的原則,然後建立各部門的OU,最後再依實際需求將「群組原則物件」複製到那個OU去(或是直接在OU裡面新增原則),比較能符合現實層面的管理。
一、賦予權限: 讓網域內的特定使用者擁有本機 Administrator 帳戶權限:
那如果要讓某位網域使用者 (假定為 CYCU\TEST1) 具備某一個OU下所有成員電腦中的系統管理員權限,若直接將這個 CYCU\TEST1 加入 Domain Admins 群組雖是最快的方式。但如此一來,這個 CYCU\TEST1 就具備了管理網域的權限,這樣權限絕對是過大了。因此建議的作法是在OU底下使用群組原則中的「受限群組」來將網域使用者加到 Administrators 群組織中,以後客戶端就可以使用 Administrator 這個管理員帳戶登入自己的電腦。操作的方式請參照下圖:
二、收回權限: 每次開機時修改網域內使用者的本機 Administrator 帳戶密碼:
雖然上面介紹了如何給 Local Administrator 權限,但筆者還是不太適合,因為那樣真的就有點失去 AD 的意義了,每個人都不受控制… 其實不給 Local Administrator 最主要的用意是在於防範使用者被賦予該部電腦的最高管理權限,可能導致中毒時去攻擊其他網域內的電腦,所以為了安全性,不開放才是比較好的做法啊…
那有什麼好方法可以管理 Local Administrator 帳戶的權限呢? 如果公司政策支持的話,網管人員最簡單的做法就是寫一個 vbs,如此就可以修改網域內每部電腦的 Local Administrator 密碼,然後統一保管,並要求使用者必須以網域帳號登入。以下的範例是修改 Local Administrator 的密碼為 12345678(如果 AD 裡面設定密碼必須複雜化,則這個 vbs 可能不會修改客戶端 Local Administrator 帳戶密碼):
strComputer = "."

Set objUser = GetObject("WinNT://" & strComputer & "/Administrator,user")
objUser.SetPassword "12345678"
objUser.SetInfo
1.在OU底下使用群組原則後再依下圖操作:
2.點選「顯示檔案」:
3.將第一步修改密碼的 vbs 放進去後即可讓使用者在登出後自動執行:
4.上述兩種原則設定完成後,如果想立即讓網域底下的電腦生效,請在 DC 上輸入「gpupdate /force」:

2015年9月9日 星期三

Visual FoxPro 9中新的數據處理方式

資料來源
Visual FoXPro 9.0與以前的版本相比,在數據引擎上做了很大的改進。從增強的SQL語言到支持新的數據類型和索引都作了增強,本文闡述了這個最新版本作爲一個成熟開發平台的魅力。
  數據引擎的改變主要體現在以下5個方面:
  · 增強的SQL語言:取消了很多硬編碼的限制,增強了子查詢和關聯查詢的支持,支持更複雜的表達式,以及增強了對UNION的支持。
  · 性能方面:加入了一個全新的索引方式,增加了過濾型索引的性能,提高了了TOP n ,MIN()/MAX()以及LIKE這些查詢子句的性能。
  · 命令和函數:對數據操作的更具靈活性,增強對SQL中showplan的支持,增加ICASE()來代替IIF()函數。
  · 新的數據類型:支持VarChar、VarBinary和BLOB等新的數據類型,並提供相應的類型轉換函數:CAST()。增強了現有函數對數據類型的控制和轉換能力
  · 遠程數據:增強了事務控制的能力,遊標機制使得代碼邏輯更加清楚,並且對CursorAdapter作了加強,使開發者只需數行代碼就可以方便地訪問遠程視圖。
  由于提供了與SQLServer強有力的互操作性,Visual FoxPro 9對客戶端/服務器模式做了很大的改進。通過支持新的數據類型,並取消了SQL語言的諸多限制,同一套代碼可同時運行在本地數據引擎和SQL Server這兩種不同的數據源上。 
  以上是大致的描述,下面讓我們深入剖析這些新增功能。
  SQL子查詢的增強
  假如要用一句話來表示SQL子查詢的增強程度,那就是:“太多了”!SQL語句中再沒有了元素數量的硬編碼限制。一個簡單的SELECT語句能包括更多的表、連接、子查詢、嵌套子查詢和聯結。
  SQL語句中的IN子句中再也沒有數量限制。在以前的版本中IN實際被映射到了一個名字INLIST()函數中,但現在這種依靠取消了。這個改變使得IN子句能使用更多的參數來生成非常複雜的SQL語句。與原來版本不同,只要找到相應記錄,Visual FoxPro 9會自動停止計算IN子句中的表達式,這將帶來性能的提高。
  完全無限制?
  IN參數表的元素也不是完全無限的,它的最大數量等于函數SYS(3055)的返回值,而這個函數的返回值與實際可用內存有關,因此假如你的可用內存越大,那麽IN子句支持的元素就越多。無硬編碼的限制並不等于完全無限制。像可用內存以及表達式的複雜性都能決定是否能運行一個非常長而且複雜的語句,你要花很大的功夫才能找出它們在你的機器上的真實極限。
  增強的子查詢功能
  子查詢在SQL語言中是一個很有用的功能。它一般處于WHERE子句中的右邊,充當一個選擇器的作用。在Visual FoxPro 9中,子查詢還可以處于SELECT的參數列表中(稱爲投影)以及FROM子句中(稱爲派生表)。
  當你使用投影時,假如子查詢沒有返回任何記錄,那將返加一個空值(NULL)。投影還答應互相關聯,以後我們會講到這點。
  以下使用投影的SQL語句的一個例子:
  
  SELECT ;
  C.CustomerID, ;
  C.CompanyName, ;
  (SELECT YTD_Sales FROM Sales_02 WHERE ;
  C.CustomerID = Sales_02.CustomerID) AS Y02,;
  (SELECT YTD_Sales FROM Sales_03 WHERE ;
  C.CustomerID = Sales_03.CustomerID) AS Y03,;
  (SELECT YTD_Sales FROM Sales_04 WHERE ;
  C.CustomerID = Sales_04.CustomerID) AS Y04 ;
  FROM Customers C 
  這個SELECT語句返回最後三個會計年度的客戶ID和公司名稱。
  使用投影的限制是子查詢只能查詢一個字段,並且子查詢返回的記錄數不能大于1。
  投影的另一個有價值的使用方法是它可以成爲表達式的一部分,如下所示:
  
  SELECT ;
  C.customerID, ;
  C.companyname, ;
  SUM(D.quantity*D.unitprice) AS CustTotal ,; 
  (SUM(D.quantity*D.unitprice) / ;
  (SELECT SUM((quantity*unitprice)-discount) ;
  FROM OrderDetails D2) ;
  )*100 AS PctTotal ;
  FROM Customers C ;
  INNER JOIN Orders O ;
  ON C.customerID = O.customerID ;
  INNER JOIN OrderDetails D ;
  ON O.orderid = D.orderid ;
  GROUP BY C.customerID, C.companyname, O.orderID ;
  ORDER BY pctTotal DESC
  這個SELECT語句返回客戶ID、公司名稱、銷售額以及銷售額占總銷售額的百分比。
  注重在以上語句中,子查詢充當SELECT列表中的一個複雜表達式,並且它還包含一個聚集函數SUM(),這裏我們可以看到使用它的靈活性。
  子查詢的另一種使用場景即派生表,實際你可以將它看作一個邏輯表。
  考慮以下的例子:
  
  SELECT ;
  C.customerid, ;
  P.prodUCt_count AS p_count;
  FROM Customers C, ;
  (SELECT c2.customerid, ; 
  COUNT(DISTINCT D.productID) AS p_count ;
  FROM Customers C2 ;
  INNER JOIN Orders O ;
  ON C2.customerid = O.customerid ;
  INNER JOIN OrderDetails D ;
  ON O.orderid = D.orderid ;
  GROUP BY c2.customerid) AS P ;
  WHERE C.customerID = p.customerID ;
  AND P.p_count >= ;
  (SELECT (COUNT(*)*.50) FROM Products) ;
  ORDER BY p.product_count DESC
  這個SELECT語句返回客戶ID、所有購買了50%産品的客戶,以及它們所購買的産品數量。
  觀察以上的語句,你可以發現派生表有一個名爲“P”的別名,這與普通字段別名的語法一樣――都必須用AS子句來表達。而且這個子查詢很複雜(在本例中,它關聯了兩個表),這個派生表還可以作爲WHERE子句的一個條件或者將它放在ORDER BY子句中。
  與投影不同,派生表能返回多個字段以及多條記錄,但它不能相互關聯。另外,所有的子查詢都會在主句中的SELECT執行之前運行。
  子查詢還可以充當UPDATE語句中的SET列表。但SET子句只答應使用一個子查詢,並且當SET子句使用子查詢後,那WHERE子句中就不答應再使用子查詢了。
  更好的關聯支持
  新版本中的UPDATE語句和DELETE語句支持關聯。這樣,一條語句可以引用不同的表,如下所示:
  
  DELETE products ;
  FROM mfg ;
  WHERE mfg.productID = products.productID;
  AND mfg.discontinued = .t.
  這個DELETE語句刪除mfg表中所有不再生産的産品。
  另一個關聯UPDATE語句示例如下:
  
  UPDATE products ;
  SET unitprice = mfg.msrp *.90 ;
  FROM mfg ;
  WHERE mfg.productID = products.productID 
  這條UPDATE語句將零售産品的價格打了九折。可能你會問:它支持子查詢嗎?當然支持。但使用的時候要格外小心。因爲假如子查詢沒有返回任何記錄,那將會返回一個值爲NULL的空記錄。而這恰恰不是你所希望得到的結果。如下所示:
  
  UPDATE products ;
  SET unitprice = ; 
  (SELECT ( msrp *.90 ) ;
  FROM mfg ;
  WHERE mfg.productID = products.productID)
  這條UPDATE語句的作用與上條基本相似,但假如子查詢中的産品沒有找到的話,那unitprice將被置爲NULL。
  視圖與查詢設計器
  盡管新版本增強了子查詢功能,但不幸的是在視圖與查詢設計器中並不支持這種增強功能。並且由于SQL中的IN子句中的元素數目取消了硬編碼的限制,但視圖與查詢設計器中並不知道,因此假如你使用設計器,那IN子句還是只支持24個元素。
  增強的UNION操作符
  由于聯結的數量沒有了硬編碼的限制,你可以在INSERTINTO子句的結果集中使用UNION。也可以在使用UNION的同時使用ORDERBY子句。
  性能
  不管你是訪問遠程數據還是依靠于它強大的本地數據庫引擎,Visual FoxPro始終將性能考慮在第一位。Visual FoxPro 9進一步地增強了數據引擎的功能。
  二進制索引
  這種新型的索引使用方法如下:
  INDEX ON DELETED() TAG DELETED BINARY
  這種索引能與任何非空的邏輯表達式一起使用。除此之外,FOR表達式、ASCENDING、DESCENDING、UNIQUE或CANDIDATE要害字不能與它一起使用。
  二進制索引並不支持SET ORDER TO命令,而且INDEXON命令會將當前的order設爲0。但你可在Seek語句中使用二進制索引。
  二進制索引最大的優勢在于它的索引文件大小。以一個包含800萬條記錄的表爲例,它的二進制索引文件的大小差不多爲表大小的三十分之一。尺寸越小意味著在執行APPEND和REPLACE操作時I/O處理速度越快,但遺憾的是所有的Rushmore優化技術目前都還不支持二進制索引。
  假如SQL語句返回的記錄起過表中總記錄的三分之一的話,那Rushmore將得到很好的發揮(當所有的記錄都命中的話會提高92%的速度)。假如SQL語句返回的記錄低于總記錄的三分之一,那Rushmore將變得很慢(假如沒有記錄命中的話會降低兩倍的速度)。
  在Visual FoxPro 9中,將DELETE語句設置爲二進制索引是一種增強性能的簡單方法。但要注重版本的問題,因爲以前的版本並不支持這種新的索引方式。
  Rushmore優化技術
  新版本中有使用了大量的Rushmore優化技術,例如對TOPN[PERCENT]作了優化,這樣便能提供更好的性能。它一般與ORDER BY子句配合使用,返回前N個或者前百分比數目的記錄。在Visaul FoxPro 9中它減少了內排序操作和文件I/O操作,使得執行這種類型的語句占用更少的內存,並且正如此語句所言,它只返回確切的前N個記錄。
  在以前的版本中,假如要統計一個班級總分排在前十名的學生,但中間存在並列名次的話,那結果會返回多于10個的記錄。
  在適當的情況下,Visual FoxPro 9將在FOR DELETED()子句和FOR NOT DELETED()子句中使用過濾索引來對MIN()和MAX()這兩個聚集函數進行優化,可以提高MIN()和MAX()的計算速度。
  假如LIKE模糊查詢語句中的條件以“%”爲結尾,那查詢速度也將得到很大提高(請注重,“%”只能出現在查詢條件的結尾,而不能出現在其它地方,否則優化無效)。這種優化的結果等同于普通WHERE子句查詢的速度。
  更多的智能索引技術
  Visual FoxPro 9比以前的版本更智能化,它充分地讓索引獲得Rushmore的優化技術,如下所示:
  
  INDEX ON DELETED() TAG DELETED 
  以上語句自動對NOTDELETED()和DELETED()條件進行優化,不用你添加一條INDEX ON NOTDELETED()來實現。
  這裏有個特例,就是當索引過過濾表達式采用了FORNOTDELETED()作爲Rushmore的優化,並且SETDELETED設爲ON的話,那就無須爲NOTDELETED()作優化。(王朝網路 wangchao.net.cn)

2015年9月7日 星期一

How to Enable Intel Virtualization Technology (vt-x) and amd-v in BIOS – Updated

資料來源

Most of the time, hardware virtualization technology extensions should be enabled in motherboard BIOS in order to run recent OS and applications. Specifically Windows 8 and 8.1 require vt-x/amd-v enabled processors even to install it on virtual machine. Your PC processor and motherboard should support this feature, if they don’t, you can’t do anything to get this feature because it’s a built-in hardware feature. This simple guide explains how to enable Intel virtualization technology (vt,vt-x) for Intel processors and amd-v for AMD processors.
Modifying BIOS settings could be tricky and it is different for each type of motherboards and BIOS. But you must enable it if it’s really required to install and run specific OS or applications.  Even though it is easy to do, I highly recommend to check the manual or online guide of your motherboard vendor.
Enable Virtualization Technology (VT)
All the latest processors and motherboards support virtualization technology (vt-x/amd-v). If you have old PC, double check the processor model for this feature. Before play around in BIOS, use the appropriate tools to detect the current VT-X status in OS level. If it’s already enabled (detected by these tools), then no changes required in BIOS.

Where to Find Intel Virtualization Technology (VT-X) in BIOS?

It can be found under ‘Advanced Chipset settings’ in AWARD BIOS. Normally these vt-x/amd-v extension settings will be available in advanced settings in most of the motherboards.
enable Intel Virtualization Technology (vt-x)
After you have changed the settings to disable or enable, it’s recommended to shutdown the computer for minimum 10 seconds and restart it (Cold Restart) to take effect. Latest motherboards automatically detect these type of changes and do the cold restart. Whenever I change VT setting in my motherboard, it delays the restart automatically.

How to Confirm Virtualization Technology (vt-x/amd-v) is Enabled or Disabled?

1) If your processor is made by Intel, use this free utility to see the result which operating system is sensing.
intel util
Once the utility is installed in Windows 7 or 8 computer, you can use and identify the status as shown below.
Enable Virtualization Technology (VT)
2) To check the status of AMD-V, AMD users can download AMD-V detection utility here.
amd-v result
3) There is a tool available from Microsoft which will work on both Intel and AMD processor Windows OS computers.
This tool doesn’t work on Windows 8, obviously, if you are using Windows 8, then vt-x/amd-v is already enabled on the same PC,that’s why you could install Windows 8 on it.
Installation is not required here, execute the EXE file and following result will appear.
Enable Virtualization Technology (VT)
One of these above tools will help you to identify vt-x/amd-v support in your laptop or desktop computer.

如何使用 Synology NAS 實作 PXE

資料來源


概述

DiskStation 支援 TFTP 並搭載 Synology DHCP Server 套件,可成為開機前執行環境 (Preboot Execution Environment, PXE) 設定中不可或缺的重要角色。透過 PXE,用戶端裝置可使用儲存在 DiskStation 上的網路啟動載入器程式來開機,不需透過本機儲存空間上的作業系統來啟動。對於欲在大型部署環境下集中並簡化管理程序的企業來說,實為一套理想的解決方案。

本文將引導您啟動 TFTP 服務並透過 DiskStation 設定 PXE。
注意:本文假設您已具備程式或網路管理之經驗。

目錄

  1. 什麼是 PXE?
  2. 開始進行之前的準備
  3. 設定 PXE

1.什麼是 PXE?

開機前執行環境 (Preboot Execution Environment, PXE) 可讓裝置經由網路開機,無須透過本機儲存空間上的作業系統來啟動。用戶端裝置不需使用其本機儲存空間上的作業系統,即能透過 Synology NAS 上的網路啟動載入器程式 (Network bootstrap program, NBP) 進行開機。
在此種環境下,您可在 Synology NAS 上為用戶端裝置安裝作業系統,不必攜帶一疊安裝光碟、實際前往每台用戶端 PC。設定一台新的用戶端 PC 就跟將其連上網路並開啟電源一樣簡單。此方式可大幅節省管理時間。
若要實作 PXE,您需將網路啟動載入器程式儲存在 Synology NAS 任一個您所選的資料夾中。修改現有 DHCP 伺服器設定以將用戶端裝置重新導至正確的檔案路徑之後,用戶端裝置就能透過 TFTP 存取網路啟動載入器程式。另一個作法是安裝 Synology DHCP Server 套件,便可在同一台 Synology NAS 上提供 DHCP 及 TFTP 服務,從而實作一套多合一 PXE 解決方案。

2.開始進行之前的準備

在您開始進行之前,請執行下列操作:
  • 架設 DiskStation 並安裝 Synology DiskStation Manager (DSM)。
  • 建立至少一個儲存空間 (參見此處) 及共用資料夾 (參見此處)。
  • 確定您的用戶端裝置支援 PXE。
欲瞭解基本硬體、軟體設定的相關資訊,請參閱 Synology 產品的快速安裝指南。您也可以參閱 Synology DiskStation 使用手冊來取得與本文主題相關的額外資訊。兩者皆可於 Synology 下載中心取得。

3.設定 PXE

在下列區塊中,我們將介紹兩種能讓 DiskStation 協助您實作 PXE 的方式:

3.1 透過外部 DHCP 伺服器在 DiskStation 上設定 PXE 及 TFTP 服務

簡單式檔案傳輸通訊協定 (Trivial File Transfer Protocol, TFTP) 為一套簡單的檔案傳輸通訊協定,經常用來將網路啟動載入器程式傳輸至 PXE 用戶端裝置。啟動 DiskStation 上的 TFTP 服務便可將網路啟動載入器程式傳輸至用戶端裝置。用戶端裝置與現有的 DHCP 伺服器結合後,就能取得 DiskStation 上儲存的網路啟動載入器程式並用其開機。下方的圖表 1 說明此種 PXE 設定下各裝置所扮演的角色。
圖表 1 說明此種 PXE 設定下不可或缺的三種裝置。
  1. DHCP 伺服器為用戶端裝置提供 TFTP 伺服器的 IP 位址及網路啟動載入器程式資訊 (例如檔案路徑等)。
  2. TFTP 伺服器 (亦即您的 DiskStation) 透過 TFTP 將網路啟動載入器程式傳輸至用戶端裝置。
  3. 用戶端裝置使用網路啟動載入器程式開機。
若要在 DiskStation 上啟動 TFTP:
  1. 前往主選單 > 控制台 > 檔案服務,並選擇 TFTP/PXE 頁籤。
  2. 勾選啟動 TFTP 服務
  3. 在 TFTP 根目錄區塊,選擇您存放網路啟動載入器程式及用戶端裝置開機所需之全部檔案的資料夾。(您的設定及環境可能會與下列例子有所不同。)
  4. 按一下套用來儲存設定。
  5. 登入 DHCP 伺服器並完成網路的正確設定。(此外,您也可以參考下方區塊來在同一台 DiskStation 上設定 DHCP Server 並完成 PXE。)
  6. 開啟用戶端裝置的電源。您現在便能使用 PXE 來使其開機。

3.2 在同一台 DiskStation 上設定 DHCP Server 並實作 PXE

如果您希望使用 DiskStation 同時提供 TFTP 及 DHCP 服務,您可前往套件中心安裝 Synology DHCP Server 套件。在執行 DHCP Server 的情況下,只需一台 DiskStation 便能提供 PXE 必要的服務,因此可簡化您的環境設定。圖表 2 說明此種 PXE 設定下各裝置所扮演的角色。
圖表 2 說明在一台 DiskStation 上執行 DHCP Server 並實作 PXE 時各裝置所扮演的角色。
  1. TFTP + DHCP 伺服器 (也就是您的 DiskStation) 可為用戶端裝置提供網路啟動載入器程式的資訊 (例如檔案路徑等)。
  2. 用戶端裝置使用網路啟動載入器程式開機。
若要在 DiskStation 上設定 DHCP 伺服器:

  1. 前往主選單 > 控制台 > 檔案服務,並選擇 TFTP/PXE 頁籤。
  2. 勾選為 PXE 在此伺服器上設定 DHCP 服務。若您尚未安裝 DHCP Server,您將接到前往套件中心安裝 DHCP Server 的提示。
  3. 開機載入器區塊中,選擇您前面所指定之 TFTP 根目錄內的網路啟動載入器程式。(您的設定及環境可能會與下列例子有所不同。)
  4. 正確設定 DHCP 子網路。IP 位址會根據這些設定分配給 PXE 用戶。
  5. 開啟用戶端裝置的電源。您現在便能使用 PXE 來使其開機。