일단 공유기단에서의 WOL 세팅 글이기 때문에 컴퓨터의 WOL 세팅 방법은 패스한다. (그냥 바이오스에서 설정 한두 개만 키면 끝이다)
Wake On Lan은 특수한 패킷을 받으면(매직 패킷이라고 부른다) 장치를 키는 기능이다. 나는 외부에서 컴퓨터 사용할 일이 있을 때 보통 원격 데스크톱으로 집컴을 사용하는데 이때 굉장히 유용하게 자주 사용하고 있다.
일단 wol 개념을 이해할 필요가 있다. 매직 패킷에는 맥주소 정보가 들어 있는데 랜카드가 이를 받으면 날 깨우라는 게 맞는지 확인하고 맞으면 장치를 켠다. 즉 외부에서 온 매직 패킷이 장치에 도달해야 한다.
외부 패킷을 특정 장치로 보내는 건 공유기의 포트 포워딩 기능을 사용하면 된다. 매직 패킷은 udp 7번 또는 9번을 사용하기로 약속되어 있으므로 해당 포트로 오는 패킷을 대상 장치로 붙여주면 된다.
하지만 여기까지만 진행하면 컴퓨터 종료 직후에만 wol이 작동하고 시간이 조금 지나면 작동하지 않는 현상이 있을 것이다. 왜냐하면 공유기는 arp 테이블이라고 해서 ip 주소와 mac 주소를 매칭시켜 놓은 정보를 가지고 특정 ip로 패킷을 보낼 때 어디로 보내야 하는지 파악하기 때문이다. 장치가 꺼지고 시간이 지나면 arp 테이블에 등록된 정보가 날아가고 공유기는 받은 매직 패킷을 누구한테 보내야 하는지 몰라서 패킷이 장치에 도달하지 못한다.
두 가지 해결 방법이 있다. 첫 번째는 매직 패킷을 받으면 브로드캐스팅으로 쏴주도록 설정하는 건데 내 공유기는 포트 포워딩 설정에 브로드캐스팅 주소를 넣어도 작동하지 않았다. (이 공유기가 안 되는 건지 원래 전부 안 되는 건지는 모르겠다. 이론상으론 되어야 할 거 같은데...)
두 번째 방법은 arp 테이블에 ip/mac 주소 매칭 정보를 영구적으로 등록하는 것이다. 내가 사용하고 있는 공유기는 tp-link 공유기인데 원래 제조사 펌웨어에는 “IP & MAC 바인딩”이란 기능이 있어서 간단하게 값을 고정할 수 있었다. 하지만 펌웨어 업데이트가 끊긴 지 오래되고 나도 그냥 심심해서 OpenWrt를 설치했는데 LuCI에서는 관련 기능을 찾을 수 없었다. 그래도 약간의 삽질 끝에 ssh 접속 없이 luci 상에서 arp 고정 방법을 알아내서 정리해 둔다.
OpenWrt LuCI 상에서 WOL 세팅법
1. 고정 IP를 설정한다. 네트워크→DHCP 및 DNS→정적 임대에서 추가할 수 있다.
2. 포트포워딩 설정을 한다. 네트워크→방화벽→Port Forward에서 할 수 있다. 나는 wol 포트로 9번을 열어줬다.
3. 시스템→소프트웨어 메뉴에서 “ip-full” 패키지를 설치한다. arp 테이블 등록할 때 ip 명령어가 필요하다.
4. 시스템→작업 관리 메뉴에 들어가서 아래 명령어를 추가한다.
* * * * * ip neigh change [아이피주소] lladdr [맥주소] nud permanent dev br-lan
아이피주소와 맥주소를 포트포워딩과 고정 IP 설정한 거에 맞춰서 적어주면 된다. arp 테이블을 등록하는 명령어이다. 사실 저 명령어가 영구 등록인 걸로 알고 있는데 실제로 테스트해 보니 어느 정도 시간이 지나면 테이블에서 사라져서 작동하지 않았다. (추측건대 장치 종료랑 연관이 있을 듯?) 그래서 cron에 등록해서 1분 간격으로 계속 재등록하도록 했다.
근데 나는 인터페이스 이름이 br-lan인데 혹시라도 다를 수도 있으니 네트워크→인터페이스 메뉴에서 한번 확인해 보는 게 좋겠다.
이제 wol 세팅이 끝났다. 매직 패킷 보내는 건 관련 앱이 많으니 그런 걸 받아서 사용하면 된다. 나는 어디서 php 코드 받아다가 간단한 웹페이지 만들어 놓았다.ㅎ
'기타 OS' 카테고리의 다른 글
[Asianux] 아시아눅스 스샷 (2) | 2011.02.25 |
---|---|
[Asianux] Asianux Desktop 3 설치기 (0) | 2011.02.25 |
[붉은별] 붉은별 설치기 (0) | 2011.02.24 |
[붉은별] 붉은별 깔아봄 (0) | 2011.02.24 |