Today
-
Yesterday
-
Total
-
  • [iOS Shortcuts] 아이폰 단축어와 Synology NAS를 사용해서 PC WOL 실행하기
    Programing/Automation 2023. 12. 2. 16:08

    개요

    반복적인 일을 자동화 하는 것은 항상 흥미로운 작업입니다.

    회사에서 업무적인 영역이든, 평소에 일상 생활하는 부분이든 반복되는 행위는 상관없이 발생합니다.

     

    저는 퇴근을 하여 집에 오면 주로 PC 사용하는데, 집에 도착해서 PC의 전원을 켜는 행동을 계속 반복적으로 수행 하였습니다.

    해당 행동을 자동화 하기 위하여, 사용한 WOL 기능과 아이폰 단축어 기능에 대해 설명 드리겠습니다.


    Wake-on-Lan?

    Wake-on-Lan

    Wake-on-Lan(WOL) 기능은 네트워크를 통해 PC를 원격으로 켜는 기능입니다. PC 본체의 버튼을 물리적으로 누르기 힘들거나, 외부에서 PC의 전원을 켜야할 때 유용하게 사용할 수 있습니다.

     

    WOL을 설정 하려면 첫번째로 PC의 메인보드와 네트워크 카드에서 WOL 기능을 지원해야 합니다. 일반적으로 대다수의 장비들이 WOL을 지원한다고 합니다. 두번째로 해당 PC에 신호를 줄 네트워크 장비가 준비 되어야 합니다. 주로 PC와 같이 사용하는 공유기가 해당 기능을 지원할 수 있고, 저 같은 경우는 네트워크에 연결 시켜 놓은 Synology NAS를 사용합니다.


    Synology NAS WOL 활성화

    Synology NAS에서 WOL 설정하는 방법입니다.

     

    사전에 PC가 WOL기능을 사용할 수 있도록 설정을 하여야 하는데, 보통 BIOS에 진입하여 설정할 수 있습니다. 본인의 메인보드를 확인하여 미리 설정을 해놓으세요.

     

    1. 우선 본인 PC의 mac address를 찾아야 합니다.

    저는 iptime 공유기를 사용하고 있어, 공유기 관리 페이지에 들어가서 확인 하였습니다.

    공유기 관리 페이지

    브라우저에 192.168.0.1을 입력하여 공유기 관리 페이지로 진입 한 뒤 "고급 설정 - 네트워크 관리 - 내부 네트워크 설정" 메뉴에 있는 Desktop의 mac address를 가져옵니다. "XX:XX:XX:XX:XX:XX" 으로 되어 있을 것 입니다.

    만약 본인이 사용하는 공유기가 다르다면, 터미널 사용 등 다른 방법으로 mac address를 찾아줍니다.

     

    2. Synology NAS의 작업 스케쥴러에서 WOL 기능을 추가한다.

    Synology NAS에서 터미널 기능으로 WOL을 실행할 수 있지만, GUI로 제어를 하기 위해 작업 스케쥴러에 추가 해 줍니다.

    Synology NAS 작업 스케쥴러

    "제어판 - 작업 스케쥴러" 메뉴로 들어가서 새로운 작업을 생성 해 줍니다.
    작업 이름은 임의로 설정하고, 사용자는 root 계정으로 설정해줍니다. 스케쥴은 넘어가고, 작업 설정에 스크립트를 작성해줍니다.

    "synonet --wake XX:XX:XX:XX:XX:XX eth0" 중간에는 위에서 찾았던 PC의 mac address를 입력해줍니다.

    확인을 누르면 작업이 저장 됩니다.

     

    만약 위의 명령어가 오류를 발생하며 정상적으로 실행하지 않으면, synonet 명령어를 가져오지 못하는 것 일 수 있으니 명령어에 다음과 같이 경로를 붙여줍니다.

    "/usr/syno/sbin/synonet -wake XX:XX:XX:XX:XX:XX eth0" 

     

    3. 실행 버튼을 눌러 해당 기능을 실행한다.

    GUI에서 WOL을 실행 하려면 방금 추가한 작업을 실행시켜주면 됩니다.

    WOL 작업 실행


    SSH 접속을 통해 Siri로 WOL 하는 법

    위의 방법으로 PC WOL 기능을 설정하였습니다. 다만 NAS에 접속을 하여 작업을 실행 시키는 과정이 모바일 환경에서는 어렵고, 자동화 할 수 도 없었습니다.

    synonet 커맨드로 WOL을 실행시킬수 있기에, ssh 접속을 통하여 다양한 환경에서 사용할 수 있도록 설정 해보겠습니다.

    해당 작업은 외부에서 NAS GUI에 접속할 수 있게 NAS나 공유기 설정이 미리 되어 있다고 생각하고 진행하겠습니다.

     

    1. NAS의 SSH 접속 기능을 활성화 한다.

    외부에서 NAS에 접속하여 커맨드를 실행할 수 있게, SSH 설정을 해줘야 합니다.

    터미널 및 SNMP 설정

    "제어판 - 터미널 및 SNMP" 설정으로 이동하여 SSH 서비스 활성화를 체크합니다.

    기본 포트로 설정을 할 경우 외부에서 불특정 접속 시도를 많이 받을 수 있으니, 포트를 적절히 수정해줍니다.

    외부 엑세스 설정

    "제어판 - 외부액세스" 설정으로 이동하여 외부에서 SSH 포트로 접속 가능하게 설정해줍니다.

     

    2. 아이폰 단축어에 SSH 접속 기능을 추가한다.

    아이폰 단축어

    아이폰 단축어에서 "SSH를 통한 스크립트 실행" 단축어를 하나 생성합니다.

     

    기능의 명령어에는 위에서 작성 하였던 synonet 명령어를 입력합니다.

    호스트에는 NAS 접속 도메인을 입력합니다.

    포트에는 위에서 설정한 SSH 포트를 입력합니다.

     

    SSH환경에서 synonet 커맨드는 root 계정에서만 실행을 할 수 있습니다.

    사용자에는 root를 입력합니다.

     

    root 계정의 경우 계정 정보가 아니라, SSH 공개키를 사용하여 접속 가능합니다.

    인증을 SSH키로 설정하고 생성되어 있는 공개 키를 복사해줍니다.

     

    3. SSH 공개 키 설정

    SSH 접속하기

    Synology NAS에 사용하는 관리자 계정으로 SSH 접속을 합니다.

    해당 과정은 ID, PW를 사용하여 접속이 가능합니다.

    sshd_config 수정

    "sudo vim /etc/ssh/sshd_config" 명령어를 사용하여 ssh 접속 설정 문서를 수정합니다.

    PermitRootLogin yes

    PubkeyAuthentication yes

    로 수정해줍니다.

    SSH 공개 키 추가

    "sudo vim /root/.ssh/ayuthorized_keys" 명령어를 사용하여 root 계정에 SSH 공개 키를 추가해줍니다.

    위에서 복사한 공개 키를 해당 문서에 붙여넣어 줍니다.

     

    해당 과정을 통하여 아이폰 단축어에 Synology NAS를 사용한 PC WOL 기능이 설정 완료 되었습니다.

    설정한 단축어를 눌러서 실행 또는 Siri를 사용하여 단축어 실행을 하면 PC가 원격으로 켜지는 것을 확인할 수 있습니다.


    결론

    저는 해당 글에서 Synology NAS를 사용 하였지만, 가정에서 주로 사용하는 공유기에도 동일한 기능을 실행할 수 있는 것으로 알 고 있습니다. 하지만 SSH 접속을 통한 명령어 실행 까지 공유기에서 지원하는 지는 잘 모르겠네요.

     

    해당 방법을 통해 PC 전원 켜기를 자동화 하고, 평소의 다른 작업을 자동화 할 수 있을지 고민해 보면 좋겠습니다.


     

    반응형

    댓글

Designed by Tistory. Customed by MJ.