- 「遠端電腦」有「實體 IP」,也就是「喚醒封包」可以直接送達。
- 若「遠端電腦」在「IP 分享器」之內側,必須「IP 分享器」具有 WoL 功能。
- 途中的 Internet 上,沒有網路設備會『過濾』掉「喚醒封包」。
一、開放「允許從網路管理」的權限
用瀏覽器登入 Vigor 2200E-plus 的管理介面。從「主選單」→「系統管理」→「管理設定」→「管理存取控制」將「允許從網路管理」這項功能啟用。本文所述的方法才可使用,這有些風險,可以藉由修改「存取清單」中的「IP 網址」及「管理通訊埠設定」的「使用者定義通訊埠」的「Telnet 通訊埠」,以增加安全性。上圖中,『111.222.33.44』及『100』是因安全考量而做的修改。
二、使用「Vigor 2200E+」之「Wake on WAN」步驟
這個方法的設定步驟,主要有兩個:「NAT 通訊埠重導向」和「設定 ARP 快取表」。第一個步驟可以事先設定,但是第二個步驟要在每次使用 WoW (Wake on WAN) 前做設定。雖然,每次使用前都要設定是有些麻煩,但是反而得到『安全』的好處。個人的經驗,這個需求的次數,應該不會太多;所以,這個小小不便還是可以接受。
A.設定「NAT 通訊埠重導向」
要將從外部送來的「喚醒封包」轉送到「IP 分享器」內部的電腦,要設定「NAT 通訊埠重導向」。Linux 中的 wol 這個程式送出的「喚醒封包」使用 UDP:40000 埠,上例中,內部電腦的 IP 網址為『192.168.10.99』,按【OK】後,「Vigor 2200E-plus」就會將從外部收到「喚醒封包」轉送到這個內部的 IP 網址。如果想用 telnet 的文字介面下命令,請先參考 “建立與 Vigor 2200E-plus 的「文字介面」連線”,在登入後下這個命令
. . . . . .實際上,這個 IP 網址並沒有對應到任何「內部電腦」,只是為了下一步驟所用。
> srv nat portmap add 1 Wake_on_WAN 17 40000 192.168.10.99 40000
>
注意:通常將「遠端電腦」開機後,是要連線過去做些事。如要以 SSH 連線過去,就要將對應的 TCP 埠,也一併設定。
B.設定「ARP 快取表」
上一步驟只設定了將外部接收到的「喚醒封包」轉送到內部 IP 網址的對應,但是 Vigor 2200E-plus 的並不提供 Wake on WAN 的功能。因此,其轉送機制的實際過程為:- 查詢 Vigor 2200E-plus 本身的「ARP 快取表」:因為此快取表更新頻繁,經一段時間未有相同「IP-MAC 對應」的封包傳送,便會刪除該「IP-MAC 對應」,所以查詢失敗。
- 送出轉送之『內部 IP 網址』所對應之「網卡位址,MAC」的「查詢封包」:因電腦尚未開機時,不會回應正確之「網卡位址」。依 RFC 所載,此時路由器會回應,即「IP 分享器」。所以,轉送之「喚醒封包」中的「網卡位址」為「IP 分享器」。
- Vigor 2200E-plus 將「喚醒封包」的「MAC 位址」以「IP 分享器」的取代後送入內網:因為此「喚醒封包」有指定「MAC 位址」,不同「MAC 位址」的電腦會忽略該「喚醒封包」。導致「遠端喚醒」功能不能正確運作。
解決辦法:在 Vigor 2200E-plus 的「ARP 快取表」中,加入特定的「IP 網址」與「網卡位址」的對應。則,轉送之「喚醒封包」經查詢本身的「ARP 快取表」後,會立即送出「IP 分享器」,不會經過查詢程序。還記得上一步驟中,所設定「NAT 通訊埠重導向」的內部 IP 網址嗎?這個『192.168.10.99』內部網址,目的並不是為了『轉送』而是『廣播』用。因為,WoL 的「喚醒封包」主要是在網路的第二層作用,在這層中 IP 網址是無作用的。而在第二層的「廣播封包」是靠保留給廣播用的「MAC 位址」,即 FF-FF-FF-FF-FF-FF。
以 telnet 建立與 Vigor 2200E-plus 的「文字介面」連線,在登入後下這個命令
. . . . . .上例中,『ip arp status』是查詢「ARP 快取表」的內容。而『ip arp add ...』才是加入「IP 網址」與「網卡位址」對應的命令。
> ip arp status
ip arp status
[ARP Table]
Index IP Address MAC Address
1 192.168.10.10 00-09-73-51-BF-28
> ip arp add 192.168.10.99 ff-ff-ff-ff-ff-ff LAN
> ip arp status
ip arp status
[ARP Table]
Index IP Address MAC Address
1 192.168.10.10 00-09-73-51-BF-28
2 192.168.10.99 FF-FF-FF-FF-FF-FF
>
注意:「ARP 快取表」的內容有時效性,過一段時間(約一分鐘)未送出「喚醒封包」將會被更新(或刪除)。就要再下一次『ip arp add ...』命令。
C.送出 WoL 「喚醒封包」
參考前文“使用 WoL,將「遠端電腦」開機”,但「IP 網址」改為「Vigor 2200E-plus」的外部「IP 網址」。已測試版本:
- Vigor 2200E-plus
- Fedora: 14, 17
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)