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 → 장치를 열고 수동으로 추가하거나 장치 검색을 사용합니다.
- 기본적으로 fn-knock가 감지한 직접 연결 IPv4 네트워크를 스캔합니다. 범위를 지정하려면 스캔 설정을 열고 하나 이상의 CIDR을 입력합니다.
- 실제로 응답하고 이웃 테이블에서 MAC 주소를 확인할 수 있는 장치만 표시됩니다. 절전 중이거나 ICMP를 차단하거나 스위치 이웃 테이블에서 만료된 장치는 표시되지 않을 수 있습니다.
- 장치를 선택하고 이름을 확인한 다음 일괄 추가합니다. 검색 과정에서 장치 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 또는 내부 오류는 공개되지 않습니다.
이 항목에는 다음 조건이 모두 필요합니다.
- WOL 기능이 활성화되어 있어야 합니다.
- 포털에서 WOL 표시를 허용해야 합니다.
- 브라우저에 유효한 로그인 세션이 있어야 합니다.
- 로그인 자격 증명의 서비스 범위에 내장 WOL 페이지가 포함되어야 합니다.
전체 범위 자격 증명에는 자동으로 포함됩니다. 사용자 지정 범위에서는 인증 설정 → 권한에서 내장 Wake-on-LAN 페이지를 선택하세요. 포털 바로가기를 숨겨도 장치가 삭제되거나 관리자, Relay, 외부 플랫폼의 깨우기에 영향을 주지는 않지만 공개 인증 API에서 내장 페이지를 열거나 조작할 수 없게 됩니다.
네트워크 간 Relay
대상이 현재 fn-knock와 같은 브로드캐스트 도메인에 없다면 대상 네트워크에도 fn-knock를 배포하고 두 인스턴스를 페어링합니다.
- 제어 측에서
Wake-on-LAN → 네트워크 간을 열고원격 네트워크 추가를 선택한 뒤 대상 네트워크 fn-knock에 도달할 수 있는 IP를 입력합니다. 기본 UDP 포트는40009입니다. - 저장 후
FNW1.으로 시작하는 일회성 페어링 코드를 즉시 복사합니다. - 대상 네트워크에서
Wake-on-LAN → Relay 수신을 열고 코드를 붙여 넣은 다음 활성화합니다. - 제어 측으로 돌아가
연결 테스트를 실행하고 대상 장치의깨우기 경로에 이 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 설정을 마치고 장치가 연결됨 상태인지 확인한 후 다음 단계를 진행합니다.
- Mi Home App을 열고
나 → 타사 플랫폼 연결로 이동합니다. 巴法(Bemfa) 또는点灯(Blinker)을 검색하고 현재 fn-knock 장치에 설정한 것과 같은 플랫폼을 선택한 뒤 안내에 따라 추가합니다.- 계정을 인증하고 장치를 동기화하면 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 포트 및 방화벽을 확인하세요.
문제 해결 순서
- 대상 BIOS/UEFI, 어댑터 드라이버 및 운영체제에서 WOL을 활성화하고 같은 LAN의 다른 도구로 먼저 테스트합니다.
- MAC을 확인하고 완전히 종료한 후에도 네트워크 포트에 전원이 공급되는지 확인합니다.
- 직접 깨우기에서는 directed broadcast 주소를 확인합니다. Docker에서는 네트워크 모드, UDP 브로드캐스트 도달성 및 호스트 방화벽을 먼저 점검합니다.
- 다른 네트워크에서는 Relay 연결을 먼저 테스트하고 UDP
40009(또는 사용자 지정 포트), 라우팅, 소스 CIDR, 양쪽 시계 및 페어링 상태를 확인합니다. - 브로드캐스트가 성공해도 장치가 켜지지 않으면 반복 전송 대신 장치, 스위치 또는 브로드캐스트 경로를 조사합니다.
- 확인 대기 상태가 계속되면 장치 IP, ICMP, 이웃 테이블, VLAN 간 라우팅 및 Relay 상태 확인을 점검합니다.
- 포털 항목이 없으면 기능 스위치, 바로가기 표시 및 자격 증명 서비스 범위를 확인합니다.
- 외부 플랫폼이 응답하지 않으면 연결 상태와 최근 오류, 외부 HTTPS/MQTT TLS, 자격 증명 및 토픽을 확인한 뒤 장치를 다시 저장합니다.
