본문으로 건너뛰기

Wake-on-LAN(원격 깨우기)

Wake-on-LAN은 LAN에 Magic Packet을 보내 전원이 꺼져 있거나 절전 상태인 장치를 시작합니다. fn-knock는 로컬 네트워크에 직접 브로드캐스트하거나 다른 fn-knock의 내장 Relay를 통해 다른 네트워크로 전송할 수 있습니다. 로그인한 사용자는 게이트웨이 포털에서 간소화된 깨우기 페이지를 열 수도 있습니다.

Wake-on-LAN은 깨우기 신호만 전송하며 장치 자체의 전원 관리를 대신하지 않습니다. 대상 메인보드, 네트워크 어댑터, 펌웨어 및 운영체제에서 WOL을 미리 활성화해야 하며, 종료 후에도 어댑터에 전원이 공급되어야 합니다.

기능 활성화

시스템 설정 → 기능 → Wake-on-LAN을 활성화합니다. 저장하면 사이드바에 Wake-on-LAN 항목이 나타나고 장치 온라인 확인, 내장 Relay 및 설정된 외부 플랫폼 연결이 시작됩니다. 스위치를 끄면 이러한 실행 작업과 항목은 중지되지만 장치, Relay 또는 외부 플랫폼 설정은 삭제되지 않습니다.

먼저 같은 LAN의 장치 한 대에서 직접 깨우기를 확인하세요. 그 후 네트워크 간 Relay나 외부 플랫폼을 설정하면 장치 자체에서 WOL이 활성화되지 않은 문제를 먼저 분리할 수 있습니다.

로컬 장치 추가

Wake-on-LAN → 장치를 열고 수동으로 추가하거나 장치 검색을 사용합니다.

  1. 기본적으로 fn-knock가 감지한 직접 연결 IPv4 네트워크를 스캔합니다. 범위를 지정하려면 스캔 설정을 열고 하나 이상의 CIDR을 입력합니다.
  2. 실제로 응답하고 이웃 테이블에서 MAC 주소를 확인할 수 있는 장치만 표시됩니다. 절전 중이거나 ICMP를 차단하거나 스위치 이웃 테이블에서 만료된 장치는 표시되지 않을 수 있습니다.
  3. 장치를 선택하고 이름을 확인한 다음 일괄 추가합니다. 검색 과정에서 장치 IP와 해당 네트워크의 directed broadcast 주소도 입력됩니다.

수동 추가의 주요 필드는 다음과 같습니다.

필드용도
이름관리 페이지, 포털 및 이벤트에 표시되는 장치 이름
MAC 주소Magic Packet 대상이며 대문자 콜론 형식으로 저장
장치 IP 주소온라인 확인에 사용하며 Magic Packet의 유일한 대상은 아님
깨우기 경로로컬 장치는 직접 브로드캐스트, 다른 네트워크는 페어링된 Relay 선택
브로드캐스트 주소로컬 직접 깨우기에 사용하며, 비워 두면 감지된 로컬 인터페이스로 브로드캐스트
사용비활성 장치는 설정에 남지만 관리 페이지, 포털 또는 외부 플랫폼에서 깨울 수 없음

깨우기 성공은 브로드캐스트가 제출되었다는 뜻일 뿐 장치가 부팅되었다는 보장은 아닙니다. 장치별로 짧은 대기 시간이 있어 버튼을 연속으로 눌러도 계속 패킷을 보내지 않습니다.

온라인 상태 판정

활성 장치는 약 1분마다 확인됩니다. 장치를 만들거나 편집하면 즉시 확인이 시작되고, 깨우기 요청 뒤에도 잠시 기다린 후 두 번 더 확인하므로 버튼을 누르는 순간 온라인으로 바뀌지는 않습니다.

  • 온라인: 프로브가 응답했고 응답 주소가 대상 MAC과 일치합니다.
  • 오프라인: 프로브가 완료되었지만 대상을 찾지 못했습니다.
  • 확인 대기: 아직 확인하지 않았거나, 시간 초과, Relay 사용 불가 또는 주소를 확인할 수 없는 상태입니다.

DHCP로 장치 IP가 바뀌면 fn-knock가 이웃 테이블에서 관측 주소를 갱신할 수 있습니다. 확인 대기를 장치 전원이 꺼졌다는 증거로 해석하지 마세요. 컨테이너 네트워크, ICMP 정책, VLAN 간 라우팅 및 시스템 권한도 결과를 불확실하게 만들 수 있습니다.

게이트웨이 포털에서 깨우기

WOL을 활성화하면 시스템 설정 → 게이트웨이 → 포털Wake-on-LAN 바로가기 표시가 나타나며 기본적으로 켜져 있습니다. Wake-on-LAN 페이지 오른쪽 위 설정에서도 변경할 수 있습니다. 로그인한 사용자가 여는 내장 /__wol__ 페이지에는 활성 장치 이름과 간소화된 상태만 표시되며 MAC, 장치 IP, 브로드캐스트 주소, Relay 또는 내부 오류는 공개되지 않습니다.

이 항목에는 다음 조건이 모두 필요합니다.

  1. WOL 기능이 활성화되어 있어야 합니다.
  2. 포털에서 WOL 표시를 허용해야 합니다.
  3. 브라우저에 유효한 로그인 세션이 있어야 합니다.
  4. 로그인 자격 증명의 서비스 범위에 내장 WOL 페이지가 포함되어야 합니다.

전체 범위 자격 증명에는 자동으로 포함됩니다. 사용자 지정 범위에서는 인증 설정 → 권한에서 내장 Wake-on-LAN 페이지를 선택하세요. 포털 바로가기를 숨겨도 장치가 삭제되거나 관리자, Relay, 외부 플랫폼의 깨우기에 영향을 주지는 않지만 공개 인증 API에서 내장 페이지를 열거나 조작할 수 없게 됩니다.

네트워크 간 Relay

대상이 현재 fn-knock와 같은 브로드캐스트 도메인에 없다면 대상 네트워크에도 fn-knock를 배포하고 두 인스턴스를 페어링합니다.

  1. 제어 측에서 Wake-on-LAN → 네트워크 간을 열고 원격 네트워크 추가를 선택한 뒤 대상 네트워크 fn-knock에 도달할 수 있는 IP를 입력합니다. 기본 UDP 포트는 40009입니다.
  2. 저장 후 FNW1.으로 시작하는 일회성 페어링 코드를 즉시 복사합니다.
  3. 대상 네트워크에서 Wake-on-LAN → Relay 수신을 열고 코드를 붙여 넣은 다음 활성화합니다.
  4. 제어 측으로 돌아가 연결 테스트를 실행하고 대상 장치의 깨우기 경로에 이 Relay를 선택합니다.

두 fn-knock 사이에는 사이트 간 VPN, 통제된 포트 포워딩 또는 다른 신뢰할 수 있는 네트워크와 같은 라우팅 가능한 UDP 경로가 필요합니다. 라우터와 호스트 방화벽에서 Relay UDP 포트를 허용하세요. Docker에서는 UDP 포트를 명시적으로 게시하고 컨테이너가 대상 LAN으로 브로드캐스트할 수 있어야 합니다.

페어링 코드에는 사전 공유 키가 포함되므로 신뢰할 수 있는 채널로만 전달하세요. Relay 요청과 ACK에는 서명, 시간 범위 검사 및 재전송 방지가 적용됩니다. 허용 소스 CIDR로 제어 측 주소를 추가 제한할 수 있지만 PSK를 대신하지는 않습니다. 페어링 코드를 다시 생성하면 이전 키는 즉시 무효가 되고 대상 측에 새 코드를 다시 붙여 넣어야 합니다. 두 시스템 시계가 크게 다르면 Relay가 요청을 거부합니다.

고급 수신 주소, 브로드캐스트 대상 및 소스 CIDR은 자동 감지가 VLAN, 컨테이너 또는 다중 인터페이스 구성에 맞지 않을 때만 변경하세요. 브로드캐스트 대상은 최소 한 개가 필요하며 일반적으로 대상 네트워크의 directed broadcast 주소와 UDP 9를 사용합니다.

Blinker와 Bemfa

장치를 편집하고 외부 플랫폼 연동에서 하나의 제공자를 선택합니다. 장치마다 한 플랫폼만 활성화할 수 있으며 연결 중, 연결됨, 재연결 중, 자격 증명 없음 또는 오류 상태가 표시됩니다.

Blinker(点灯科技)

Blinker App에서 독립 네트워크 장치를 만들고 장치 키를 fn-knock에 입력합니다. switch 컴포넌트 연결을 활성화하면 on은 장치를 깨우고, off는 현재 온라인 상태만 응답하며 장치를 종료하지 않습니다. 상태 조회에는 fn-knock가 마지막으로 감지한 온라인 상태가 반환됩니다.

Bemfa(巴法云)

Bemfa 개인 키와 구독 토픽을 입력합니다. 토픽에는 영문, 숫자 및 밑줄만 사용할 수 있습니다. 음성 플랫폼 검색이 필요하면 Bemfa 규칙에 따라 001 또는 006으로 끝나는 토픽을 사용하세요.

  • on을 받으면 장치를 깨웁니다.
  • off를 받아도 장치를 종료하지 않고 현재 상태를 {토픽}/up에 게시합니다.
  • 온라인 확인 상태가 바뀌면 업스트림 토픽에도 on 또는 off를 게시합니다.

Mi Home 및 XiaoAI 연결

Blinker 또는 Bemfa 설정을 마치고 장치가 연결됨 상태인지 확인한 후 다음 단계를 진행합니다.

  1. Mi Home App을 열고 나 → 타사 플랫폼 연결로 이동합니다.
  2. 巴法(Bemfa) 또는 点灯(Blinker)을 검색하고 현재 fn-knock 장치에 설정한 것과 같은 플랫폼을 선택한 뒤 안내에 따라 추가합니다.
  3. 계정을 인증하고 장치를 동기화하면 Mi Home App에서 깨우거나 XiaoAI에 켜기 또는 전원 켜기 명령을 내려 장치를 깨울 수 있습니다.

Mi Home과 XiaoAI 명령은 선택한 플랫폼을 통해 전송됩니다. 켜기 명령은 on으로 매핑되어 WOL을 실행합니다. 끄기 명령은 대상 장치를 원격 종료하지 않으며 앞에서 설명한 규칙에 따라 현재 상태를 응답하거나 동기화할 뿐입니다.

두 연동 모두 fn-knock에서 제공자의 HTTPS 및 MQTT TLS 서비스로 나가는 연결이 필요합니다. 장치 키, 개인 키, 토픽 또는 이를 포함한 스크린샷을 공개하지 마세요. 플랫폼 명령은 게이트웨이 포털 페이지를 거치지 않으므로 신뢰할 수 있는 사용자에게만 플랫폼 계정과 장치 권한을 부여하세요.

이벤트, 백업 및 마이그레이션

각 깨우기 시도는 대상, 전달 방식, 출처(관리자, 포털, Blinker 또는 Bemfa), 결과 및 지연을 포함한 Wake-on-LAN 완료 이벤트를 만듭니다. 이벤트 센터에서 알림 규칙을 만들 수 있습니다. 이 이벤트는 브로드캐스트 처리 결과이며 장치가 부팅을 마쳤다는 의미가 아니므로 이후 온라인 상태도 확인하세요.

장치, Relay 및 민감하지 않은 연동 설정은 애플리케이션 설정에 포함됩니다. Relay PSK, Blinker 장치 키 및 Bemfa 개인 키는 현재 설치에 연결된 암호화 자격 증명 디렉터리에 저장되며 .knock 애플리케이션 백업에는 포함되지 않습니다. 마이그레이션 또는 복원 후 Relay를 다시 페어링하고 외부 자격 증명을 다시 입력한 뒤 브로드캐스트 주소, 장치 IP, UDP 포트 및 방화벽을 확인하세요.

문제 해결 순서

  1. 대상 BIOS/UEFI, 어댑터 드라이버 및 운영체제에서 WOL을 활성화하고 같은 LAN의 다른 도구로 먼저 테스트합니다.
  2. MAC을 확인하고 완전히 종료한 후에도 네트워크 포트에 전원이 공급되는지 확인합니다.
  3. 직접 깨우기에서는 directed broadcast 주소를 확인합니다. Docker에서는 네트워크 모드, UDP 브로드캐스트 도달성 및 호스트 방화벽을 먼저 점검합니다.
  4. 다른 네트워크에서는 Relay 연결을 먼저 테스트하고 UDP 40009(또는 사용자 지정 포트), 라우팅, 소스 CIDR, 양쪽 시계 및 페어링 상태를 확인합니다.
  5. 브로드캐스트가 성공해도 장치가 켜지지 않으면 반복 전송 대신 장치, 스위치 또는 브로드캐스트 경로를 조사합니다.
  6. 확인 대기 상태가 계속되면 장치 IP, ICMP, 이웃 테이블, VLAN 간 라우팅 및 Relay 상태 확인을 점검합니다.
  7. 포털 항목이 없으면 기능 스위치, 바로가기 표시 및 자격 증명 서비스 범위를 확인합니다.
  8. 외부 플랫폼이 응답하지 않으면 연결 상태와 최근 오류, 외부 HTTPS/MQTT TLS, 자격 증명 및 토픽을 확인한 뒤 장치를 다시 저장합니다.

QQ 커뮤니티: 1081609274