원격 호스트의 wakeonlan

원격 호스트의 wakeonlan

wake on lan내 서버에 서비스를 설정했습니다 . LAN에서는 모든 것이 잘 작동합니다.

root@server$: poweroff
user@local$ wakeonlan AA:BB:CC:DD:EE:FF

서버가 깨어납니다.

AA:BB:CC:DD:EE:FF은 IP 와 호스트 이름이 server있는 my 의 MAC 주소입니다 . IP 192.168.1.1(공개: xxx.xxx.xxx.xxx)을 갖는 라우터에 연결됩니다.192.168.1.2example.com

서버가 가동되면 다음과 같이 핑을 보낼 수 있습니다.

ping example.com

또는 SSH를 통해 로그인하세요:

ssh [email protected]

여태까지는 그런대로 잘됐다. 이제 로컬 영역에서 서버를 깨울 수 있습니다. 그런데 원격 위치에서 서버를 깨우려면 어떻게 해야 합니까?

시도했지만 user@local$ wakeonlan -i xxx.xxx.xxx.xxx AA:BB:CC:DD:EE:FF작동하지 않습니다(아무 일도 일어나지 않습니다;).

매직 패킷을 전달하려면 어떻게든 라우터를 구성해야 합니까? 어떻게?

해결책

후에라그나르의 대답해결책은 매우 쉬워 보였습니다.

그런데 사실 좀 까다로웠어요.

내 라우터는 Linksys WAG200g기본적으로 Wake on LAN을 지원하지 않습니다. 게다가 위의 세 쌍으로 전달하는 것도 허용되지 않습니다 254(내 브로드캐스트 주소는 192.168.1.255).

해결책은 UDP 포트를 7서버 주소( )로 전달한 192.169.1.2후 다음을 호출하는 것이었습니다.

wakeonlan -i example.com -p 7 AA:BB:CC:DD:EE:FF

또한 새 펌웨어를 설치했습니다.

이는 훌륭한 라우터 옵션 업그레이드입니다(예: Wake on LAN 옵션 추가).

255.255.255.0또한 내 넷마스크를 에서 로 변경했으므로 255.255.255.128내 브로드캐스트는 이제 192.168.1.127라우터 유효성 검사 규칙을 통과합니다.

다음은 컴퓨터에 연결하고 필요한 경우 깨우기 위해 사용하는 스크립트입니다.

#!/bin/bash
## This sends magic packets to Wake on Lan
## please note, you must formard port 7 to the target machine on your router

## host to wake up
host="example.com"
## mac address of the machive to wake up
mac="AA:BB:CC:DD:EE:FF"
## user to login
user="administrator"

echo "Looking for $host..."
wget -q --tries=2 --wait=1 --waitretry=5 http://$host/
if [ $? -ne 0 ];
then
    echo "$host is not available."
    echo "Waking up $host."
    wakeonlan -p 7 -i $host $mac
    echo "$host is booting up.  Please wait..."
    sleep 30
    wget -q --waitretry=5 --wait=5 http://$host/
    echo ^G
    echo $host is up! Lucky you!
fi
ssh "$user@$host"

설치하는 것을 잊지 마세요:웨이컨란

답변1

UDP 포트 9를 네트워크의 브로드캐스트 주소(192.168.1.255 등)로 전달해야 합니다.

관련 정보