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
'프로그래밍 > Ubuntu(우분투 서버)' 카테고리의 다른 글
Ubuntu 서버에서 노트북 덮어도 꺼지지 않게 설정하는 방법 (0) | 2025.04.20 |
---|