본문 바로가기

프로그래밍/Ubuntu(우분투 서버)

ubuntu에서 Wake‑on‑LAN(WOL) 설정

Ubuntu 서버 + USB-LAN 어댑터 WOL 설정

WOL(Wake-on-LAN)은 네트워크를 통해 꺼져 있는 컴퓨터를 원격으로 켤 수 있는 기능
주로 Magic Packet을 사용하며, 슬립 또는 종료 상태에서 BIOS와 OS 설정이 맞아야 동작

 

이렇게 쉬우면 얼마나 좋을까..

 

Ubuntu 서버, USB-LAN 어댑터 활용하는 경우를 기준으로 WOL 설정 방법 작성함

 


 1. 하드웨어 및 기본 환경 점검

  • WOL 기능이 가능한 USB-LAN 어댑터 (3번에서 확인 가능)
  • WOL 패킷을 보낼 다른 장비 (Windows PC, 라즈베리파이 등)
  • 같은 네트워크에 연결되어 있어야 함 (브로드캐스트 가능해야 함)

2. 이더넷 정보 확인

IP 주소, usb 인터페이스 이름, mac 주소 확인

ip addr show

#예시

3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.42/24 brd 192.168.100.255 scope global dynamic usb0
       valid_lft 86399sec preferred_lft 86399sec

aa:bb:cc:dd:ee:ff : mac주소

192.168.100.42/24 : ip주소

usb0 : 인터페이스 이름

*  맥주소 확인 방법 : ip link show usb0  | grep link/ethe

3. Ubuntu 시스템 설정

ethtool로 인터페이스 확인 -> Wake-on: g 확인

sudo apt install ethtool
sudo ethtool usb0

결과에 Supports Wake-on: g / Wake-on: g 확인
(usb0는 인터페이스 이름)

4. BIOS/UEFI 설정

BIOS 항목 설정 (Samsung 노트북( NT905S3K) 예시)

설정 항목 (USB S3 Wake-up, Fast Boot 두개만 설정했는데 됐음)

USB S3 Wake-up Enabled 슬립 모드에서 USB 장치로 깨움 허용
Wake on LAN Enabled (있는 경우) LAN 기반 WOL 허용, 내 경우는 해당 항목 없어도 됐음
Fast Boot Disabled 빠른 부팅이 USB 초기화 생략할 수 있음
Secure Boot  Disabled  
ErP Mode / Eco Mode Disabled 절전 때문에 USB 전원 차단 방지
USB Always On Enabled 노트북 꺼져도 USB 전원 공급 유지 (없으면 슬립까지만 가능)

❗️  BIOS에 USB S3 Wake-up 옵션만 있다면 슬립(S3)일때만 WOL 가능

 

5. WOL 활성화 유지

 방법 A) systemd 서비스로 등록

 

WOL 설정 서비스 유닛 만들기 (@는 인터페이스 이름)

sudo nano /etc/systemd/system/wol@.service

 

%i 에는 인터페이스 이름 입력 (입력 후 Ctrl+O → Enter → Ctrl+X)

[Unit]
Description=Configure Wake-on-LAN for %i
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s %i wol g

[Install]
WantedBy=multi-user.target

systemd 등록 (wol@usb0 : 좀 전에 만들었던  WOL 설정 서비스 유닛 이름)

sudo systemctl daemon-reload
sudo systemctl enable wol@usb0
sudo systemctl start wol@usb0

 

방법 B) Netplan에 wakeonlan: true 설정 (나는 2개 다 했음)

ethernets:
  usb0:
    dhcp4: true
    wakeonlan: true

6. 슬립 모드 진입 및 WOL 테스트

슬립으로 진입 (노트북이 s3만 지원해서 슬립으로 테스트)

sudo systemctl suspend

 WOL 신호 전송 (Windows PowerShell에서 해당 코드 실행)

$mac = "AA:BB:CC:DD:EE:FF".Split(":") | ForEach-Object { [byte]("0x$_") }
$packet = ([byte[]](,[byte]0xFF * 6)) + ($mac * 16)
$udp = New-Object System.Net.Sockets.UdpClient
$udp.Connect("255.255.255.255", 9)
$udp.Send($packet, $packet.Length)
$udp.Close()

mac주소는 아까 확인한 mac주소 입력
255.255.255.255 이 IP는 "모든 장치에게 보내라" 는 의미의 전역 브로드캐스트 주소
9 는 WOL에서 주로 사용되는 포트는 UDP 포트 9 또는 UDP 포트 7