Wake on Lan mini-HOWTO José Pedro Oliveira
jpo (at) di.uminho.pt
v0.13, 2002-04-10 지완
ai (at) kldp.org
0.2 2002-04-14 조지완 수정갱신, 원문 V0.13, 2002-04-10 에 대해 0.1 2002-02-27 조지완 최초 번역, 원문 V0.12, 2001-12-12 에 대해 이 문서에서는 WOL 에 대한 간단한 소개와 실제 사용가능한 툴을 소개하고 있습니다. 사양없이 번역을 허락해 주신 Oliveira 씨에게 감사드리며, 원문에는 명시되어있지 않은 라이센스 관계로는 GFDL v1.1 을 따라 줄 것을 당부받았음을 밝힙니다.
들어가며 이력 이 문서는 2000년 6월 29일부터 José Pedro Oliveira 가 쓰고 있다. 새 버전 이 문서의 최종 수정본은 나의 홈페이지 (http://gsd.di.uminho.pt/jpo/software/wakeonlan/mini-howto/) 에서 찾을 수 있다. 제언 제안이나 비평은 언제든 해주기 바란다. 갱신이력 2002-04-10 jpo - 관련링크 점검, python 스크립트 2001-12-12 jpo - 프로그램 부분을 추가 2001-05-16 jpo - IEEE 802 표준안을 온라인에서 볼 수 있음 2001-03-14 jpo - 프로그램 부분을 갱신 2001-02-12 jpo - Rembo 에 대한 내용을 갱신 2000-08-28 jpo - Kevin Fowlks 의 Visual Basic 코드에 대한 링크 추가 2000-08-04 jpo - 프로그램 부분을 갱신 저작권 Copyright (c) 2000-2002 José Pedro Oliveira 감사의 글 Ico Doornekamp ico (at) edd.dhs.org (wakeonlan 스크립트의 원저자) Fabien Salvi fabien (at) cri74.org (Donald Becker 의 홈페이지를 알려줌) Wake on LAN 그게 뭔가요? 특별히 설계된 네트웍 패킷을 사용하여 원격의 컴퓨터를 기동하는 것이다. 이 기능은 네트웍 카드와 마더보드가 Wake on Lan을 지원해야만 제대로 동작한다. 어떻게 동작하나요? WOL 은 다음과 같은 원리로 동작한다: PC 를 종료할 때 NIC (네트웍 카드) 은 완전히 꺼진 것은 아닌 상태로 여전히 켜져 있으며, '매직' 패킷이 오는지 살펴보고 있다. 이 패킷은 특정한 문자열 (byte-sequence) 이 포함되어 있어야 하며, 아무 프로토콜 (이를테면 IPX, IP 따위) 에나 얹혀오면 된다. '마법의' 문자열을 만드는 코드를 참조하기 바란다. 이 프로그램은 UDP 를 사용해서 패킷을 보낸다. 이더넷 인터페이스로 전달되는 UDP 패킷의 완전한 모습은 아래와 같은 것이다: [ethernet header][IP header][UDP header][Magic sequence][CRCS] 스크립트는 단지 이 패킷을 보내는 것으로 족하다. NIC 은 수신만 할 뿐이며 무언가 응답하는 것이 없으므로, 이 패킷을 보낸 후 돌아오는 데이터 등에 대해서는 신경쓰지 않아도 좋다. 프로토콜에 대한 좀 더 상세한 설명은 AMD 백서를 참고하라. 하드웨어 요구사항 그린 PC, WOL 지원의 마더보드 BIOS, 네트웍 카드, PCI 2.2 규격, os 지원 (windows 95 - DELL 의 문서에 의하면 가능 -, windows 98, windows 2000) 마더보드 최근의 거의 모든 마더보드에는 PCI 슬롯 옆에 3 핀의 WOL 커넥터가 있을 것이고, 또한 BIOS 에서도 WOL 로 기동하는 기능이 포함되어 있을것이다. 만약 Award BIOS 를 사용하다면 Power Management Setup 에서 이 옵션을 찾을 수 있다. 네트웍 카드 네트웍 카드에도 3 핀의 WOL 커넥터가 있을 것이다. 이 커넥터가 있는 네트웍 카드로는 Intel Pro/100+ (82559 칩셋) 가 있다. Wake-up 프레임 Wake-up 프레임은 원격 호스트의 이더넷 주소 (MAC address) 를 포함하고 있는 특별한 데이터 패킷이다. 이 프레임 내의 어딘가에는 동기화를 위한 6 바이트의 FFh 로 시작해서 그 이더넷 주소가 적어도 16 번 반복되는 문자열 ('마법의' 문자열) 이 존재해야 한다. '마법의' 문자열 대상 호스트의 이더넷 주소가 01:02:03:04:05:06 (6 바이트) 라면, 그 호스트의 LAN 카드는 아래와 같은 FFFFFFFFFFFF010203040506010203040506010203040506010203040506 010203040506010203040506010203040506010203040506010203040506 010203040506010203040506010203040506010203040506010203040506 010203040506010203040506 라는 문자열이 패킷에 들어있는지 살펴보게 된다. 이더넷 주소 이더넷 주소는 6 옥텟 역주 : 1 octets = 8 bits (48 비트) 숫자인데, 이는 모든 네트웍 카드 (NIC) 를 고유하게 식별하도록 한다. 처음 세 옥텟 (24 비트) 는 Organizationally Unique Identifier (OUI) 라고 불리며, 이는 NIC 의 제조사를 나타낸다. IEEE 에서는 OUI 목록을 다음 웹페이지에 유지하고 있다: IEEE OUI and Company_id Assignments. 참고서적: Ethernet: the Definitive Guide Charles E. Spurgeon O'Reilly 홈페이지: 저자의 홈페이지. IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specification Institute of Electrical and Electronics Engineers 2001 년 3 월 14 일 부터 LAN/MAN (802) 표준을 IEEE 웹사이트 Since May 14, 2001 the IEEE Local and Metropolitan Area Network (802) standards can be downloaded from the IEEE web site (http://standards.ieee.org/getieee802/) 에서 다운로드 할 수 있다. 이더넷 주소는 어떻게 알아보죠? 로컬 NIC 의 경우: Window 9x - "winipcfg.exe" 를 실행한다. Windows NT 와 Windows 2000 - "ipconfig.exe /all" 를 실행한다. Linux - "ifconfig" 를 실행한다. 다른 방법: 원격 호스트에 ping 을 보낸 다음 arp table 을 살펴본다. 브로드캐스트 주소에 ping 을 보낸 다음 arp table 을 살펴본다. arpwatch 데몬의 데이터베이스를 살펴본다. 대여 ip (lease) 와 DHCP 데몬의 설정파일을 살펴본다. Linux: ifconfig ping -b -c 2 -i 15 192.168.0.255 cat /proc/net/arp arp -a static entries: /etc/ether Windows NT: ipconfig /all netbstat -a local_ip_addr ping arp TCP/IP 브로드캐스트 주소 참고서적: Internetworking with TCP/IP Volume I: Principles, protocols, and architecture (third edition) Douglas E. Comer Prentice Hall 인터넷 주소에 대한 설명을 이 책의 4 장에서 찾을 수 있다. (4.5, 4.6, 4.11 절) 프로그램 리눅스 wakeonlan 현재 프로그래머: José Pedro Oliveira 원저자: Ico Doornekamp 언어: Perl 버전: 0.40 매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 9번으로 UDP 패킷을 전송. 다운로드: wakeonlan-0.40.tar.gz ether-wake 만든이: Donald Becker 회사: Scyld Computing Corporation 언어: C 버전: 1.06 매직 패킷: 프로그램 자체에서 이더넷 프레임 생성. 다운로드: ether-wake.c 주: root 권한이 필요함. Donald Becker 의 웹페이지 리눅스에서 Wake-On-LAN 사용하기리눅스 이더넷카드 점검 및 설정 도구모음 를 살펴보는 것도 좋다. wakelan 만든이: Christopher Chan-Nui 언어: C 버전: 1.1 매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 9번으로 UDP 패킷을 전송. 다운로드: wakelan-1.1.tar.gz (metalab 미러사이트에도 있음) Net::Wake 만든이: Clinton Wong 언어: Perl 버전: 0.01 매직패킷: 유니캐스트 주소에 포트 9번으로 UDP 패킷을 전송. 다운로드: Net-Wake-0.01.tar.gz (자신에게 가까운 CPAN 미러를 사용하는 편이 낫다.) 주: CPAN 모듈의 현재 버전 (0.01) 은 정적 ARP 테이블을 사용하고 있지 않으면 동작하지 않는다. 또한 유니캐스트 주소에만 패킷을 보낼 수 있다. WOL Utilities 만든이: info at gknw.de 회사: GKNW 언어: Perl 과 C 다운로드: WOL - Power on your ATX PC 다운로드: Magic Packet CGI Script 주: Etherboot project contribs 를 참고하라. WOL in Python 만든이: Marc Balmer 언어: Python 다운로드: WOL in Python 윈도우 Intel LanDesk Management Suite 회사: Intel Corporation 버전: 6.10 다운로드: 어떤 마더보드 (이를테면 ASUSP2B and P3B-F) 에서는 구입시 제공된다. 버전 6 은 독일 Asus ftp 사이트 에서 구할 수 있다. (현재 링크가 사라졌음). 자신이 가진 마더보드 제조사의 ftp 사이트를 참고하라. 주: 이 프로그램은 인텔 칩셋에서만 동작한다고 생각된다. (확인을 위해서는 VIA 마더보드가 필요!!) Rembo Toolkit 회사: Rembo Technology Sarl 버전: 1.1 build 020 다운로드: 상용제품임 - 위 주소 참고. 매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 9번으로 UDP 패킷을 전송. (이 프로그램의 초기 버전 몇몇은 포트 5555 번을 사용했다.) 주: 관리자 콘솔에서 등록된 호스트를 기동할 수 있다. 이것은 훌륭한 PXE 역주: Preboot Execution Environment 호환 원격기동 관리도구이며, BpBatch 를 만들었던 몇몇으로부터 제작된 것이다. ( Linux Remote-Boot mini-HOWTO 를 읽어본 적이 있다면 이것이 무슨 이야기인지 알 것이다.) 자신이 PXE 지원의 네트웍 카드를 가지고 있고 컴퓨터 실습실을 관리해야 한다면 사용해 봄 직하다. PCnet Magic Packet Utility 회사: Advanced Micro Devices, Inc. 버전: 1.00 매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 2304 번으로 UDP 패킷을 전송. 다운로드: magic_pkt.exe 주: RELEASE.TXT 의 "알려진 문제점들" 을 읽어볼 것. Visual Basic code 만든이: Kevin Fowlks 다운로드: wakeonlan.zip (현재 링크가 사라졌음) Waker/Dozer 회사: Microsoft 다운로드: Waker/Dozer. 링크는 더 이상 존재하지 않으나 Microsoft Windows Logo Hardware Compatibility Test CDROM 에서 Waker 를 구할 수 있다. (디렉토리 <cdrom>:\HCT\HCT\System\ACPI\i386) rpctl - Remote Power Control kit for HP OpenView NNM NT Author: Katsuyuki Yumoto 언어: C 다운로드: rpctl 주: 이 magic.exe 파일은 독립 실행이 가능함. SMS-WakeUP 만든이: Heine Jeppesen 언어: Visual Basic Script 버전: 1.0 다운로드: SMSWakeUp10.zip 주: 이 프로그램은 SMS 와 Windows Scripting Host, WMI 를 사용하는 것 같아 테스트 해보지 못했다. 또한 RPCTL 의 Magic.exe 이 있어야 한다. (위 참고) 도스용 PCnet Family Developers Tools - MPWAKE 회사: Advanced Micro Devices, Inc. 언어: C 버전: 1.05 다운로드: mpwake.zip 주: AMD PCnet-Fast 카드에서만 동작한다. ... 다음의 제품들에 대한 정보를 필요로 하고 있다. Tivoli 회사: IBM Unicenter TNG 회사: Computer Associates 참고 사이트 저자가 읽어본 Wake on LAN 에 대한 온라인 문서 일부를 아래에서 찾을 수 있다: AMD Magic Packet technology Magic Packet Technical Documentation Magic Packet Technology White Paper (Advanced Micro Devices Publication# 20213 Rev: A Issue Date: November 1995) OnNow Power Management Scyld Computing Corporation (Donald Becker) Using Wake-On-LAN with Linux Linux Ethercard Status, Diagnostic and Setup Utilities Intel Corporation Wired for Management Instantly Available Technology Intel Networking Technologies: Wake on LAN Building a Managed Computing Environment Wake on LAN Header Recommendations (Intel Document Number: 712940-001) PRO/100+ Management Adapters: Wake on LAN and System Compatibility IBM Wake on LAN (링크 사라짐) Wake up to Wake-on-LAN Dell Wake-up Techniques for Remote Systems Management (링크 사라짐) Instantly Available PC and OnNow Initiatives (링크 사라짐) 3COM 3Com Managed PC Solutions 3Com NICs with Managed PC features NEC What is Wake-On LAN? (링크 사라짐) Microsoft ACPI / power Management Waker/Dozer - Wake On Ring/Wake On LAN Testing. 링크는 더 이상 존재하지 않으나 Microsoft Windows Logo Hardware Compatibility Test CDROM 에서 Waker 를 구할 수 있다. (디렉토리 <cdrom>:\HCT\HCT\System\ACPI\i386) ... Apple Advanced Configuration & Power Interface http://www.amp.com/ (커넥터) 용어 APM Advanced Power Management ACPI Advanced Configuration and Power Management BIOS Basic Input/Output System DOS Disk Operating System LAN Local Area Network WOL Wake on LAN