외부에서 Wake On Lan 지원 안되는 공유기에서 WOL 사용하기

Wake On Lan 잘 쓰고 계시나요. 저는 항상 잘 쓰고 있었는데. 최근에 공유기를 바꾸고 나니 문제가 생겼습니다. 빠른 무선 속도를 노려보려고 외산 공유기로 바꿨는데 Wake On Lan(이하 WOL)이 지원안되는 겁니다.
일반적인 공유기에서 외부에서의 WOL이 되는 이유는 WOL서버 때문인데요.(한가지 방법은 브로드캐스트 주소로의 포트포워드지만 지원 안되는 공유기가 더 많습니다.) 새로산 공유기는 WOL서버 기능을 자체적으로 지원하지 않으니... 답답하더라구요.
이걸 안쓸 수는 없고 어떻게든 쓸 방법을 생각해봤는데요

첫번째 방법은 외부 N번 포트에서 들어오는 패킷을 내부 브로드캐스트 주소로 포워드해버리는 것이 었습니다. 그러면 제가 보낸 패킷이 내부네트워크 전체로 퍼지고 제가 보낸 맥어드레스에 해당하는 컴퓨터만 켜질 것 같았거든요.

두번째 방법은 아예 리눅스를 설치하고 WOL서버로 사용하는 방법이었습니다.

첫번째방법이 간편한데 공유기에서 지원하지를 않아요... 그래서 결국 두번째 방법을 선택하게 되었습니다.
허접하지만 혹시나 넷기어나 링크시스등 WOL이 자체적으로 지원되지 않는 공유기를 이용중인 분들을 위해 작성합니다.

준비물은 남는 항상 켜져있을 수 있는 컴퓨터 혹은 리눅스가 설치되는 싱글보드컴퓨터입니다. 사용중인 서버가 있다면 그걸 써도 됩니다. 일단 저는 여기서 라즈베리 파이로 진행하겠습니다. 저는 리눅스로 진행하지만 윈도우에서도 됩니다.

먼저 라즈베리파이에 레즈비언 아...아니 라즈비안을 설치하시고 켜고자 하는 컴퓨터들과 같은 네트워크에 연결하신 후(이더넷이든 무선이든 상관 없습니다.) service ssh start를 입력해서 sshd를 시작합니다.

그리고 컴퓨터에서 putty와 같은 ssh클라이언트로 라즈베리파이의 ssh서버에 접속합니다.

etherwake와 wakeonlan 두가지가 있는데 etherwake는 실행할때마다 sudo를 해줘야해서 wakeonlan을 설치했습니다

apt-get update && apt-get install wakeonlan
or
aptitude update && aptitude install wakeonlan
를 입력해 wakeonlan을 설치합니다.
포럼에서 보니 aptitude가 대세던데 저는 아직도 익숙함 때문에 apt-get을 쓰고 있네요.

설치가 끝났네요.

vi filename.sh를 입력해서 안에는 wakeonlan 11:22:33:44:55:66와 같이 wakeonlan뒤에 맥어드레스를 입력해줍니다.
스크립트파일로 만드는 이유는 다름이 아니라 그냥 좀 짧게 만들기 위함이구요. 좀 공을 들이면 켜졌는지 안켜졌는지 확인하는 스크립트를 넣을 수도 있겠지만 그냥 쓰는 건데 그렇게 공들일 필요까지야...

일단 테스트를 해봅시다 sh wol.sh를 입력해 봅니다 켜지나요?

ssh포트를 변경하고 싶다면 vi /etc/ssh/sshd_config를 입력하신후 사진에 있는 저 #을 제거 하시고 포트번호를 수정해주세요.

윈도우의 경우
윈도우의 경우에는 간단하게 여기에 나와있는 윈도우용 ssh서버중 하나를 선택하여 설치하신 후 설정을 마치시고 (꼭 ssh서버 설치하실 필요없습니다. RDP포트여시고 RDP접속하셔서 수동으로 켜줄 수 도 있습니다. 여기서 ssh서버를 설치하는 것은 밑에 나온 원클릭 켜기 때문입니다.) 여기에서 command line용 wolcmd를 다운받습니다. 그리고 ssh 접속시 기본 경로에 넣어주면 됩니다.(기본경로가 어디였는지 생각이 안나요 C:\Users\유저명 이었나 C:\Users\유저명\Documents 이었나.)
그리고 cmd 파일을 하나 만드신 후
wolcmd [mac address] [ipaddress] [subnet mask] [port number]
이렇게 설정하고 ssh 접속했을때의 기본경로에 wol.cmd로 저장해 주시면 되는데, 아마
wolcmd [mac address] [ipaddress] 255.255.255.0 9
이렇게 맥 어드레스랑 아이피만 설정하면될겁니다. 아이피는 맨뒷자리는 255로 해주세요 ex)192.168.1.255

자 이제 설정이 끝났습니다. 스마트폰이나 외부 컴퓨터에서 ssh접속하신후 sh wol.sh 해주시면 되는데요.
원클릭이 아니잖아요. 그래서 이 앱을 이용하도록 합니다.
Script Kitty 스크립트 키디 스크립트 키티 인데요.
이 앱은 명령어를 등록해놓고 실행하면 ssh접속후 해당 명령어 실행까지 해주는 앱입니다. 이걸 이용해 원클릭 wol패킷을 보낼텐데요. 한번 보도록 하죠

스크립트 키티를 실행하면 ADD HOST를 눌러 설정한 서버에 맞게 주소와 포트를 입력해줍니다.

등록이 됬네요 여기서 RUN SCRIPT를 누르면 스크립트를 추가할 수 있습니다.

저는 스샷찍기전에 등록을 해서 이미 등록이 되어있는데 ADD SCRIPT를 눌러 추가합니다.

뭐 내용이야 별거 없이 이거에요. 윈도우에다가 하신 분은 wol.cmd 해주시면 됩니다.

이제 다른 네트워크나 데이터를 사용줄이더라도 이 버튼을 한번 클릭하는 것 만으로 컴퓨터가 켜집니다.


굉장히 허접하지만 그래도 WOL을 쓸 수 있어서 좋네요. 근데 라즈베리 파이를 고작 WOL서버로만 쓰자니 너무 아깝네요. 아무리 CPU성능이 딸린다 해도 가정용 NAS정도는 되는 성능인데... 뭐라도 서비스 좀더 올려서 써야겠어요.
웹서버 올려서 어떻게 잘 만들면 공유기 UI처럼 GUI로 만들 수 있을 텐데 하는 생각도 드는데 혹시 하게되면 따로 새글 안쓰고 여기 밑에 추가할게요.
저작자 표시 비영리 동일 조건 변경 허락
신고
Creative Commons License