다이내믹 DNS

Dynamic DNS

Dynamic DNS(DDNS; 다이내믹 DNS)는 Domain Name System(DNS; 도메인네임 시스템) 내의 네임서버를, 설정되어 있는 호스트명, 주소, 또는 그 외의 정보의 액티브한 DDNS 설정으로 자동적으로 갱신하는 방법입니다.

이 용어는 두 가지 다른 개념을 설명하기 위해 사용됩니다.첫 번째는 "Dynamic DNS updating"으로, 수동 편집 없이 기존 DNS 레코드를 업데이트하기 위해 사용되는 시스템을 말합니다.이러한 메커니즘은 RFC 2136에 설명되어 있으며, TSIG 메커니즘을 사용하여 보안을 제공합니다.두 번째 종류의 다이내믹 DNS에서는 DNS 레코드 업데이트에 RFC2136 표준을 사용하지 않는 업데이트클라이언트를 사용하여 경량 및 즉시 업데이트를 할 수 있습니다.이러한 클라이언트는 위치, 설정 또는 IP 주소를 자주 변경하는 디바이스에 영속적인 어드레싱 방법을 제공합니다.

배경

인터넷(ARPANET)의 초기 단계에서는 호스트명을 IP 주소에 매핑하는 스태틱 변환 테이블에 의해 네트워크상의 호스트의 주소 지정이 실현되었습니다.테이블은 호스트 파일 형식으로 수동으로 유지 관리되었습니다.도메인 네임 시스템은 재귀 쿼리를 통해 동일한 주소 정보를 각 네트워크 또는 도메인에 대해 구성된 원격 데이터베이스에 자동으로 온라인으로 배포하는 방법을 도입했습니다.이 DNS 퍼실리티에서도 각 참가 노드에서 스태틱룩업 테이블을 사용하고 있습니다IP 주소는, 일단 특정의 호스트에 할당되면 거의 변경되지 않고, 메카니즘은 처음에는 충분했습니다.그러나 인터넷의 급속한 성장과 직장 및 가정에서 퍼스널 컴퓨터의 증가로 관리자는 할당된 IP 주소를 추적하고 주소 공간을 관리해야 하는 상당한 부담을 떠안게 되었습니다.Dynamic Host Configuration Protocol(DHCP)을 사용하면 기업 및 인터넷 서비스 공급자(ISP)는 전원을 켜면 자동으로 컴퓨터에 주소를 할당할 수 있습니다.또, 모든 디바이스를 항상 액티브하게 사용하는 것은 아니고, 필요에 따라서 주소를 할당할 수 있기 때문에, 사용 가능한 주소 공간을 절약할 수 있었습니다.이 기능을 사용하려면 DNS 서버도 자동으로 최신 상태로 유지해야 합니다.다이내믹 DNS의 첫 번째 실장은 다음 목적을 충족시켰습니다.호스트 컴퓨터는 DHCP 서버로부터 수신한 주소 또는 자기 설정을 통해 각 DNS 서버에 통지하는 기능을 취득했습니다.이 프로토콜 기반 DNS 업데이트 방법은 1997년 IETF 간행물 RFC 2136에 문서화되어 표준화되었으며 DNS 프로토콜의 표준 부분이 되었습니다(nsupdate 프로그램 참조).

인터넷이 폭발적으로 증가하고 가정으로 확산되면서 이용 가능한 IP 주소가 점점 부족해졌다.DHCP는 ISP에 있어서도 고객 프리미스 라우터에 Network Address Translation(NAT; 네트워크주소 변환)을 실장하는 것으로써, 홈 유저와 스몰 비즈니스의 최종 유저를 각각 1 개의 IP 주소로 접속하기 위한 주소 공간을 관리하는 중요한 툴이 되었습니다.이러한 라우터의 배후에 있는 프라이빗네트워크에서는, 이러한 목적으로 설정된 주소 공간(RFC 1918)이 사용됩니다(NAT 디바이스에 의해서 위장됩니다).그러나 이는 인터넷 아키텍처의 엔드 투 엔드 원칙을 깨뜨렸고, 인터넷 통신에 적절히 참여하기 위해 외부 IP 주소가 자주 변경되는 개인 네트워크가 자신의 퍼블릭 주소를 검출하여 도메인 네임 시스템에 삽입할 수 있도록 하는 방법이 필요했다.오늘날, 다이나믹 DNS 서비스 프로바이더라고 불리는 많은 프로바이더들이 인터넷에서 그러한 기술과 서비스를 제공하고 있다.

도메인 네임 시스템

DNS는 글로벌하게 갱신하는 데 다소 시간이 걸리는 분산 데이터베이스를 기반으로 합니다.DNS가 처음 도입되었을 때 데이터베이스는 작았고 손으로 쉽게 관리할 수 있었습니다.시스템이 성장함에 따라 이 작업은 한 사이트에서 처리하기가 어려워졌고, 많은 도메인 네임 레지스트라에 업데이트를 배포하기 위한 새로운 관리 구조가 도입되었습니다.현재 레지스트라는 일반적으로 웹 기반 폼을 사용하여 계정 정보에 대한 최종 사용자 업데이트를 제공하며 레지스트라는 업데이트 정보를 다른 DNS 서버에 전달합니다.

도메인 네임시스템과 그 레지스트라의 분산 특성으로 인해 글로벌 DNS 업데이트는 배포하는 데 몇 시간이 걸릴 수 있습니다.따라서 DNS는 Wikipedia와 같은 대부분의 대형 서비스와 마찬가지로 IP 주소를 자주 변경하지 않는 서비스에만 적합합니다.그러나 소규모 서비스는 일반적으로 짧은 시간에 호스트 간에 이동할 가능성이 훨씬 높습니다.특정 유형의 인터넷서비스 공급자(특히 케이블모뎀)에서 가동되고 있는 서버는 매우 짧은 시간(일 또는 시간)에 걸쳐 IP 주소가 변경될 수 있습니다.다이내믹 DNS는 신속한 업데이트 문제에 대처하는 시스템입니다.

종류들

DDNS라는 용어는 기술적으로는 비슷하지만 용도와 사용자 집단은 크게 다릅니다.첫 번째는 표준 기반 DDNS로, DNS 프로토콜의 확장을 사용하여 업데이트를 요청합니다. 이는 회사 노트북에서 주소를 등록하는 데 자주 사용됩니다.두 번째는 보통기반 프로토콜인 독점적인 DDNS입니다. 보통 사용자 이름과 비밀번호를 사용하여 단일 HTTP 페치를 통해 몇 가지 DNS 레코드를 업데이트합니다. 이것은 일반적으로 국내 컴퓨터가 더 넓은 그룹에 의해 발견되기 위해 공개적으로 알려진 이름으로 자신을 등록하는 데 사용됩니다. 예를 들어 게임 서버 또는 we.bcam.

인터넷 액세스의 최종 사용자는 인터넷 서비스 프로바이더로부터 IP 주소(종종 단일 주소)의 할당을 받습니다.할당된 주소는 고정(즉, 정적)되거나 동적이라고 불리는 상황에 따라 변경될 수 있습니다.동적 주소는 대부분의 기업에서 특히 정적 주소를 요구하기 때문에 일반적으로 거주 고객 및 소규모 기업에만 제공됩니다.

고객이 웹 서비스 등 인터넷상의 다른 사용자에게 서비스를 제공하려는 경우 동적 IP 주소가 문제를 일으킵니다.IP 주소는 빈번히 변경되기 때문에, 기존의 URL 를 사용해 액세스를 유지하기 위해서, 대응하는 도메인명을 DNS 로 신속히 재매핑 할 필요가 있습니다.

많은 프로바이더가 이 시나리오에서 상용 또는 무료 다이내믹 DNS 서비스를 제공합니다.자동 재구성은 일반적으로 DDNS 서비스를 업데이트하는 소프트웨어를 실행하는 사용자의 라우터 또는 컴퓨터에 구현됩니다.시간이 지남에 따라 몇 가지 표준 웹 기반 업데이트 방법이 등장했지만 사용자의 장비와 공급자 간의 통신은 표준화되지 않았습니다.

표준 기반 DDNS

도메인 네임서버 레코드를 동적으로 갱신하는 표준화된 방법은 RFC 2136에 규정되어 있습니다.일반적으로 다이내믹 DNS 업데이트라고 불립니다.RFC 2136에서 기술된 방법은 관리 대상 DNS 서버에서 사용하는 네트워크 프로토콜로 보안 메커니즘이 포함되어 있습니다.RFC 2136은 모든 DNS 레코드 유형을 지원하지만 대부분의 경우 DHCP 시스템의 확장으로만 사용되며 허가된 DHCP 서버가 DNS에 클라이언트레코드를 등록합니다.RFC 2136에 대한 이러한 형태의 지원은 대부분의 최신 운영체제의 컴포넌트인 클라이언트 및 서버 소프트웨어를 포함한 다수의 소프트웨어에서 제공됩니다.RFC 2136 의 서포트는, LDAP 나 Windows Active Directory 도메인을 포함한 많은 디렉토리 서비스의 불가결한 일부이기도 합니다.

적용들

Microsoft Windows 네트워크에서는 도메인 컨트롤러가 도메인(또는 포레스트)의 다른 컴퓨터가 액세스할 수 있도록 네트워크 서비스 유형을 DNS에 등록하기 때문에 동적 DNS는 Active Directory의 필수 요소입니다.

이러한 퍼블릭 다이내믹 DNS 서비스가 보안 침해를 설계하는 데 악용되는 사례가 증가하고 있기 때문에 오늘날 인터넷 통신을 보호하기 위한 노력에는 퍼블릭 인터넷을 통한 모든 다이내믹 업데이트의 암호화가 포함됩니다.TSIG와 같은 DNSSEC 프로토콜 스위트 내의 표준 기반 메서드는 DNS 업데이트를 보호하기 위해 개발되었지만 널리 사용되고 있지는 않습니다.마이크로소프트는 Kerberos 인증을 기반으로 대체 기술(GSS-TSIG)을 개발했다.

일부 무료 DNS 서버 소프트웨어 시스템(dnsmasq 등)은 내장된 DHCP 서버와 직접 관련된 동적 업데이트 절차를 지원합니다.이 서버는 주소를 할당할 때 DNS 레코드를 자동으로 업데이트 또는 추가하므로 관리자가 동적 업데이트를 특별히 구성할 필요가 없습니다.

인터넷 액세스 디바이스용 DDNS

동적 DNS 공급자는 클라이언트 시스템의 공용 IP 주소의 검색 및 등록을 자동화하는 소프트웨어 클라이언트 프로그램을 제공합니다.클라이언트 프로그램은 개인 네트워크의 컴퓨터 또는 장치에서 실행됩니다.DDNS 프로바이더의 시스템에 고유 로그인명으로 접속합니다.프로바이더는 이 이름을 사용하여 검출된 홈네트워크의 퍼블릭 IP 주소를 도메인네임 시스템내의 호스트명과 링크 합니다.프로바이더에 따라서는, 호스트명은 프로바이더가 소유하는 도메인내 또는 고객의 독자적인 도메인명내에 등록됩니다.이러한 서비스는, 몇개의 메카니즘에 의해서 기능할 수 있습니다.제한적인 환경에서도 보통 HTTP 서비스를 허용하기 때문에 HTTP 서비스 요청을 사용하는 경우가 많습니다.대부분의 프로바이더는 첫 번째 프로바이더 DynDNS(Dyn.com)와 유사한 API를 가지고 있기 때문에 DynDNS2라고 불립니다.

많은 홈 네트워킹모뎀/라우터에는 클라이언트애플리케이션이 펌웨어에 포함되어 있어 다양한 DDNS 프로바이더와 호환성이 있습니다.

보안 어플라이언스 제조업체용 DDNS

동적 DNS는 DVR 및 IP [citation needed]카메라와 같은 IP 기반 보안 어플라이언스에서 예상되는 기능 또는 요구 사항입니다.오늘날의 제조업체에는 기존 DDNS 서비스나 제조업체가 호스팅하는 사용자 지정 서비스 등 다양한 옵션을 사용할 수 있습니다.

거의 모든 경우 단순한 HTTP 기반 업데이트 API를 사용하여 DDNS 클라이언트를 디바이스의 펌웨어에 쉽게 통합할 수 있습니다.MintDNS, cURL, Inadyn 등 서버 및 클라이언트 개발의 부담을 경감하는 데 도움이 되는 몇 가지 사전 툴이 있습니다.대부분의 웹 기반 DDNS 서비스는 표준 사용자 이름과 비밀번호 보안 스키마를 사용합니다.이를 위해서는 사용자가 먼저 DDNS 서버 웹 사이트에서 계정을 만든 후 IP 주소 변경이 검출될 때마다 DDNS 서버에 업데이트를 전송하도록 디바이스를 설정해야 합니다.

일부 디바이스 제조업체는 한 걸음 더 나아가 DDNS 서비스를 제조하는 디바이스에서만 사용할 수 있도록 허용하고 사용자 이름과 비밀번호를 모두 사용할 필요가 없습니다.일반적으로 이는 DDNS 서버와 디바이스 펌웨어 모두에서 기밀로 유지되는 암호화 알고리즘을 사용하여 디바이스의 MAC 주소를 암호화함으로써 이루어집니다.로 인한 복호화 또는 복호화 실패는 업데이트를 보호 또는 거부하기 위해 사용됩니다.커스텀 DDNS 서비스 개발에 필요한 리소스는 일반적으로 한정되어 있어 안전하고 견고한 DDNS 서버를 설계하고 필드화하기 위한 전체 소프트웨어 개발 사이클이 필요합니다.

「 」를 참조해 주세요.