ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • WoL(Wake on Lan) 원리와 적용
    Knowledge 2019. 5. 13. 23:04

    What

    WoL(Wake on Lan)은 네트워크에 연결된 컴퓨터의 전원을 켜기 위한 표준이다. 특별하게 약속된 형태의 패킷을 대상 컴퓨터로 보내면 컴퓨터가 꺼져 있더라도 컴퓨터의 랜카드가 작동하여 해당 패킷을 읽고 해석하여 컴퓨터를 부팅해준다. 이 표준은 1997년 인텔과 IBM의 주도로 발표된 오래된 표준이다. 이름으로 보면 로컬 네트워크에서만 동작할 것 같지만 실제로 WAN에서도 패킷만 전달되면 작동 가능하다. 그래서 비슷한 이름인 Wake on Wan, Resume by Lan, Wake up on Lan 등도 같은 표준을 가리킨다. Wi-Fi망에서 작동하는 보조 표준도 있는데, 이는 WoWLAN(Wake on Wireless Lan)이라 불린다.

     

    WoL에서 특별히 약속된 패킷은 매직 패킷이라 불리는데 일반적인 매직 패킷의 형태는 다음과 같다.

     

    Magic Packet

     

    매직 패킷은 먼저 6바이트의 0xFF(256)를 반복한다. 그 이후에는 48비트(6바이트)로 이루어진 대상 랜카드의 Mac Address가 16번 반복되어 나온다. 이렇게 전체 102바이트의 데이터가 매직 패킷을 구성한다.

     

    Magic Packet with Secure On Password

     

    때로는 Magic Packet with Secure On Password라고 해서 기본 매직 패킷 뒤에 48비트(6바이트)의 패스워드가 붙는 경우가 있다. 이 경우 전체 매직 패킷의 크기는 108바이트가 된다.

     

    매직 패킷은 말 그대로 매직처럼 어떤 네트워크 레이어의 프로토콜로 보내도 받을 수 있도록 표준에 정의되어 있다. 하지만 보통  UDP Broadcast를 사용하고 포트 번호는 0, 7, 그리고 9를 사용하는 것이 일반적이다. 물론 TCP는 사용이 불가능하다. TCP의 경우에는 핸드쉐이크가 이루어져야 교신이 가능하므로 컴퓨터가 꺼진 상태에서는 사용이 어렵다.

     

     

    How To Use

    1. Bios 설정

    WoL in Bios Settings

     

    WoL을 사용하기 위해서는 먼저 컴퓨터의 바이오스에서 설정을 해주어야 한다. 최근에는 노트북 등을 사용하는 경우가 많아서 바이오스 설정에 들어갈 일이 거의 없지만, 과거의 기억을 돌이켜 보면 PC의 바이오스에서 많은 설정을 걸고 사용했었다. 바이오스 설정은 PC 제조사, 바이오스 제조사, 바이오스 버전 등에 따라 너무나도 다양하다. 바이오스 메뉴를 잘 찾으면 Wake로 시작되는 기능을 대부분 찾을 수 있을 것이다. 해당 기능을 켜는 것으로 바이오스 설정은 완료된다.

     

     

    2. 네트워크 어댑터 설정

    WoL in NIC Property

     

    다음으로는 윈도우즈 제어판에서 네트워크 항목에 가서 랜카드(NIC)의 설정에서 WoL을 허용해야 한다. 이 부분 역시 제조사에 따라 서로 다른 메뉴 아이템의 이름으로 나와 있으니 제조사의 도움말을 참조하여 진행해야 한다. 주의할 점은 최근의 PC는 유무선을 포함해 여러 개의 랜카드가 설치되어 있는 경우가 많아, 항상 네트워크에 연결이 되어있을 랜카드를 선택해 설정해 주어야 한다.

     

     

    3. 기타 설정

    UAC

     

    그 외에도 원활한 부팅을 위해 빠른 부팅을 설정하거나, UAC를 조정하거나, 패스워드 입력을 없앤다던지 하는 부가적인 작업을 해주어야 한다. 그렇지 않으면 원격에서 PC가 부팅하더라도 할 수 있는 것이 없을 수도 있기 때문이다.

     

     

    4. 공유기 설정

    WoL Setting

     

    WoL을 사용하는 목적은 대부분 집안을 벗어난 곳에서 컴퓨터를 켜기 위함일 것이다. 거동에 불편이 없다면 로컬 네트워크 상의 컴퓨터는 다가가서 켜는게 빠를 수 있기 때문이다. 만약, 집안의 컴퓨터가 인터넷에 바로 연결되어 있다면 WoL을 집 바깥에서 사용하는데 전혀 문제가 없다. 그러나 최근의 가정용 네트워크의 상황을 보면 그런 경우는 거의 없으며 대부분 인터넷 공유기나 IPTV/케이블TV의 셋탑박스를 통해 인터넷에 연결된 경우가 많다. 여기서 문제가 발생하는데 대부분의 공유기들은 외부에서 들어오는 패킷을 차단하는 형태의 방화벽 정책을 가지고 있다. 즉 집 바깥에서 WoL을 사용하고자 한다면, 공유기의 설정을 변환해 WoL패킷을 허용해야 한다.

     

    공유기의 서정 변경 역시 제조사마다 많이 다르기 때문에 공유기 매뉴얼을 참조하여 변경을 해야 한다. 변경을 하는 방법으로는 WoL을 위한 메뉴가 따로 마련된 경우 이를 설정하는 방법이 가장 쉽다. 그 외에도 방화벽 정책을 적용받지 않는 DMZ에 PC를 둔다거나, WoL 패킷에 대한 포트포워딩을 설정하는 방법으로도 적용이 가능하다.

     

    국내에서 WoL을 설정할 때 가장 큰 문제는 국내 최대의 점유율을 가진 IpTime의 공유기들이 스탠다드 형태의 WoL 메뉴를 제공하지 않는다는 점이다. 대신 자체적으로 WoL기능을 구현하여 제공하고 있는데, 이는 범용적인 WoL이 아닌 IpTime에서 제공하는 앱을 통해서만 접근할 수 있다는 단점이 있다.

     

     

    5. WoL 앱

    WoL App

     

    4번까지의 세팅을 모두 완료했다면 이제 WoL을 사용을 위한 앱을 골라야 한다. WoL 앱은 굉장히 많은 종류가 나와있다. Google Play나 App Store에서 WoL을 키워드로 검색하면 다양한 앱들들 발견할 수 있다.

     

     

    Cautions

    WoL은 상당히 쓸모가 많은 기능이지만, 사용에 유의할 점들이 있다. 가장 쉽게 예상할 수 있는 문제로 WoL 패킷을 통과하게 하면 DoS공격이 이루어질 수 있다는 점이다. WoL이 사용하는 포트가 대부분 일정하므로 해당 포트를 통해 공격이 가능하다. 개인 컴퓨터의 경우는 DoS공격의 대상이 되는 경우가 거의 없겠지만, 공용으로 사용하는 컴퓨터이거나 알려진 컴퓨터이면 이는 상당히 심각한 문제가 될 수 있다.

     

    직접적인 공격에 이용되지 않더라도 네트워크 내의 감염된 컴퓨터를 켜서 로컬 네트워크 내에서의 원하는 동작을 수행한다던지 하는 경우들도 생각해 볼 수 있다. 따라서 WoL을 적용할 경우 이런 케이스들에 대한 고려를 해야 한다. 물론 현재의 가정 환경이라면 큰 문제는 없겠지만, IoT가 보급되고 가전 제품들이 모두 로컬 네트워크에 물린 상황을 가정하면, 생각보다 문제가 커질 수 있다.

     

     

    Fin.

    반응형

    댓글

Calvin's Memo