遠程開機

網卡支持的遠程喚醒功能

遠程開機Wake onLAN(WOL),俗稱遠程喚醒,是現在很多網卡都支持的功能。而遠程喚醒的實現,主要是向目標主機發送特殊格式的數據包,是AMD公司製作的MagicPacket這套軟體以生成網路喚醒所需要的特殊數據包,俗稱魔術包(Magic Packet)。MagicPacket格式雖然只是AMD公司開發推廣的技術,並非世界公認的標準,但是仍然受到很多網卡製造商的支持,因此許多具有網路喚醒功能的網卡都能與之兼容。

概念簡介


遠程開機,又可以被稱為遠程喚醒技術,英文簡稱WOL,是指可以通過區域網、網際網路或者通訊網實現遠程開機,無論被訪問的計算機離用戶有多遠、處於什麼位置,只要通過區域網、網際網路或者通訊網,就都能夠被隨時啟動。

使用範圍


Boeing、IBM、Cisco、United States Army、Canada Customs and RevenueAgency、Intel Corp、Compaq、Lucent、Microsoft Ltd、Dell ComputerCorporation、Hewlett-PackardSiemens、Walt Disney World Co.、CompuwareCorp、AMD (Isn't that ironic)、Nortel Networks、Macromedia Inc.、BritishTelecommunications plc、eBay等等公司均在使用WOL技術。

硬體設置


綜述

要實現遠程喚醒,還需要硬體的設置:
主板和網卡必須都支持遠程喚醒功能。一般2002年以後的主板都支持這個功能,支持的主板上通常都有一個專門的3芯插座,以便在關機時為網卡供電。但並非所有的網卡都支持該功能(特別是一些價格較便宜的低檔網卡),要判斷網卡是否支持遠程喚醒功能的方法很簡單,支持遠程喚醒的網卡上都有一個3針的WOL介面和一條3芯的遠程喚醒電纜,通過判斷網卡是否帶有WOL介面即可(有些較新的網卡可能沒有WOL介面也能支持遠程喚醒。這是因為現在流行的主板支持PCI2.2標準,而PCI2.2標準不需要通過專門的WOL介面為網卡供電,允許主板直接通過PCI插槽向網卡提供Standby電源)。例如網路人遠程開機卡,也叫網路人電腦控制器,或是遠程控制電腦開機卡,是一種開機設備,可以實現遠程控制電腦自動開關機、定時開關機。

硬體連接

網卡安裝完畢后將遠程喚醒電纜的一端插入到網卡的WOL介面上,另外一端與主板的3針WOL遠程喚醒介面相連(該介面旁通常標有WOL_CON的字樣,當然如果主板和網卡都支持PCI2.2標準則無須做這一步)。
需要說明的是,某些主板上已經集成了具有網路喚醒功能的網卡,只要開啟“Wake on PCI Card”功能就可以了,沒有什麼三腳插座,更不需要專用的三芯連線。

CMOS

打開CMOS遠程喚醒功能很簡單,只要將CMOS設置中的“Power ManagementSetup”的“Wake Up On LAN”或“Resume byLAN”項設置為“Enable”或“On”即可。

ATX

必須要使用ATX電源,而且其+5V Standby電流必須比較大,根據Intel的建議,它需要在600mA以上。該電流的大小可以從電源外部標識中的+5VSB(或+5AUX,5VSB)欄里查到。(絕大部分的網卡在0.7A以下都可喚醒)
如果遠程計算機最後一次關機的時候是屬於非正常關機(突然斷電或者關機時死機等),喚醒就有可能會失敗。在Windows2000/XP系統中如果在關閉計算機時使用休眠,也可能會造成喚醒失敗。這是因為一些網卡需要複位一個標記,這隻有在操作系統正常關閉的時候才會發生。
軟體的實現方面,其實就是通過socket向目標的機器發送MagicPacket(魔術包),魔術包的格式,包含有連續6個位元組的“FF”和連續重複16次的MAC地址。你可以在任何協議的數據包(如在TCP/IP、IPX包)中填上 "FFFFFFFFFFFF"+連續重複16次的MAC地址,就可利用該協議作出一個使用該協議的MagicPacket。只要NIC檢測到數據包中任何地方有這樣的片段,便會將計算機喚醒。
假設被控計算機的Mac地址為01:02:03:04:05:06 (6 bytes),那麼那台機器的網卡在數據幀內發現以下的片斷便會將計算機喚醒。
正是因為這個Magic Packet可以封裝在任何協議的數據包中,可以在各種Routerswitch之間傳送,而不會影響MagicPacket喚醒的功能。也就是說,不管Magic Packet是來自於LAN還是WAN,只要網卡檢測到MagicPacket就能喚醒。最常被使用的是UDP廣播包,不需要埠號,只要知道被控計算機的MAC地址即可。
註:UDP廣播分兩種,一種是directed broadcast,比如你的網段是192.168.0.X,你就往192.168.0.255發就可以了。另一種是limited broadcast,廣播地址是255.255.255.255
要了解更多請參見“Magic Packet? Technical Documentation”

操作步驟


首先需要進行CMOS和網卡設置,啟動計算機,進入CMOS參數設置。選擇電源管理設置“Power Management Setup”選項,將“Wake up on LAN”項和“Wake on PCI Card”項均設置為“Enable”,啟用該計算機的遠程喚醒功能。有些網卡需要通過跳線將“Wake-on-LAN”功能設置為“Enable”。
將WOL電纜的兩端分別插入網卡和主板的3芯插座中,將網卡與計算機主板連接起來。如果主板支持PCI 2.2標準,只要開啟“Wake on PCI Card”功能就可以了,無須使用WOL電纜連接。然後啟動計算機,安裝網卡驅動程序並完成網卡的網路連接設置。
實現遠程開機可以藉助遠程開機軟體,很多網卡都會隨機附帶一個用於發送遠程喚醒數據包的程序——Rset8139.exe。
遠程喚醒某台計算機時,運行“Rset 8139.exe”程序,在打開的界面窗口中按下空格鍵,進入主界面窗口,選擇“Run Power Management Test”項,並在彈出的對話框中選擇“Master Machine”項,然後選擇“Magic Packet”或“Wakeup Frame”項,此時軟體提示“Input Ethernet Address to Match Node ID of Target Machine”,這時輸入目標計算機網卡MAC地址,按回車鍵即可發送數據包,這時遠程計算機就會自動啟動了。

主要分類


區域網遠程喚醒

方式
請你務必弄懂遠程喚醒的基本條件中所講解的東西再開始看本節。
假設A、B兩機位於同一個區域網中,要用主控計算機A機遠程喚醒被控計算機B。
那你只要在B機的CMOS設置(有人喜歡叫BIOS設置)中設置好兩個地方:
1.開啟“Wake on PCI Card”功能,沒有這項的設置的話,那可能就要插遠程喚醒電纜了;
這步的目的是“在關機時為網卡供電”
2.開啟“Wake Up On LAN”或“Resume by LAN”功能;
這步的目的是“讓主板接受網卡發送的喚醒信號”
設置好之後,就保存退出。
3.在A電腦上面安裝網路人旗艦版
選擇系統控制,再輸入B電腦的MAC地址即可打開B電腦

廣域網遠程喚醒

原理
1、廣域網中實現遠程喚醒,與區域網遠程喚醒比起來,被控計算機端只要增加一個能獲取公網IP地址、能設置埠映射的設備(如路由器、防火牆)。
共享上網,下面簡單講下這兩種上網方式下路由器怎樣設置才能獲取到公網IP地址。
ADSL分兩種,一種是固定IP的ADSL,在路由器中選擇固定IP地址上網方式,填上電信分配給你的公網IP地址即可;另外一種是動態IP的ADSL,在路由器中設置PPPoE撥號,填上你的用戶名、密碼,撥號成功後路由器就會自動獲取一個公網IP地址;
Cable的話,只要在路由器設置“自動獲取IP”上網方式,路由器就會自動獲取一個公網IP地址;
正確設置好路由器之後,在路由器的連接狀態那裡可以直接查看其公網IP地址。
2、在路由器中設置允許“Subnet Directed Broadcasts(子網定向廣播)”,並且設置埠映射,將路由器的某一埠映射到被控計算機的任意埠
3、只要路由器通電,主控計算機就能通過網際網路向路由器發送Magic Packet,而路由器與被控計算機之間是通過網線連通的,所以可以很順利地將Magic Packet發送到被控計算機的網卡。路由器實際上起到中間橋樑的作用。
附上能發送Magic Packet的網頁Wake On Lan over the Internet
Netmask是一個比較值得注意的地方,填錯了的話,目標IP地址就會出錯。
案例
下面通過一個例子簡單講述一下廣域網遠程喚醒的過程
假設主控計算機為A機,被控計算機為B機
B機的所在區域網環境如下:一條ADSL接在4口路由器R1上,R1的4 個口分別連接著S1,S2,S3,S4四台交換機。B機接在S3交換機的其中一個口。
R1撥號后自動獲取到的IP為12.34.56.78,B機在區域網中的IP為192.168.1.167,MAC地址為BB:BB:BB:BB:BB:BB。
在R1設置埠映射條目如下:12.34.56.78:9——>192.168.1.255:168
這裡192.168.1.255為192.168.1.167所在網路的定向廣播地址。
為什麼不直接映射到192.168.1.167呢?因為當B機關機后,192.168.1.167這個IP不再與R1通信,R1中關於192.168.1.167的ARP條目也會很快就消失,所有與192.168.1.167這個IP通信的數據包都會被丟棄。
1.A機向12.34.56.78(255.255.255.251)這個目標IP的9號埠發送一個包含FFFFFFFFFFFF和連續重複16次BBBBBBBBBBBB的Magic Packet的單播包,中間經過了N個路由,該單播包順利進入R1;
2.當R1檢測到該數據包埠號為9,根據埠映射條目將該數據包的目標IP及埠號修改為192.168.1.255:168,此時該包被R1識別成定向廣播包,因為R1已設置成允許Subnet Directed Broadcasts,所以該包並沒有被丟棄;
3.R1將這個廣播包向4個口廣播,S1,S2,S3,S4所連的所有埠都收到這個廣播包,即便B機處於關機狀態也會收到該廣播包;
B機的網卡檢測到廣播包中含自己MAC地址信息的Magic Packet,就會被喚醒,而其它機收到之後只會將該數據包丟棄。
4.實際應用中不建議主控計算機通過IP地址去跟路由器通訊,因為一旦路由器重新獲取IP地址,遠程喚醒就會失效。只要路由器支持動態域名解析(DDNS)功能,可將路由設置成IP地址變更時自動向DDNS提供商重新註冊IP地址,DDNS提供商將根據你的帳號對你申請的域名進行域名解析。設置成功后就可以通過固定的域名去與路由器通訊,喚醒與該路由器直連的計算機。

數據機喚醒

網路遠程喚醒還可以使用數據機,只要主板支持Wake-Up On InternalModem(WOM),那麼電話能通的地方都能利用WOM來實現遠程喚醒。普通的內置數據機是不能直接通過PCI插槽得到+5VSB待命電流的,需要用一條“WOM”連接線,插到內置數據機及主板的WOM的插槽內。若使用外置式數據機時則不存在這個問題,因為工作電壓是由外置式數據機單獨的電源變壓器提供的。
確保主機和數據機的電源打開電話線已插好,在POWER MANAGEMENT SETUP里找modem ring resume或者POWERON BYRING項,將其設定為ON或者ENABLED。只要Modem處於開啟狀態,拿另一部電話撥打Modem所連接的電話號碼就可以通過WOM實現遠程喚醒了。使用WOM進行遠程喚醒時不用擔心電話費的問題,因為Modem只要偵測到電話震鈴不需要接聽電話就可以啟動機器。但需要注意的是,這同時也是WOM的一個弊端,因為所有電話打進來都會馬上喚醒,而打進的電話很可能並不是為了開機。

電腦控制器喚醒

安裝時將控制器插在電腦的PCI 插槽上,不需要其他軟體配合或在電腦上安裝驅動。固話版需要從電話機上分出一根電話線插到控制器上,手機版需要在控制上放置一張手機卡。控制器安裝好后,只要撥打該電話或手機號,即可實現遠程開機。
撥打接在控制器上的電話或手機號碼,在指定的時間無應答之後,控制器自動摘機,進入啟動平台,這時語音提示輸入登陸密碼進行驗證,這便解決了WOM所有電話打進來都會馬上喚醒的弊端。需要提醒的是,進入平台後是需要按正常通訊費收取話費的。
驗證密碼正確之後,便可以根據語音提示來對電腦進行開關機的操作了:
按1#鍵,相當於手工按了一下電腦面板上的開機按鍵,電腦啟動。
按2#鍵,相當於手工按了一下電腦面板上的開機按鍵,電腦關閉。如果電腦已經處於關機狀態下,就會提示指令無效。
按3#鍵,可以修改響鈴時間。需要提醒大家的是,一般的電話響鈴時間都不會超過50秒,如果超過就自動掛機了,因此提醒大家設置響鈴時間時不要超過50秒。
按下4#鍵,可以修改登陸密碼,默認的登陸密碼是123456 ,大家在使用時最好更改為6位數的其他密碼。
按下5#鍵,相當於手工持續按下電腦面板上的開機按鍵6秒鐘。電腦在死機的情況下,就可以通過這一功能,強制關閉電腦。過幾分鐘后,再重新啟動就可以了。
如果你忘記了登陸密碼,可以按下電話插口旁的複位鍵,得設置恢復到出廠設置,密碼將復原為123456。