網路喚醒全攻略(Wake On LAN)
04-23
家裡組了台伺服器存放資料,或者作為開發伺服器,遠程登陸成為剛性需求,由於機器需要的時候才用到,所以如果經常開機的話很費電,按需開機是最佳辦法;網上教程很多,但是比較雜亂,表達累贅;還是自己總結一篇簡單好用的;
前提條件
- 主板支持,現在的主板基本都支持,所以基本不用擔心,很舊的主板好像是2000年左右的,還是需要插網卡(PCI2.1標準)需要3針WOL線連接主板;
- 關機時候為主板通電(600mA以上電流),把電源切斷是不行的,網卡帶電才可以;
- 非正常關機可能會喚醒失敗,所以里如果斷電導致關機的話可能需要手工開啟機器;
- 被喚醒的電腦必須連接網路,或者路由器,並且有一台手機或者電腦可以發送喚醒包;
實現步驟
首先現在喚醒客戶端
- PC端可以使用(Aquila Technolgy)https://wol.aquilatech.com/
- 安卓端(極致工具箱-網路喚醒
http://sj.qq.com/myapp/detail.htm?apkName=com.easyapps.txtoolbox https://play.google.com/store/apps/details?id=com.easyapps.txtoolbox
- 蘋果(RemoteBoot WOL)https://itunes.apple.com/CN/app/id310369182?mt=8
客戶端參數設置
以安卓為例子,極致工具箱安裝好後打開網路喚醒,按+添加參數;
- Name:填寫一個別名就可以,例如:HomePC
- Mac Address:填寫電腦網卡MAC地址(注意是主板上有線網卡),這個要填寫正確,如何獲得? 進入命令行運行:ipconfig /all,然後查看對應的物理地址即可,共6組2位元組十六進位字元;
- Broadcast IP/Hostname/FQDN
- Broadcast IP/Hostname 是電腦所在的區域網的廣播地址:如果你的電腦分配到192.168.1.100則填寫192.168.1.255,將喚醒包廣播到1網段下面所有電腦,Hostname:則是你電腦的主機名.
- FQDN:是廣域網喚醒,例如你的手機在公網(4g上網),不在區域網,則需要填寫路由器的DDNS域名,如:http://homepc.router.net
- Port 埠默認是9,這裡默認就可以
被喚醒電腦設置
- BIOS打開喚醒設置在BIOS電源相關選項尋找Resume By LAN,Enable Wake ON LAN 類似選項開啟
- 網卡設置知道對應的網卡,打開可喚醒選項:
防火牆設置
- 添加入站規則,允許埠9通過:
作用域選「公用」
IP地址選所有
路由器設置
- 靜態IP(區域網喚醒)建議設置靜態的IP地址,那內網的話你要喚醒的電腦就固定IP了,否則的話每次都不一樣,以我的華碩AC68U路由器為例:
- 外圍埠映射(廣域網喚醒,如果你沒有廣域網喚醒需求可以跳過)
埠映射的意思是在公網的時候將數據包通過域名(路由器通過DDNS和域名綁定)發送到路由器IP,路由器會將相應的包轉發到指定IP的電腦上。
- ARP綁定(廣域網喚醒,如果你沒有廣域網喚醒需求可以跳過)
假如你的路由有ARP綁定功能,直接設置就可以了,
我的路由器沒有ARP綁定,是可以刷梅林固件,支持開機腳本配置,所以設置腳本就可以了:新建一個腳本arp_b85m.sh,名字自己定義,放入命令:
arp -s 192.168.2.200 XX:XX:XX:XX:XX:XX
喚醒測試
現在要被喚醒的PC上安裝Aquila Technolgy WOL
https://wol.aquilatech.com/打開封包監控診斷:- 區域網喚醒確保同一區域網並且能互通(WiFi或者有線網路)然後喚醒
- 廣域網喚醒斷開WiFi,連接數據網路然後喚醒如圖能看到數據包的表示喚醒包能發到網卡
- 最後正常關掉電腦,進行喚醒測試,一般情況下都能成功
詳細原理
網路喚醒原理淺析(Wake On LAN)
總結
網路喚醒的關鍵之處
- 硬體支持並打開相應的設置
- 網卡設置可接受喚醒數據包
- MAC地址和靜態IP
- 如果廣域網的埠轉發和ARP綁定很重要
推薦閱讀:
※QQ 相冊後台存儲架構重構與跨 IDC 容災實踐
※用43p140實現最簡單的hacmp環境(二)
※高德地圖基於阿里雲MaxCompute的最佳實踐