claude.ai만으로는 부족한 이유
Claude Code의 공식 기업 네트워크 설정 문서에는 실행 중에 필요한 URL이 나와 있습니다. 핵심은 다음 4개입니다:
api.anthropic.com— API 요청, WebFetch 도메인 안전성 검사, 기능 플래그, 텔레메트리 이벤트claude.ai— claude.ai 계정 인증claude.com— 로그인 페이지(claude.ai로 리디렉션), WebFetch 문서 조회platform.claude.com— OAuth 토큰 교환 / 갱신 / 폐기 — 두 계정 유형 모두 필요
모두가 놓치는 한 가지: platform.claude.com
공식 문서에 따르면 이 호스트는 OAuth 토큰 교환, 갱신, 폐기를 담당하며, Console 계정뿐 아니라 claude.ai 로그인에도 쓰입니다. 그런데 널리 퍼진 라우팅 목록 대부분에는 이 호스트가 빠져 있습니다.
빠뜨렸을 때의 결과는 기능 하나를 잃는 데 그치지 않습니다. 토큰 갱신이 직접 연결로 나가므로 갱신 요청의 출구 IP가 API 트래픽과 달라지는데, 이것이 바로 위험 관리 시스템이 찾아내는 불일치입니다. 증상도 눈에 잘 띄지 않아, 그저 무작위로 로그아웃될 뿐입니다.
전체 라우팅 목록 (공식 문서 분류 기준)
핵심 필수 항목
하나라도 빠지면 로그인이나 대화가 실패합니다
api.anthropic.com- API 요청, WebFetch 도메인 안전성 검사, 기능 플래그, 텔레메트리 이벤트
claude.ai- claude.ai 계정 인증
claude.com- 로그인 페이지(claude.ai로 리디렉션), WebFetch 문서 조회
platform.claude.com- OAuth 토큰 교환 / 갱신 / 폐기 — 두 계정 유형 모두 필요
기능별 필요
해당 기능을 사용할 때만 필요합니다
mcp-proxy.anthropic.com- claude.ai의 MCP 커넥터 트래픽
downloads.claude.ai- 플러그인 실행 파일 다운로드, 네이티브 설치 프로그램 및 자동 업데이트
bridge.claudeusercontent.com- Claude in Chrome 확장 프로그램의 WebSocket 브리지
*.frame.claudeusercontent.com- Artifact 콘텐츠 읽기
registry.npmjs.org- 플러그인 설치, npx로 실행하는 MCP 서버, npm/bun을 통한 Claude Code 자체 설치
storage.googleapis.com- 플러그인 메타데이터와 설치 수, Artifact 업로드
code.claude.com- 내장 문서 조회 (claude-code-guide 에이전트 및 사전 승인된 WebFetch)
raw.githubusercontent.com- /release-notes용 변경 로그 피드
formulae.brew.sh- Homebrew 설치 시 업데이트 확인. 다른 설치 방식에서는 접속하지 않음
텔레메트리 엔드포인트 (선택)
Anthropic API에 직접 연결할 때만 전송되며, 서드파티 제공업체를 거칠 때는 전송되지 않습니다
http-intake.logs.us5.datadoghq.com- 운영 텔레메트리 이벤트
browser-intake-us5-datadoghq.com- 운영 오류 보고 (서버 측 단계적 배포 플래그로 제어)
불필요한 트래픽을 끄는 환경 변수
텔레메트리 호스트를 허용 목록에 넣기보다 아예 발신원에서 끄고 싶다면 이 방법이 더 간단합니다
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1- 두 Datadog 엔드포인트를 한 번에 비활성화
DISABLE_TELEMETRY=1- 텔레메트리 비활성화
DO_NOT_TRACK=1- 범용 추적 거부(do-not-track) 표준. 효과는 동일
DISABLE_ERROR_REPORTING=1- 오류 보고 비활성화
IP / ASN 폴백 규칙
CIDR / ASN 규칙은 최후의 폴백 수단일 뿐이며, BGP/ASN 변경에 맞춰 주기적으로 다시 확인해야 합니다. 아래 예시를 영구적인 전체 목록으로 여기지 마세요:
추가 정보: AS399358은 현재 160.79.104.0/23과 IPv6 /48 두 개(2607:6bc0::/48, 2607:6bc0:11::/48)를 광고하고 있으며, 이는 등록된 블록보다 좁습니다. 등록된 블록 기준으로 설정하면 범위가 더 넓고 안전합니다. 또한 텔레메트리 및 설치 관련 호스트(Datadog, npm, GitHub, Google Cloud)는 Anthropic 자체 대역 밖에 있으므로 IP 폴백으로는 처리할 수 없고 도메인 규칙으로만 처리할 수 있습니다.
시스템 시간 동기화
Claude Code 자체의 공식 네트워크 요구 사항에는 NTP가 포함되지 않습니다. 하지만 시스템 시계가 크게 어긋나면 TLS, OAuth 로그인, 요청 서명 같은 과정이 실패할 수 있습니다. 시스템 시간을 정확하게 유지하는 것을 권장하며, NTP 트래픽을 프록시로 보낼지는 네트워크 환경과 클라이언트 기능에 따라 결정하세요.
널리 퍼진 주장 하나를 바로잡습니다. 일부 가이드는 Claude Code가 NTP로 시간대를 판단하므로 NTP를 반드시 프록시로 보내야 한다고 말합니다. 이는 프로토콜 수준에서 불가능합니다. NTP는 UTC 타임스탬프만 전달하며 시간대 필드가 없고, 시간대는 OS 설정에서 정해집니다. 공식 네트워크 요구 사항에도 NTP는 전혀 나오지 않습니다. 실제로 시간대를 유출하는 것은 브라우저와 시스템의 Intl / getTimezoneOffset API이며, NTP를 프록시로 보내도 이에는 아무 효과가 없습니다.
설정 형식 예시 (도메인 목록)
# 核心 (DOMAIN-SUFFIX 已覆盖各自全部子域名) DOMAIN-SUFFIX,anthropic.com,Claude DOMAIN-SUFFIX,claude.ai,Claude DOMAIN-SUFFIX,claude.com,Claude DOMAIN-SUFFIX,clau.de,Claude DOMAIN-SUFFIX,claudeusercontent.com,Claude # 安装 / 插件 / 文档 DOMAIN-SUFFIX,registry.npmjs.org,Claude DOMAIN,storage.googleapis.com,Claude DOMAIN,raw.githubusercontent.com,Claude DOMAIN,formulae.brew.sh,Claude # 遥测 (可用环境变量关闭; 注意是独立域名, 后缀匹配抓不到) DOMAIN,http-intake.logs.us5.datadoghq.com,Claude DOMAIN,browser-intake-us5-datadoghq.com,Claude # IP / ASN 兜底 IP-CIDR,160.79.104.0/21,Claude,no-resolve IP-CIDR6,2607:6bc0::/32,Claude,no-resolve IP-ASN,399358,Claude,no-resolve
참고: DOMAIN-SUFFIX는 이미 모든 하위 도메인을 포함하므로 반복해서 적을 필요가 없습니다. 두 Datadog intake 호스트는 각각 별도의 등록 가능 도메인이므로 정확히 일치하도록 지정해야 합니다. CIDR/ASN 규칙에 no-resolve를 붙이면 역방향 조회를 건너뛰어 매칭 부담을 줄일 수 있습니다.
검증
설정을 마친 뒤 다음 도구로 트래픽이 새지 않는지 확인하세요: