WOL (Wake on LAN) 설정하기

By | 2026년 6월 25일
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()

동일 네트워크가 아닌 경우

동일한 서브넷에 있는 경우 위 방식으로 깨우기가 가능하지만,
공유가 아래에 있다든가 또는 다른 서브넷에 있는 경우 추가 설정이 필요합니다.

답글 남기기