使用網域名稱而不是 IP 進行 LAN 喚醒 (WOL)

使用網域名稱而不是 IP 進行 LAN 喚醒 (WOL)

我可以使用 WOL 透過 WAN 或 LAN 成功喚醒我的伺服器。

但是,我有一個動態 IP,因此要從 WAN 取得它,我需要使用 dyndns 子網域 ssh 進入路由器,然後檢查路由器 IP,然後發送 WOL 魔術包,或登入 dyndns 帳戶並查看目前IP是。這一切都相當無聊…

為什麼我不能直接使用dyndns子網域?我找不到可以讓我執行此操作的程式。有什麼想法如何處理這個問題?

我正在尋找一個程序,允許我使用網域名稱而不是 IP 發送魔法資料包。

答案1

您的 dyndns 名稱應解析為路由器的公共 IP,因此這應該不是問題。

如果您可以使用 dyndns 位址連接到路由器,那麼這就更沒有意義了。

您應該嘗試解析 dyndns 位址:

nslookup yourname.dyndns.org

應該解析為與您從路由器中取得的 IP 位址相同的 IP 位址。如果沒有,有時 dyndns 設定就會出錯(儘管我無法想像它是什麼,除非你有多個公用 IP 位址)。

通常,名稱會解析為 IP 位址發送任何包裹。因此,只要更新 dyndns 條目,這就不會有任何影響。

答案2

嘗試為從路由器到目標電腦的 UDP 連接埠 7 和/或 9 設定 nat 規則 - 看看是否有效!

這可能是安全漏洞,所以,我不推薦它 - 但是,我很確定問題出在防火牆上。

答案3

我的解決方案是基於奧利佛·薩爾斯堡的回答:

wakeonlan -i $(nslookup your.domain.net | awk -F': ' 'NR==6 { print $2 } ') MM:AA:CC:AA:DD:RR

答案4

wakeonlan -i $(dscacheutil -q host -a name yourdomain.com | awk -F': ' 'NR==2 { print $2 } ') MM:AA:CC:AA:DD:RR

將 DNS 名稱 (yourdomain.com) 和 MAC 位址 (MM:AA:CC:AA:DD:RR) 替換為您的名稱。此外,可能需要更改NR==2其他數量的awk結果。您可以透過執行來初步測試它dscacheutil -q host -a name yourdomain.com,以檢查您需要哪個結果行。

相關內容