상현에 하루하루
개발자의 하루

우분투 WOL로 원격 부팅 설정

( 업데이트: )

필요한 패키지 설치

sudo apt install net-tools ethanol wakeonlan

네트워크 인터페이스 이름 조회

ifconfig 명령어를 통해 인터페이스명을 조회한다.

$ ifconfig
enp77s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.20  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::eaee:de3d:2471:f3f6  prefixlen 64  scopeid 0x20<link>
        ether 18:c0:4d:a5:ac:2d  txqueuelen 1000  (Ethernet)
        RX packets 554  bytes 304087 (304.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 430  bytes 54745 (54.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0Code language: HTML, XML (xml)

위와 같이 조회할 수 있고 enp77s0 해당 명이 인터페이스 이름이다.
인터페이스 명을 가지고 wol을 설정할꺼다.

WOL 설정

인터페이스 설정에서 wol 옵션을 입력한다.

sudo ethanol -s enp77s0 wol g

설정 확인

sudo ethanol enp77s0 명령어를 입력하면

Settings for enp77s0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
                            2500baseT/Full 
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
                            2500baseT/Full 
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                         100baseT/Half 100baseT/Full 
                                         1000baseT/Full 
    Link partner advertised pause frame use: Symmetric Receive-only
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: g
    Link detected: yesCode language: PHP (php)

위와 같이 맨아래 Wake-on: g가 설정되었다면 wol로 부팅이 가능하다.

하지만, 시스탬 재부팅시 위 옵션이 초기화 된다. 그러므로 해당 설정을 부팅시에도 설정되게하는 스크립트 파일을 작성해야한다.

[Unit]
Description=Configure Wake-up on LAN

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp77s0 wol g

[Install]
WantedBy=basic.targetCode language: JavaScript (javascript)

이후 만든 파일을 systemctl Daemon에 등록하자.

sudo systemctl daemon-reload
sudo systemctl enable /etc/systemd/system/wol.service

이제 설정을 모두 끝났다. wol로 시스템 부팅을 테스트해보자!