TXT 레코드 분할기 (255바이트 청크)
긴 SPF·DKIM·DMARC TXT 레코드를 DNS 프로토콜이 요구하는 255바이트 청크로 분할 — BIND·일반 zone 파일·Cloudflare·Route 53 문법 출력.
_record IN TXT ( )
DNS character-string은 1바이트 길이 프리픽스 → 문자열당 최대 255. TXT 레코드는 여러 문자열 연결 → DKIM 키 그것보다 길어도 DNS에 맞음.
사용법
- 전체 TXT 값 붙여넣기(DKIM 공개 키·긴 SPF·긴 DMARC). 샘플 버튼은 현실적 예시 채움.
- 발행할 DNS UI 선택. 출력이 그 공급자 인용으로 조정.
- 값 필드에 복붙. 리졸버가 클라이언트용으로 청크 투명하게 재조립.
자세한 설명
펼치기접기
DNS TXT의 문자열 하나는 255바이트가 상한입니다. 길이가 문자열 맨 앞의 1바이트에 저장되기 때문입니다. 이것은 제공업체의 정책이 아니라 RFC 1035의 엄격한 제한이므로, 그보다 긴 것 — RSA DKIM 공개키, include가 많은 SPF 레코드 — 은 하나의 TXT 레코드 안에 여러 문자열로 나누어 게시해야 합니다. 이 도구는 바이트 경계에서 텍스트를 쪼개고, 쓰는 DNS 제공업체가 기대하는 형태로 출력합니다. BIND의 괄호 표기 ("part" "part"), 일반 존 파일용 공백으로 구분된 따옴표 문자열, Route 53이 받아들이는 형태, 그리고 알아서 쪼개 주는 제공업체에 대한 안내까지 포함합니다.
이어 붙일 때는 사이에 아무것도 들어가지 않습니다. 리졸버는 문자열들을 끝에서 끝으로 붙여 애플리케이션에 건네므로, 쪼개지는 지점은 base64 문자열 한가운데든 단어 중간이든 어디여도 됩니다. 떼어 낼 구분자도 없고, 조각 하나하나가 그 자체로 의미를 가져야 할 이유도 없습니다. 존 파일에서 더 깔끔해 보인다고 이음매에 공백이나 줄바꿈을 넣으면 값이 망가집니다. DKIM은 이 동작을 명시적으로 규정하고 있는데, DNS 관리 화면에서 "제대로 보이는" 키가 검증에 실패할 수 있는 이유가 이것입니다. 여분의 문자는 화면이 아니라 레코드 안에 들어 있습니다.
이 작업이 필요해지는 흔한 이유는 2048비트 RSA DKIM 키입니다. 그 공개키는 v=DKIM1; k=rsa; p= 접두어를 붙이기 전에 이미 base64로 약 392자이고, 레코드를 255바이트 너머 두 개의 문자열로 밀어 넣기에 충분합니다. 1024비트 키는 하나에 들어갑니다. 1024비트가 더 이상 좋은 선택이 아니게 된 뒤로도 그 길이에 머물러 있는 DKIM 레코드가 그토록 많은 이유 중 하나가 이것입니다.
실무적인 메모 둘. 문자가 아니라 바이트입니다. ASCII가 아닌 문자는 UTF-8에서 최대 4바이트를 차지하므로 255자 제한과 255바이트 제한은 같은 것이 아니고, 멀티바이트 시퀀스 중간에서 쪼개면 양쪽 다 유효하지 않은 반쪽이 됩니다. 그리고 응답 전체가 실제로 전달되어야 합니다. UDP 페이로드 한계를 넘어선 TXT 레코드는 잘린 응답과 TCP 재시도를 유발하는데, 제한이 심한 일부 네트워크는 이를 조용히 버립니다. 그래서 아주 큰 레코드는 어디서나 잘 되다가 사무실 한 곳에서만 안 될 수 있습니다.
자주 묻는 질문
왜 255바이트?
DNS character-string은 단일 바이트 길이 프리픽스. 그 바이트가 단일 문자열을 255로 캡. TXT 레코드는 리졸버가 연결하는 여러 문자열 포함 가능 — "abc" "def"는 abcdef로 읽힘. 프로토콜은 결합을 애플리케이션에 맡김.
Cloudflare 정말 자동 분할?
응. 600바이트 문자열 Cloudflare에 붙여넣으면 내부에서 조용히 3개 character-string으로 분할. Cloudflare용 출력은 결합된 값 — 그거 붙여넣기, 인용 필요 없음.
특정 위치에서 잘라야 하나?
아니다. 리졸버는 문자열들을 사이에 아무것도 넣지 않고 이어 붙이므로, 각 조각이 255바이트를 넘지 않고 순서만 맞으면 어디서 자르든 상관없다. 중요한 것은 경계에서 무언가가 더해지지 않는 것이다. 이음매에 들어간 공백 하나, 또는 컨트롤 패널이 각 조각을 따로 따옴표로 묶으면서 공백을 붙이는 경우, 수신 측이 재구성하는 값이 달라진다.
긴 키는 쪼개는 게 맞나, 더 나은 방법이 있나?
DKIM이라면 키가 꼭 그렇게 길어야 하는지부터 생각해보라. 1024비트 키는 쪼개지 않아도 들어가지만 2048비트는 그렇지 않아서, 많은 제공자가 긴 키를 쪼개서 공개한다. 그건 괜찮다. 괜찮지 않은 것은 하나의 레코드를 같은 이름의 여러 TXT 레코드로 나누는 것이다. 그건 더 긴 값이 아니라 다른 구조이고, 검증이 실패한다.
관련 도구
DKIM 레코드 빌더 & 파서
DKIM DNS TXT 레코드를 만들거나 분석 — 공개키와 selector·키 타입·해시·플래그를 넣으면 전체 레코드와 255자 초과용 청크 버전까지 나옵니다.
네트워크
TLSA 레코드 생성기 (DANE)와 검사기
인증서를 TLSA 레코드로 바꿉니다. 셀렉터와 매칭 종류 전부를 보여 주고, 이미 게시한 레코드가 지금 서비스하는 인증서와 맞는지 확인합니다.
네트워크
CAA 레코드 빌더 (DNS 인증 기관 권한 제한)
CAA (Certificate Authority Authorization) DNS 레코드 생성 — 신뢰하는 CA만 도메인의 TLS 인증서를 발급할 수 있도록 제한.
네트워크
SVCB / HTTPS 레코드 생성·해독기
SVCB·HTTPS 레코드를 정규화·인코딩·검사합니다. SvcParams 해독, 와이어 바이트 분해, 그리고 위반한 RFC 9460 조항을 이름으로 지적합니다.
네트워크
이메일 헤더 분석
원본 이메일 헤더 붙여넣기 → Received 홉 순서대로·홉간 지연·SPF/DKIM/DMARC 결과 확인.
네트워크
SPF 레코드 빌더
메커니즘·IP·include로 SPF TXT 레코드 작성, 실시간 DNS 조회 카운트와 경고.
네트워크