무료 .arpa 도메인을 얻는 방법
공개 등록이 불가능한 최상위 도메인 .arpa를, Hurricane Electric의 Tunnelbroker 서비스로 IPv6 역방향 DNS(ip6.arpa) 레코드를 발급받아 우회적으로 확보하는 방법을 소개한다. deSEC로 DNS를 설정하고 Surge로 호스팅하면 자신만의 .arpa 웹사이트를 만들 수 있다. 다만 대부분의 인증기관이 .arpa 도메인에 HTTPS 발급을 거부하는 제약이 있다.
이 글은 get-arpa-domain.0.4.1.0.9.0.f.1.0.7.4.0.1.0.0.2.ip6.arpa (새 탭에서 열림)에서도 확인할 수 있습니다!
인터넷에서 .arpa는 핵심 인터넷 인프라를 위해 예약된 최상위 도메인입니다. 공개 등록이 불가능하기 때문에 아쉽게도 mysite.arpa 같은 도메인을 소유할 수는 없습니다. 하지만 .arpa에 자리를 마련하는 방법이 이것만 있는 것은 아닙니다. 자신만의 DNS 레코드, 그리고 그에 따라 자신만의 웹사이트를 얻기 위해 활용(남용?)할 수 있는 다양한 서비스가 존재합니다.
저는 처음에 e164.arpa(새 탭에서 열림)를 설명하는 블로그 글을 통해 이 사실을 알게 되었습니다. e164.arpa는 DNS를 사용해 전화번호 정보를 조회할 수 있었던 오래된 체계입니다. 독일이나 체코 사용자라면 가입해서 자신의 전화번호에 해당하는 DNS 레코드를 직접 제어할 수 있습니다! 하지만 나머지 국가의 전화번호는 등록이 개방되어 있지 않아 이 방법은 사용할 수 없습니다.
대신 ip6.arpa 하의 유사한 체계를 이용할 수 있습니다. 이것은 "역방향 DNS 조회(reverse DNS lookup)"를 위해 예약된 것으로, 도메인 이름을 IP 주소로 바꾸는 것이 아니라 IPv6 주소를 도메인 이름으로 변환하는 데 쓰입니다. 하지만 사양상 이를 다른 용도로 사용하는 것을 막는 조항은 없으니, 그렇게 해봅시다!
Hurricane Electric은 tunnelbroker.net을 통해 IPv6 주소와 ip6.arpa 레코드의 매우 간단한 등록 절차를 제공하므로 이를 이용하겠습니다. 사이트는 좀 낡아 보이지만 완전히 정상 작동합니다. 새 계정을 만드세요. 어떤 정보도 검증하지 않으므로 가짜 정보를 입력해도 무방합니다. 이메일을 인증한 뒤 왼쪽 사이드바에서 "Create Regular Tunnel"을 선택하세요. IPv4 엔드포인트를 요구하지만, 우리 목적에는 어떤 주소를 고르든 상관없습니다. 해당 IP는 ICMP 에코(즉 핑)에 응답해야 하지만, 입력한 IPv4 주소를 실제로 제어하는지는 검증하지 않습니다. 몇몇 웹사이트에 ping -4 domainname.com 을 실행해서 받아들여지는 IPv4 주소를 찾을 때까지 시도하면 됩니다. CDN 뒤에 있는 대부분의 사이트는 작동하지 않는 것 같으니 오래된 사이트부터 시도해 보세요. 저는 news.ycombinator.com에 핑을 보내 209.216.230.207 이라는 IP를 받았습니다. Hurricane Electric의 폼 검증을 통과했으니 그게 중요합니다. 터널 서버도 선택하라고 하지만, 마찬가지로 우리 목적에는 아무거나 상관없습니다.
터널을 만들었으면 "Routed IPv6 Prefix"를 기록하세요. 제 경우 2001:470:1f09:140::/64 였고, 필요한 부분은 끝의 콜론 앞의 2001:470:1f09:140 뿐입니다. 각 섹션을 0으로 채워 4자리 4그룹으로 만듭니다: 2001:0470:1f09:0140 . 그다음 각 글자 사이에 점을 넣습니다: 2.0.0.1.0.4.7.0.1.f.0.9.0.1.4.0 . 마지막으로 글자 순서를 뒤집고 .ip6.arpa를 붙이면 자신만의 도메인 이름이 완성됩니다: 0.4.1.0.9.0.f.1.0.7.4.0.1.0.0.2.ip6.arpa !
이제 도메인의 DNS 레코드를 설정해야 합니다. 제가 마지막으로 시도했을 때 Cloudflare는 이 도메인을 받아들이지 않았지만 deSEC은 완벽하게 처리했으므로 deSEC을 사용하겠습니다. deSEC 계정을 만들고 앞서 계산한 .ip6.arpa 주소를 입력하세요. 추가한 뒤 Tunnelbroker로 돌아가 rDNS 위임을 deSEC 것으로 변경합니다.
도메인도 있고 DNS도 있으니, 마지막 단계는 웹 호스팅입니다. 여러 선택지 중 Surge는 매우 간단하고 HTTPS를 강제하지 않습니다. 많은(전부는 아니지만) 인증 기관이 .arpa 도메인에 대한 인증서 발급을 거부하기 때문에 HTTPS를 작동시키기가 상당히 어려워서, 이 점이 유용합니다. 불가능한 것은 아니지만 이 가이드의 범위를 벗어납니다.
새 디렉터리와 index.html 파일을 만드세요. index.html에는 원하는 내용을 넣으면 되고, 저는 이 블로그 글의 간단한 복제본(새 탭에서 열림)을 넣기로 했습니다. 아직 설치하지 않았다면 npm 또는 bun을 설치하고 surge를 실행하세요.
bunx surge . subdomain.domain.ip6.arpa
또는
npx surge . subdomain.domain.ip6.arpa
여기서 "subdomain"은 원하는 서브도메인이고, "domain"은 앞서 계산한 ip6.arpa 주소입니다. 요청하면 가입 절차의 일부로 무료 계정을 만드세요. 출력 끝부분에 표시되는 주소를 기록해 둡니다. 마지막으로 deSEC으로 돌아가 CNAME 레코드를 생성합니다.