背景:很多人熟悉遠(yuǎn)程桌面并經(jīng)常地利用它所帶來的方便,但是前提是服務(wù)器(遠(yuǎn)程電腦)必須是處于開機(jī)狀態(tài)。對于機(jī)房里有專人管理的服務(wù)器,這點(diǎn)不成問題,但如果是放在家里的電腦,要讓它7*24地開機(jī)似乎就不好辦了。所以,關(guān)鍵的問題是如何能夠在需要的時候可以啟動/關(guān)閉家里的電腦(或者者說任何連著internet的電腦)。
1.WOL原理
WOL(Wake on Lan),即局域網(wǎng)喚醒,從根本上來說是硬件設(shè)備提供的一項管理功能。該功能可以當(dāng)電腦處于關(guān)機(jī)或休眠狀態(tài)時,通過給網(wǎng)卡發(fā)送特定的數(shù)據(jù)包從而命令網(wǎng)卡向主板發(fā)送開機(jī)指令,進(jìn)而實現(xiàn)上電開機(jī)。
可見,網(wǎng)絡(luò)喚醒需要硬件(主要是主板和網(wǎng)卡)的支持。目前幾乎所有品牌的硬件都支持WOL(2000年以前的硬件產(chǎn)品有可能不具有該功能),但有可能在軟件上默認(rèn)WOL處于關(guān)閉狀態(tài)(為什么不是默認(rèn)啟用狀態(tài)呢?當(dāng)然是出于安全考慮),如何啟用硬件的這兩個功能,網(wǎng)絡(luò)上有很多這樣的文章,下面也將簡單介紹。不同的產(chǎn)品,界面略有不同,但這些都是很簡單的。
a.主板WOL啟動:進(jìn)入BIOS,將“Power Management Setup”中的“Wake Up On LAN”或“Resume by LAN”項設(shè)置為“Enable”或“On”。
b.網(wǎng)卡WOL啟動:進(jìn)入windows后,進(jìn)入設(shè)備管理器,選擇要用于WOL的網(wǎng)卡,進(jìn)入屬性窗口選擇“高級”標(biāo)簽,在列表里能找到“Wake up Capabilities(喚醒功能)”設(shè)置值為“Magic Packet”或”Both”
如果能找到上述兩種設(shè)置的地方,就說明你的硬件是支持WOL的,啟用這些功能后就可以通過局域網(wǎng)來喚醒了。
要注意,如果電腦非正常關(guān)機(jī)(比如按Power鍵來強(qiáng)制關(guān)機(jī))還是無法WOL的,只有正常關(guān)機(jī)后,網(wǎng)卡仍會處于活動狀態(tài)可以接收網(wǎng)絡(luò)數(shù)據(jù)。
Magic Packet的具體技術(shù)資料可以查看AMD的網(wǎng)站
http://www./chcn/ConnectivitySolutions/TechnicalResources/0,,50_2334_2481_2494,00.html
Magic packet白皮書下載
Magic Packet Technical White Paper
了解了基本的原理,接下來就試試如何來喚醒吧
2.WOL工具介紹
實現(xiàn)遠(yuǎn)程喚醒的軟件有很多,原理都是相同的。下面列出幾款常用的WOL軟件:
LanHelper
Magic Packet Utility
NetWaker for windows
WakeOnLanGui(http://www.)
這種幾都可以在網(wǎng)絡(luò)上找到,由于第三方下載不穩(wěn)定,就不給出下載地址了。這里以depicus的WOL軟件為例來說明。
可以在這里http://www./wake-on-lan/wake-on-lan-gui.aspx 下載到WOL for windows,它是個綠色版的小軟件,只幾百K大小。界面如下:
這個工具不僅可以在局域網(wǎng)內(nèi)喚醒電腦,還可以通過internet喚醒電腦(將在下一節(jié)詳細(xì)介紹)。
首先,得到被喚醒電腦網(wǎng)卡的MAC地址(可以通過查看對應(yīng)網(wǎng)卡的屬性找到),再將Send Options選為Local Subnet一項。其它項在局域網(wǎng)內(nèi)喚醒時并不重要,也就是說只要MAC正確,點(diǎn)擊“Wake Me UP”就可以喚醒對應(yīng)的電腦了。
如果需要通過internet來喚醒,也必須確保在局域網(wǎng)內(nèi)是可能正常喚醒的。在局域網(wǎng)內(nèi),該軟件會發(fā)送Magic Packet的廣播包,如果對應(yīng)MAC地址的網(wǎng)卡收到該包后,就可以做出響應(yīng)啟動電腦。
3.通過internet遠(yuǎn)程喚醒
WAN與LAN在不同在于在廣域網(wǎng)上,有許多的路由器等網(wǎng)絡(luò)設(shè)備,這些設(shè)備可能會使Magic Packet的包不能到達(dá)我們想喚醒的電腦網(wǎng)卡上。因此,要實現(xiàn)通過internet來喚醒,必須得到路由器的支持。
下面以TP-Link WR541G+無線路由為例來說明配置過程。
首先確保路由器可以正常接入internet,即通過服務(wù)商得到一個公網(wǎng)IP(對于家庭來說ADSL、Cable Modem是常見的上網(wǎng)方式),進(jìn)入路由器WEB配置頁面http://192.168.1.1
a. 端口映射(虛擬服務(wù)器)
“轉(zhuǎn)發(fā)規(guī)則”-“虛擬服務(wù)器”,添加一新條目,端口為2301(2301是默認(rèn)的端口號,也可以是其它端口號,只要不和其它的沖突),IP地址為需要喚醒電腦網(wǎng)卡所使用的IP地址(比如192.168.1.101),協(xié)議為UDP,并使之處于“生效”狀態(tài)。
這一步使得當(dāng)路由器收到發(fā)到它2301端口的數(shù)據(jù)都會轉(zhuǎn)發(fā)到192.168.1.101這臺電腦上。
b. IP與MAC綁定
“IP與MAC綁定”-“靜態(tài)ARP綁定設(shè)置”,添加一新條目,MAC地址添為網(wǎng)卡(被喚醒電腦上的)MAC,如00-15-60-CA-1A-B6,IP為上一步設(shè)置的IP192.168.1.101
當(dāng)路由器收到從internet發(fā)來的MagicPacket包時,由于設(shè)了端口映射就需要將其轉(zhuǎn)發(fā)到192.168.1.101上。但由于電腦是處理關(guān)機(jī)狀態(tài),ARP無法通過廣播找到192.168.1.101這臺電腦,Magic包將被路由器丟棄,因此進(jìn)行靜態(tài)的IP-MAC綁定,使數(shù)據(jù)包可以直接發(fā)往MAC為00-15-60-CA-1A-B6的網(wǎng)卡上。
此時,從理論上來說,通過internet的遠(yuǎn)程喚醒就可以成功了。但還有一些工作需要補(bǔ)充,以便更好地工作。
c. 為了確保該電腦在啟動后可以獲得192.168.1.101這個IP,需要在DHCP服務(wù)器中設(shè)置一個靜態(tài)地址分配,即MAC00-15-60-CA-1A-B6 靜態(tài)分配192.168.1.101永不過期。
d. 在路由器上使用動態(tài)DNS功能,這樣可以用一個域名來訪問而不用查看經(jīng)常改變的公網(wǎng)IP(ADSL撥號上網(wǎng)的IP是經(jīng)常變的)。同時,允許路由器可以進(jìn)行無端WEB管理,以方便當(dāng)我們在任何地方都可以檢查路由器的狀態(tài)。具體操作可參閱相關(guān)資料
配置好了路由器(可能需要重新啟動路由器),就可用上面那個WOL for windows來通過internet過程喚醒(WOL over the internet)。
下面再詳細(xì)說一下界面中其它幾項的意思,
MAC地址:同樣需要輸入網(wǎng)卡的MAC地址
Internet Address:IP地址,輸入路由器的公網(wǎng)IP地址(或者域名)
Subnet Mask:子網(wǎng)掩碼,輸入該IP的子網(wǎng)掩碼,需要輸入255.255.255.255 。這是個特別要注意的地方,因為普通的家用路由器不支持(或不可配置)子網(wǎng)定向廣播(subnet directed broadcast),所以如果輸入255.255.255.0這樣的掩碼將無法讓路由器轉(zhuǎn)發(fā)Magic Packet包。但是對于允許進(jìn)行子網(wǎng)定向廣播的路由器,我們就不需要上面對路由器的復(fù)雜配置,只需將子網(wǎng)定向廣播功能啟用即可。
Send Options:發(fā)送選項,這次應(yīng)該選擇“internet”
Remote Port Number:端口號,這個端口號在局域網(wǎng)喚醒中是無所謂的,因為不論Magic Packet包發(fā)到哪個端口都可以被網(wǎng)卡識別。在步驟a中,我們映射了一個端口(2304),只有發(fā)到這個端口的數(shù)據(jù)才可被路由器轉(zhuǎn)發(fā),所以在internet喚醒中,這個端口號必須于端口映射中的端口號一致。
depicus提供了一個在線的遠(yuǎn)程喚醒,以方便我們使用:
http://www./wake-on-lan/woli.aspx
遠(yuǎn)程開機(jī)之后
一旦遠(yuǎn)程開機(jī)了,就可以通過遠(yuǎn)程桌面來使用自己家里的電腦了(當(dāng)然也需要在路由器上對遠(yuǎn)程桌面使用的3389端口進(jìn)行映射)。要想關(guān)閉電腦,只需在DOS窗口里執(zhí)行shutdown命令。
安全是我們需要注意的問題,可以通過路由器的遠(yuǎn)端WEB管理來允許是否可進(jìn)行internet遠(yuǎn)程喚醒(在靜態(tài)ARP綁定配置中是否綁定IP與MAC)
目前網(wǎng)絡(luò)上大部分關(guān)于WOL的文章沒有說明如何在廣域網(wǎng)上wake up,本人在實驗的過程中查閱了大量的資料,嘗試了多種途徑,最后將認(rèn)為較為簡便易用的一種寫成此文。感謝這些文章、帖子的原作者,感謝趙賢書先生以及我所有好朋友的幫助。如果文中有錯誤的地方請指正,歡迎討論