대상: 원격 Mac에서 OpenClaw와 WireGuard 고정 출구·도메인 화이트리스트·CI 요약 웹훅을 한 번에 맞출 개발자용 최소 재현입니다. curl 설치·Node 22·24·
onboard --install-daemon·포트 18789·OPENCLAW_HOME 분리를 묶었습니다. 심화: 게이트웨이 보안, 웹훅 요약, 임베딩 프로브.
1
launchd만
OPENCLAW_HOME이 비어 타임아웃.2
터널 없이 나가면 허용 목록이 흔들림.
3
긴 로그 그대로 웹훅이면 재연결 직후도 큐 막힘.
출구 고정 방식 비교
| 방식 | 적합한 경우 | 주의 |
|---|---|---|
| 전체 터널 | 단일 출구 | 지연·우회 범위 큼 |
| 분할 | 모델만 터널 | AllowedIPs 정밀 |
| 앱 프록시 | 공존 | 드리프트 |
① 토폴로지와 최소 권한 원칙
SSH 관리 계정과 OpenClaw 실행 사용자를 나누고 방화벽은 기본 거부 뒤 모델·도구 API만 WireGuard로 허용해 출구를 고정합니다. 감사 로그에는 동일 출구 아이피만 남도록 하면 허용 목록 관리가 단순해지고 원격 맥 임대 환경에서도 동일 패턴을 복제하기 쉽습니다.
② 설치와 doctor 검증
Node 22·24 고정 후 공식 curl 설치·openclaw onboard --install-daemon·openclaw doctor·gateway status --deep로 18789를 확인합니다.
node -v
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon
openclaw doctor
스테이징·운영은 OPENCLAW_HOME을 달리한 plist 두 벌로 분리합니다.
③ WireGuard 라우팅과 DNS 분할
AllowedIPs를 제공자 대역으로 좁히고 DNS 분할로 모델 호스트만 터널 리졸버를 씁니다.
wg-quick up wg0
scutil --dns | head -n 40
데몬과 동일 사용자로 curl해 라우트를 맞춥니다.
④ 게이트웨이 바인딩·토큰과 도메인 화이트리스트
127.0.0.1:18789만 리슨·외부는 SSH 포워드나 프록시 TLS. 토큰 파일 육백·plist와 셸 diff. 방화벽은 모델·도구 도메인만 허용합니다. 운영과 스테이징을 OPENCLAW_HOME으로 나누면 설정 충돌 없이 병행 테스트가 가능합니다.
export OPENCLAW_GATEWAY_TOKEN="$(tr -d '\n' < "$OPENCLAW_HOME/.env.gateway")"
openclaw gateway status --deep
⑤ 끊김 재연결과 상태 프로브
launchd에서 분 단위 curl 헬스·터널 재기동 후 gateway restart 순서로 복구합니다.
⑥ CI Webhook 요약 병합 예시
실패 스텝 stderr 끝부분만 모아 중복 제거·약 사킬로 캡 JSON으로 웹훅. 잡아이디·커밋·본문 필드 고정·이삼사팔초 백오프.
복붙 체크리스트·검사 명령
- ✓plist
OPENCLAW_HOME·토큰·PATH=셸 - ✓
lsof로 이칠팔팔구 루프백만
가드레일
- 토큰 육백·퇴사 시 회전
- 웹훅 사킬로 캡·이삼사팔초 백오프
FAQ·자주 보는 오류
데몬만 타임아웃
서비스 사용자 curl로 터널·프록시 비교.
전 인터페이스 리슨?
루프백만 권장.