董旭
摘 要:本文利用WOL的工作原理及路由器的配置實現通過網絡喚醒電腦,文中介紹了WOL的執行標準,詳細給出了各項網絡設置參數和所涉及到的應用軟件,此方法能夠簡化網絡管理員維護系統時的工作量,提高機動性和時效性。
關鍵詞:WOL;WAN;LAN;路由;轉發
1 WOL原理
WOL(Wake on Lan),即局域網喚醒,從根本上來說是硬件設備提供的一項管理功能。該功能可以使電腦處于關機或休眠狀態時,通過給網卡發送特定的數據包從而命令網卡向主板發送開機指令,進而實現上電開機。可見,網絡喚醒需要硬件(主要是主板和網卡)的支持。目前幾乎所有品牌的硬件都支持WOL,但有可能在軟件上默認WOL處于關閉狀態,當然是出于安全考慮。
2 前提條件
1、電腦網卡或者主板支持wol,遠端被喚醒計算機的網卡必須支持WOL,而用于喚醒其他計算機的網卡則不必支持WOL。
2、電腦必須安裝有符合ATX 2.03標準的ATX電源,+5VStandby電流至少應在720mA以上。有的早期電源可能只設計到500mA,在進行網絡開機時,某些耗電較大的網卡可能會無法啟動。
3、廣域網IP為固定IP或者可用動態DNS
4、如果廣域網經由路由器,路由器必須有靜態ARP功能。
5、一個同時支持廣域網和局域網遠程開機的軟件,實現遠程喚醒的軟件有很多,原理都是相同的。
3 關于電腦的設置
1、主板WOL啟動:進入BIOS,將“Power Management Setup”中的“Wake Up On LAN”或“Resume by LAN” 或“Boot by LAN”項設置為“Enable”或“On”, 或“Power On By PCI Devices”或“Power On By PCIE Devices”項設置為“Enable”。如果是PCI網卡的話,“Wake on PCI Card”設置為Enable”現在許多主板支持直接通過PCI 插槽向網卡提供 Standby 電源(這類主板的BIOS 中往往有 “Wake on PCI Card”設置項),這種情況就不需要連接電纜,這也是有些支持遠程喚醒的網卡沒有WOL接口的原因。
2、網卡WOL啟動:進入windows后,進入設備管理器,選擇要用于WOL的網卡,進入屬性窗口選擇“高級” 選項卡,在列表里能找到“Wake up Capabilities(喚醒功能)”設置值為“Magic Packet”或”Both”或“關閉狀態喚醒”設置為啟用。“喚醒功能”設置為兩種方式都選的那個選項“幻數據包和模式匹配”。
3、要打開網卡的屬性“電源管理”,去掉“允許計算機關掉此設備以節約電源”的勾。
要通過internet來喚醒,必須首先確保在局域網內是可以正常喚醒的。
1、局域網遠程開機。這里以WakeOnLan工具為例介紹。
在局域網內喚醒時,只要MAC正確,Send Options選為Local Subnet,點擊“Wake Me UP”就可以喚醒對應的電腦了。怎樣獲取被控端網卡的MAC地址:單擊“開始→運行”命令在“運行”對話框中輸入“cmd”命令“確定”后打開命令提示符。輸入“ipconfig /all”命令后出現的Physical Address就是MAC地址。
2、通過internet喚醒電腦
如果廣域網經由路由器遠程開機,數據包就必須經過路由器中轉。而雖然可以設置DMZ主機或者端口轉發,但有一個很嚴重的問題是電腦關機之后路由內部的相應ARP記錄會消失,于是即使路由器收到了激活數據包,它也不知道應該發給局域網里的哪個網卡,所以這里就必須要路由器具備靜態路由表的功能,因此要將IP地址和網卡的mac地址綁定之后,就能順利從廣域網遠程開機。WAN與LAN的不同在于在廣域網上,有許多的路由器等網絡設備,這些設備可能會使Magic Packet的包不能到達我們想喚醒的電腦網卡上。因此,要實現通過internet來喚醒,必須得到路由器的支持。
下面以TP-Link WR841N無線路由為例來說明配置過程。
首先確保路由器可以正常接入internet,即通過服務商得到一個公網IP,(對于家庭來說ADSL、Cable Modem是常見的上網方式),進入路由器WEB配置頁面http://192.168.1.1
1、端口映射(虛擬服務器):“轉發規則”-“虛擬服務器”,添加一新條目,端口為7(7是默認的端口號,也可以是其它端口號,只要不和其它的沖突),IP地址為需要喚醒電腦網卡所使用的IP地址(比如192.168.1.8),協議為UDP,并使之處于“生效”狀態。這一步使得當路由器收到發到它7端口的數據都會轉發到192.168.1.8這臺電腦上。
2、IP與MAC綁定:“IP與MAC綁定”-“靜態ARP綁定設置”,添加一新條目,MAC地址添為網卡(被喚醒電腦上的)MAC,如00-0B-2F-XX-XX-XX,IP為上一步設置的IP192.168.1.8,路由器收到從internet發來的MagicPacket包時,由于設了端口映射就需要將其轉發到192.168.1.8上。但由于電腦是處理關機狀態,ARP無法通過廣播找到192.168.1.8這臺電腦,Magic包將被路由器丟棄,因此進行靜態的IP-MAC綁定,使數據包可以直接發往MAC為00-0B-2F-XX-XX-XX的網卡上。
3、為了確保該電腦在啟動后可以獲得192.168.1.8這個IP,需要在DHCP服務器中設置一個靜態地址分配,即MAC 00-0B-2F-XX-XX-XX 靜態分配192.168.1.8永不過期。
4、在路由器上使用動態DDNS功能,這樣可以用一個域名來訪問而不用查看經常改變的公網IP(ADSL撥號上網的IP是經常變的)。同時,允許路由器可以進行無端WEB管理,以方便當我們在任何地方都可以檢查路由器的狀態。重新啟動路由器,就可用上面那個WOL for windows來通過internet過程喚醒(WOL over the internet)。
下面利用LanHelper局域網助手為例,介紹如何實現對學校機房多臺電腦的遠程批量開機。
要求:每臺電腦都支持遠程喚醒功能。
設置BIOS,將“Wake on Lan”設置為“Enable”(如果是通過PCI 插槽直接向網卡供電的還需要對“Wake on PCI Card”項作相應設置)。
步驟1:收集“被控計算機”的信息。
對機房的學生機進行喚醒與關閉操作,所以學生機就是被控機。首先啟動所有學生機,再運行安裝于教師機的Lanhelper,選擇“掃描局域網”(掃描位于同一局域網的所有電腦)或“掃描工作組”(指定掃描某一工作組中的計算機,例如學校的機房電腦均位于student工作組中,就只勾選 student工作組而進行掃描)。將掃描結果保存下來,以后需批量開關機時可隨時打開保存文件,執行相關操作。保存掃描結果的方法為:執行 “文件”菜單中的 “另存為”命令。
步驟2:遠程喚醒:
1、關閉所有學生機,注意一定要正常關機,如果非正常關機(包括突然斷電或關機時死機)可能導致喚醒失敗。
2、回到教師機,從Lanhelper 掃描結果的列表中,選擇一臺或多臺電腦(用Shift 或Ctrl 組合鍵選擇一批計算機),再點擊工具欄中的 “遠程喚醒”工具按鈕,在出現的窗口中直接點擊 “喚醒(w)”按鈕就行了。執行情況可通過查看“工具→日志→查看日志”來獲知。
參考文獻
[1]王新良. 計算機網絡 2014-09-01
[2]吳功宜,吳英. 計算機網絡應用技術教程 2013-04-01