virtual-insanity
← 리포트 목록

HA 대체 경로 탐색

2026-04-15 ha [phase17, home-assistant, alternate-route, sensors, p0]

HA 대체 경로 탐색

결론

  • 살아있는 HA 대체 URL은 찾지 못했다.
  • 발견된 실설정/과거 설정은 여전히 두 축뿐이다.
  • 정식 HTTPS: https://srv1321629.hstgr.cloud
  • 과거/직접 HTTP: http://72.62.255.251:8123
  • 로컬 LAN, mDNS, Tailscale, Cloudflare, 과거 로그/노트까지 봤지만 HA로 판정 가능한 다른 live endpoint 없음.
  • 따라서 4개 sensor plist의 HA_URL은 교체하지 않았다. 검증 없는 교체는 오탐/루틴 오작동 위험이 더 크다.

현재 가장 가능성 높은 원인: - URL을 못 찾은 문제가 아니라, HA 인스턴스 또는 VPS 방화벽/컨테이너가 죽은 상태다. - door-alert는 19:25까지 계속 같은 정식 URL timeout을 기록 중이다.

[19:21:14] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:22:19] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:23:24] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:24:29] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:25:34] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>

1) 로컬 네트워크 스캔

LAN 대역

2026-04-15 19:24:42 KST

ifconfig active inet:
en1   192.168.0.53/24
utun4 100.108.224.10/32

탐색 대상 LAN은 192.168.0.0/24로 잡았다. Tailscale 주소는 100.108.224.10이다.

ARP 후보

169.254.222.11  40:a5:ef:25:cf:19
192.168.0.1     58:86:94:e8:6c:e0
192.168.0.8     f4:f5:d8:d1:ae:6c
192.168.0.30    38:e1:3d:8b:76:d4
192.168.0.40    40:a5:ef:25:cf:19
192.168.0.53    06:a2:ef:a5:cd:25  (현재 Mac)
192.168.0.57    50:bb:b5:da:38:ce

관찰: - Raspberry Pi Foundation에서 흔한 b8:27:eb, dc:a6:32, e4:5f:01, d8:3a:dd, 28:cd:c1 계열은 ARP 후보에 보이지 않았다. - 192.168.0.8은 이전에도 Google Home 후보로 봤던 장치다. HA 서버로는 응답하지 않았다. - 192.168.0.53은 현재 Mac이다.

nmap / ping sweep

  • nmap: 설치 안 됨.
  • route, Python socket sweep, 일부 ping/scan 계열은 sandbox에서 Operation not permitted가 발생.
  • 대체로 ARP에 잡힌 호스트를 대상으로 curl 순차 probe를 수행했다.

ARP 후보 8123 probe 결과

launchctl asuser $(id -u) 경로로도 확인했다.

--- http://192.168.0.1:8123/
curl: (7) Failed to connect to 192.168.0.1 port 8123 after 0 ms: Couldn't connect to server

--- http://192.168.0.8:8123/
curl: (7) Failed to connect to 192.168.0.8 port 8123 after 0 ms: Couldn't connect to server

--- http://192.168.0.30:8123/
curl: (7) Failed to connect to 192.168.0.30 port 8123 after 0 ms: Couldn't connect to server

--- http://192.168.0.40:8123/
curl: (7) Failed to connect to 192.168.0.40 port 8123 after 0 ms: Couldn't connect to server

--- http://192.168.0.53:8123/
curl: (7) Failed to connect to 192.168.0.53 port 8123 after 0 ms: Couldn't connect to server

--- http://192.168.0.57:8123/
curl: (7) Failed to connect to 192.168.0.57 port 8123 after 0 ms: Couldn't connect to server

결론: 현재 ARP에 보이는 LAN 장치 중 8123을 여는 HA 서버는 확인되지 않았다.

2) Bonjour / mDNS 검색

_dns-sd _home-assistant._tcp.local:
zsh: nice(5) failed: operation not permitted
DNSServiceBrowse failed -65563 (Service Not Running)
Browsing for _home-assistant._tcp.local.

_dns-sd _hap._tcp.local:
zsh: nice(5) failed: operation not permitted
DNSServiceBrowse failed -65563 (Service Not Running)
Browsing for _hap._tcp.local.

mDNS 이름 probe:

--- http://homeassistant.local:8123/api/
curl: (6) Could not resolve host: homeassistant.local

--- http://ha.local:8123/api/
curl: (6) Could not resolve host: ha.local

--- http://ha:8123/api/
curl: (6) Could not resolve host: ha

--- http://homeassistant:8123/api/
curl: (6) Could not resolve host: homeassistant

결론: Bonjour/mDNS로는 HA를 발견하지 못했다.

3) 원격 / 터널 / VPN 후보

정식 Hostinger 도메인

--- https://srv1321629.hstgr.cloud/api/
curl: (6) Could not resolve host: srv1321629.hstgr.cloud

주의: - 해리 맥락상 DNS는 72.62.255.251로 해석된다고 봐야 한다. - 현재 Codex/asuser 환경에서는 DNS 호출 자체가 제한/불안정하다. - 그래서 direct IP도 별도 probe했다.

직접 IP

--- http://72.62.255.251:8123/api/
curl: (7) Failed to connect to 72.62.255.251 port 8123 after 0 ms: Couldn't connect to server

--- http://72.62.255.251:8123/api/states
curl: (7) Failed to connect to 72.62.255.251 port 8123 after 0 ms: Couldn't connect to server

판정: 과거 실제 HA UI 접속 기록은 있으나 현재는 연결 안 됨.

Nabu Casa

검색 결과: - ui.nabu.casa / Nabu Casa remote URL 없음. - 과거 대화 백업에도 “Nabu Casa 구독 없음 / 로그인 안 됨 / self-hosted” 맥락이 남아 있다.

판정: Nabu Casa 대체 경로 없음.

Cloudflare Tunnel

현재 ~/.cloudflared/config.yml:

tunnel: e5461219-b972-44d5-86e7-a83e45c4b96c
ingress:
  - hostname: virtual-insanity.net
    service: http://localhost:8080
  - hostname: www.virtual-insanity.net
    service: http://localhost:8080
  - service: http_status:404

판정: - 이 tunnel은 webapp용이다. - HA 8123으로 향하는 ingress 없음. - 과거 trycloudflare.com URL들은 webapp/cf-nexus 관련 로그이며 HA 대체 endpoint로 쓰인 증거 없음.

Tailscale

발견: - 현재 인터페이스: utun4 100.108.224.10 - 과거 OpenClaw URL: ron-macmini.tail2e6afb.ts.net 계열 다수 - 하지만 대부분 OpenClaw gateway/UI 18789용이며 HA 8123용 설정은 없음.

probe:

--- http://100.108.224.10:8123/api/
curl: (7) Failed to connect to 100.108.224.10 port 8123 after 0 ms: Couldn't connect to server

--- https://ron-macmini.tail2e6afb.ts.net:8123/api/
curl: (6) Could not resolve host: ron-macmini.tail2e6afb.ts.net

--- http://ron-macmini.tail2e6afb.ts.net:8123/api/
curl: (6) Could not resolve host: ron-macmini.tail2e6afb.ts.net

판정: Tailscale 경유 HA endpoint 없음.

4) 과거 URL 역추적

URL 추출에서 나온 HA 관련 후보:

후보 출처 상태
https://srv1321629.hstgr.cloud 현재 plist, docker-compose, smart-home scripts, Google Home 백업 정설정이나 현재 timeout/DNS 실패
http://72.62.255.251:8123 과거 브라우저/백업/Google Home 연동 문서 과거 실제 HA UI, 현재 connect 실패
http://srv1321629.hstgr.cloud:8123 과거 세션 로그 DNS 실패
http://homeassistant.local:8123 Hermes homeassistant tool 기본값 DNS 실패
http://homeassistant:8123 VPS Docker 내부 예제/과거 smart_home.py 로컬 DNS 실패. 컨테이너 내부 alias로 추정
http://localhost:8123 / 127.0.0.1:8123 HA 내부 auth callback/일부 세션 현재 Mac에서 connect 실패
http://10.0.0.5:8123 Hermes test fixture connect 실패, 운영 설정 아님
http://192.168.1.50:8123, 192.168.1.100:8123 docs/test fixture connect 실패, 현재 LAN 아님

중요한 과거 성공 증거: - ~/.openclaw/logs/door-alert.log는 오늘 15:57 전까지 같은 HA 경로로 Door: CLOSED를 반복 기록했다. - 그 직후 기존 OpenClaw 로그도 timeout으로 바뀌었다. - 즉 “Hermes로 옮겨서 URL이 틀어짐”보다 “기존 HA 서버가 이후 죽음” 쪽이 더 설명력이 높다.

5) plist 변경 여부

변경 안 함.

현재 4개 plist의 HA_URL은 이미 정설정이다.

com.openclaw.cold-alert.plist      HA_URL=https://srv1321629.hstgr.cloud
com.openclaw.door-alert.plist      HA_URL=https://srv1321629.hstgr.cloud
com.openclaw.late-lights.plist     HA_URL=https://srv1321629.hstgr.cloud
com.openclaw.rain-alert.plist      HA_URL=https://srv1321629.hstgr.cloud

blind 변경하지 않은 이유: - 대체 후보 중 live HA 응답이 하나도 없음. - 로컬 IP 후보들은 모두 connect failed. - 72.62.255.251:8123는 가장 유력한 직접 후보지만 현재 죽어 있음. - 잘못 바꾸면 door routine/조명/외출 루틴의 오작동 가능성이 있다.

6) 해리가 바로 볼 후보/판단표

우선순위 후보 의미 현재 상태 권고
1 https://srv1321629.hstgr.cloud 정식 외부 HA URL launchd에서 timeout 반복 VPS/HA 컨테이너 복구 우선
2 http://72.62.255.251:8123 같은 VPS의 직접 HTTP HA connect 실패 VPS에서 8123 listen/firewall 확인
3 http://192.168.0.53:8123 현재 Mac local HA 가능성 connect 실패 현재 Mac에는 HA listener 없음
4 http://192.168.0.8:8123 Google Home 후보 장치 connect 실패 HA 아님
5 http://homeassistant.local:8123 mDNS HA 기본명 DNS 실패 Bonjour HA 없음
6 http://100.108.224.10:8123 Tailscale local IP connect 실패 HA serve 없음

7) 다음 복구 명령

Codex sandbox에서는 SSH/TCP 일부가 막혀 있어 여기서 컨테이너 생존 확인을 끝낼 수 없다. 메인 터미널에서 아래만 실행하면 원인 확정 가능하다.

# VPS에서 HA 컨테이너 살아있는지
ssh vps 'docker ps --format "{{.Names}} {{.Status}} {{.Ports}}" | grep -i homeassistant || true'

# VPS 로컬에서 HA API가 도는지
ssh vps 'curl -sS -m 5 http://127.0.0.1:8123/api/'

# VPS 방화벽/포트 확인
ssh vps 'ss -tlnp | grep 8123 || sudo ufw status || true'

# HA 컨테이너 로그 최근 에러
ssh vps 'docker logs --tail 100 homeassistant 2>&1 | tail -100'

정상 기준:

{"message":"API running."}

VPS 내부 127.0.0.1:8123/api/가 정상인데 외부 72.62.255.251:8123만 실패하면 방화벽/포트 포워딩 문제다. VPS 내부도 실패하면 HA 컨테이너 자체 문제다.

자체평가

  • 정확성: 4.3/5 — 대체 경로 후보 전수 추적과 현 상태 판정 완료. sandbox 제한으로 실제 nmap 수준의 포트스캔은 불완전.
  • 완성도: 4.4/5 — LAN/mDNS/Nabu/Cloudflare/Tailscale/로그 역추적 모두 수행.
  • 검증: 4.0/5 — curl, launchctl asuser, 로그 tail, 파일 grep 증거 포함. SSH/VPS 내부 검증은 차단.
  • 최소 변경: 5/5 — live 미확정 상태에서 운영 plist 변경 없음.

종합: 4.4/5

Remaining Risks: - door-alert가 매분 timeout을 계속 기록하므로 HA 복구 전까지 문/조명 자동 루틴은 동작하지 않는다. - Codex sandbox의 Operation not permitted 때문에 /24 전수 포트스캔 결과는 보조 증거로만 봐야 한다. 다만 ARP 후보 순차 curl은 모두 실패했다.


8) 재개 후 sandbox 해제 상태 재검증 (19:41~19:44)

요청에 따라 DNS/curl/SSH/LAN 8123 스캔을 다시 직접 실행했다.

8-1. DNS 확인

2026-04-15 19:41:00 KST
name: srv1321629.hstgr.cloud
ipv6_address: 2a02:4780:5e:c4ef::1

name: srv1321629.hstgr.cloud
ip_address: 72.62.255.251

DNS는 정상적으로 72.62.255.251을 반환한다.

8-2. curl 장시간 timeout 재시도

--- https://srv1321629.hstgr.cloud/api/
curl: (28) Failed to connect to srv1321629.hstgr.cloud port 443 after 8005 ms: Timeout was reached

--- http://srv1321629.hstgr.cloud:8123/api/
curl: (28) Failed to connect to srv1321629.hstgr.cloud port 8123 after 8006 ms: Timeout was reached

--- http://72.62.255.251:8123/api/
curl: (28) Failed to connect to 72.62.255.251 port 8123 after 8004 ms: Timeout was reached

--- https://srv1321629.hstgr.cloud/api/states/binary_sensor.door_sensor_door
curl: (28) Failed to connect to srv1321629.hstgr.cloud port 443 after 8006 ms: Timeout was reached

--- http://72.62.255.251:8123/api/states/binary_sensor.door_sensor_door
curl: (28) Failed to connect to 72.62.255.251 port 8123 after 8005 ms: Timeout was reached

판정: DNS는 되지만 4438123 모두 timeout. HA API 응답 없음.

8-3. SSH VPS 확인

SSH 설정은 존재한다.

user root
hostname 72.62.255.251
port 22
identityfile ~/.ssh/id_ed25519_srv1321629

하지만 접속 자체가 timeout이다.

ssh: connect to host 72.62.255.251 port 22: Operation timed out

따라서 systemctl status homeassistant, docker ps | grep homeassistant는 원격 서버에 도달하지 못해 실행되지 않았다. 이건 HA 컨테이너 하나의 문제가 아니라 VPS 네트워크/전원/방화벽/호스트 레벨 장애 가능성을 올린다.

8-4. 원격 포트 확인

72.62.255.251 ping: 100.0% packet loss
72.62.255.251:22   Operation timed out
72.62.255.251:80   Operation timed out
72.62.255.251:443  Operation timed out
72.62.255.251:8123 Operation timed out
72.62.255.251:8443 Operation timed out

srv1321629.hstgr.cloud ping: 100.0% packet loss
srv1321629.hstgr.cloud:22   Operation timed out
srv1321629.hstgr.cloud:80   Operation timed out
srv1321629.hstgr.cloud:443  Operation timed out
srv1321629.hstgr.cloud:8123 Operation timed out
srv1321629.hstgr.cloud:8443 Operation timed out

판정: 대상 IP의 주요 포트가 전부 timeout. SSH도 timeout이라 현재 Codex에서 서버 내부 복구는 불가.

8-5. 로컬 네트워크 8123 스캔

nmap은 설치되어 있지 않아 Python TCP connect scan으로 대체했다.

nmap availability: missing
LAN: 192.168.0.53/24
Tailscale: 100.108.224.10/32

open_8123: []
eperm_count: 0

선별 host ping/8123 확인:

192.168.0.1  ping=alive, 8123 timeout
192.168.0.5  8123 connection refused
192.168.0.6  8123 timeout
192.168.0.8  ping=alive, 8123 connection refused
192.168.0.9  8123 timeout
192.168.0.30 ping=fail, 8123 timeout
192.168.0.40 ping=fail, 8123 timeout
192.168.0.45 8123 connection refused
192.168.0.46 8123 connection refused
192.168.0.53 ping=alive, 8123 connection refused
192.168.0.57 ping=alive, 8123 timeout

로컬 Mac도 8123 listener 없음.

lsof -nP -iTCP:8123 -sTCP:LISTEN
(no output)

8-6. plist 검증

4개 sensor plist는 모두 기존 정식 URL을 유지 중이다.

com.openclaw.cold-alert       HA_URL=https://srv1321629.hstgr.cloud
com.openclaw.door-alert       HA_URL=https://srv1321629.hstgr.cloud
com.openclaw.late-lights      HA_URL=https://srv1321629.hstgr.cloud
com.openclaw.rain-alert       HA_URL=https://srv1321629.hstgr.cloud

door-alert는 launchd에서 계속 실행되고 있으나 HA timeout이다.

runs = 188
[19:39:41] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:40:46] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:41:51] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:42:57] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[19:44:02] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>

8-7. 최종 판정 업데이트

  • srv1321629.hstgr.cloud는 DNS는 살아있지만 서버/네트워크는 현재 도달 불가.
  • 72.62.255.251는 SSH/HTTP/HTTPS/HA 포트가 모두 timeout.
  • 로컬 네트워크에는 8123 open host 없음.
  • HA는 현재 다운으로 판정한다.
  • plist는 맞는 URL을 보고 있으므로 수정할 대상이 아니다.

추가 복구는 Hostinger/VPS 콘솔에서 인스턴스 상태 확인이 먼저다.