Using Wake-On-LAN with Linux

圖文.我本善良 (asako@parzival.org)



●前言●
 Wake-On-LAN 是使用AMD "Magic Packet"技術,它非常類似於PCMCIA數據機的"wake
on ring"的訊號技術,其基本的原理是提供網路卡一個非常低的電源讓它去監看網路上
的特別的封包進而起動電腦。

●本文●
 當我們要喚醒目標電腦時,我們必需要知道這台電腦的網路卡編號及網路卡位置.如果
您的機器是有多片的網路卡時,您還必需確認您的WOL連接線接在哪一片網路卡。

 到ftp://ftp.scyld.com/pub/diag/ether-wake.c.下載喚醒程式,使用下面的指令
cc -O -Wall -o ether-wake ether-wake.c編譯後會有ether-wake執行檔。

然後在我們的目標機器裡載入網路卡的驅動程式並且利用ifconfig記錄網路卡的卡號。
關掉目標電腦,請注意不要把電源開關關掉,不然將無法從網路開機。

 在我們的控制電腦執行以下指令。

  [root@asako mail]# ~asako/ether-wake 00:50:14:cc:2e:8c

然後我們將會看到目標的電腦自動的開機。

已支援的網路卡
 目前大部份支援網路開機的晶片都有支援,這裡只是列出部份簡單的列表。如intel
i82557(EEPro100B)及目前intel的標準版本i82558 (EEPro100+) and i82559。

使用i82557晶片,內建100Mbase的Intel主機版,但是您必需昇級您的韌體

其它的晶片如AMD Fast-PCnet,和早期Intel/Digital 21143,和3Com(3c905-revB),
和Symbios的晶片(不支援早期的gigabit的晶片)。

要建立一個完整的網路開機的環境您必需要有一個支援網路開機的主機版,和一個可以
在電腦關機時能提供,5V電源的ATX電源供應器。要網路開機能夠正常的工作,您的主機
版必需要能夠提供足夠的電源給網路卡讓它能夠去接收網路上的封包並且判斷是否符合
進而開機,如果您沒有以上的支援您將無法使用網路開機。

●ether-wake程式選項說明●
ether-wake 程式提供以下的選項:
-b  傳送喚醒封包至廣播位置。
-D  增加除錯等級。
-i  網路卡介面名稱,內定值為"eth0"。
-p  密碼,在封包後面加入四至六個byte的密碼。(請看以下密碼的說明。)
-v  增加說明等級。這個選項讓您能夠去追蹤封包的產生。
-V  顯示程式的版本。


●Wake-On-LAN with Linux 密碼說明●
 一些網路卡的晶片提供WOL密碼選項,為了使WOL的封包能被接收您必需加上密碼,而
密碼長度為四或六個 bytes。密碼可能為十六進位(網路卡卡號)或者十進位(Internet
位置)的格式。例如:
-p 00:22:44:66:88:aa
-p 192.168.1.1

●結語●
 目前比較新式的網路卡大概都有支援到網路開機,便宜一點的如Dlink530TX-Rev-b,
比較好一點的大概就是3com及Intel的網路卡。各位不彷試試網路開機的新功能。