b__ono__ng

[WOL] WOL이 다음 날 동작하지 않는다면 본문

IT/Experience

[WOL] WOL이 다음 날 동작하지 않는다면

b__ono__ng 2025. 3. 26. 21:05

상황: WOL 세팅을 다 해놓고 정상적으로 동작하는 것까지 봤는데 다음 날 해보니 안 됨

이건 ARP 테이블 소멸때문에 그럴 확률이 높다. PC가 동작하는 동안은 Router(공유기)에 ARP 테이블에 정보가 기록되어 있다. 이건 IP:MAC address를 매칭해주는 전화번호부라고 생각하면 된다.

문제는 PC를 종료한 뒤 n분이 지나면 이 ARP에서 해당 PC의 정보를 지운다. 공유기 세팅마다 다를 듯 한데, 일반적으로 5분정도라고 한다. 당연히 매 주기마다 refresh해주어야 하기 때문에 필요한 작업이다. 그런데 이 테이블이 사라지면서, 특정 IP 주소로 보내는 매직 패킷이 공유기로 도착하더라도 MAC address를 모르니 공유기에서 전달해줄 수가 없다. WOL 앱에서는 PC의 MAC address도 요구하는데 그 정보로 라우팅을 강제할 순 없나보다..

그럼 이걸 해결하기 위해 뭘 해볼 수 있는가..

  1. ARP 테이블에 정적 주소를 고정해놓는다.
  2. 매직 패킷을 브로드캐스트 주소로 포트포워딩한다.
  3. 내부망에 WOL 패킷을 보낼 수 있는 기기를 둔다.
  4. iptime 공유기를 쓴다.

일단, 나는 모두 안 된다. 방법과 이유는 아래와 같다.

  1. ARP 테이블에 정적 주소를 고정해놓는다.
    • 일부 공유기는 SSH나 Telnet으로 접속해서 ARP 테이블을 고정할 수 있다고 한다. 나는 귀찮아서 안해봤다. 당연히 안 될 것 같아서. KT 공유기인데,, 기업용 라우터도 아니고 개인용 공유기라서 당연히 안 될 것 같다는 생각에 안 해봤다. 그래서 안 된다. 명령어는 아래와 같다. 되는 사람은 해보길
      • arp -s [PC IP주소] [PC MAC주소]
  2. 매직 패킷을 브로드캐스트 주소로 포트포워딩한다.
    • 보안 상의 이유로 브로드캐스트에 대한 포트포워딩은 제한해놓는 경우가 많다. KT 공유기도 그러한 듯. 그래서 안 된다.
  3. 내부 망에 WOL 패킷을 보낼 수 있는 기기를 둔다.
    • 항시 켜져 있는 라즈베리파이나 NAS 등을 활용해서, WOL 패킷에 대한 control message를 여기로 보낸다. 그런 다음 WOL 명령을 이 기기에서 보내도록 하면 된다고 한다. 근데 라즈베리파이 써본 적도 없고 NAS도 없고 그렇게 구성할 만큼의 열정이 부족해서 안 된다.
  4. iptime 공유기를 쓴다.
    • 이 사실을 팀원분께 말씀드렸는데, 본인은 iptime 공유기를 사용 중이고 여기에서는 그런 문제가 발생하지 않았다고 한다. 아마 1번 방식을 iptime에서 지원하지 않나 싶다. 혹은 WOL을 위한 어떤 기능이 있다던가.. 나는 굳이 공유기 하나 더 사고 싶지 않아서 안 된다.

그래서 나는 어떻게 했냐면,, 어차피 PC를 바깥에서 킬 일은 없을 듯 해서, 내부 망에 무선으로 붙어 있는 맥북에서 하도록 했다. 공유기에서 내부망 전용 WOL 기능(스마트 부팅이라던가 하는 이름일 수 있다)을 지원한다면 할 수 있다. 대신 이건 앱 대신 직접 공유기 관리 페이지에 들어가서 실행해줘야한다.

킹받지만 최고의 선택