Table of Contents
WOL (Wake on LAN) 설정하기
원격 PC (Ubuntu)
# 랜카드 이름 확인
ifconfig
# WOL 상태확인
sudo ethtool enp1s0 | grep Wake-on
# 비활성화인 경우 (disabled)
# Wake-on: d
# 활성화된 경우
# Wake-on: g
# 활성화 시키기 (일시적)
sudo ethtool -s enp1s0 wol g
# 서비스 등록
vi /etc/systemd/system/wolenable.service
------
[Unit]
Description=Configure Wake-up on LAN
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp1s0 wol g
[Install]
WantedBy=basic.target
------
sudo systemctl daemon-reload
sudo systemctl enable wolenable.service
sudo systemctl start wolenable
# 맥주소 확인다.
ifconfig | grep ether
ether 04:xx:xx:xx:b5:f0 txqueuelen 1000 (Ethernet)
PC 에서 작업
# 관리자권한으로 명령 프롬프트 실행
netsh interface ipv4 show interfaces
------
Idx Met MTU State Name
--- ---------- ---------- ------------ ---------------------------
1 75 4294967295 connected Loopback Pseudo-Interface 1
17 25 1500 connected Ethernet
12 30 1500 connected Wi-Fi
15 25 1500 disconnected Local Area Connection* 1
10 25 1500 disconnected Local Area Connection* 2
13 65 1500 disconnected Bluetooth Network Connection
------
netsh interface ip add neighbors "Ethernet" "192.169.10.XXX" "04-xx-xx-xx-b5-f0"
깨우기
# mc-wol.exe 프로그램 다운로드 필요
mc-wol.exe 04:xx:xx:xx:b5:f0
Power Shell 에서 실행
$MacAddress = "04:xx:xx:xx:b5:f0"
$MacBytes = $MacAddress -split '[:-]' | ForEach-Object { [Convert]::ToByte($_, 16) }
$Packet = [Byte[]](,0xFF * 6) + $MacBytes * 16
$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect(([System.Net.IPAddress]::Broadcast), 9)
$UdpClient.Send($Packet, $Packet.Length)
$UdpClient.Close()
동일 네트워크가 아닌 경우
동일한 서브넷에 있는 경우 위 방식으로 깨우기가 가능하지만,
공유가 아래에 있다든가 또는 다른 서브넷에 있는 경우 추가 설정이 필요합니다.