resolv.conf named.conf

agnusdei·2024년 7월 24일

resolv.confnamed.conf의 차이점, 역할, 설치 위치 및 동작 원리

resolv.conf

  • 파일 위치:

    • 일반적으로 Unix/Linux 시스템에서는 /etc/resolv.conf에 위치합니다.
    • 이 파일은 시스템이 부팅될 때 생성되며, 네트워크 매니저 또는 DHCP 클라이언트에 의해 자동으로 업데이트될 수 있습니다.
  • 역할:

    • 로컬 DNS 클라이언트 설정 파일로, 로컬 시스템이 DNS 서버에 질의할 때 어떤 DNS 서버를 사용할지 지정합니다.
    • 클라이언트 측 DNS 질의 동작을 구성합니다.
  • 내용 설명:

    • nameserver: DNS 서버의 IP 주소를 지정합니다. 이 주소로 DNS 요청을 보냅니다. 여러 nameserver 항목이 있을 경우, 첫 번째 서버부터 순차적으로 시도합니다.
    • search: 도메인 검색 순서를 지정합니다. 로컬 도메인 이름을 사용할 때, 이 옵션에 지정된 도메인을 추가로 붙여서 질의합니다. 예를 들어, search example.com이 설정된 상태에서 host www를 질의하면 www.example.com으로 해석합니다.
    • domain: 기본 도메인을 지정합니다. search 옵션과 비슷하지만, 단일 도메인만 지정합니다.
  • 예시 내용:

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    search example.com
  • 동작 원리:

    • 클라이언트 프로그램이 호스트 이름을 IP 주소로 변환할 때 이 파일을 참조합니다.
    • nameserver로 지정된 DNS 서버에 질의를 보내어 도메인 이름을 IP 주소로 해석합니다.
    • searchdomain 옵션을 사용하여 로컬 도메인 이름 해석 시 추가적인 도메인을 붙여서 질의합니다.

named.conf

  • 파일 위치:

    • 일반적으로 BIND DNS 서버가 설치된 시스템에서는 /etc/named.conf 또는 /etc/bind/named.conf에 위치합니다.
    • BIND 설치 시 기본적으로 제공되며, 시스템 관리자에 의해 수정될 수 있습니다.
  • 역할:

    • BIND DNS 서버의 설정 파일로, 서버가 어떻게 동작할지, 어떤 존(zone)을 관리할지 등을 지정합니다.
    • DNS 서버의 전체 동작을 설정합니다.
  • 내용 설명:

    • options: DNS 서버의 전역 설정을 정의합니다. 여기에는 DNS 서버의 기본 동작 방식, 디렉토리 설정, 접근 제어, 재귀 설정 등이 포함됩니다.
      • directory: 존 파일이 저장될 디렉토리를 지정합니다.
      • allow-query: DNS 질의를 허용할 클라이언트를 지정합니다.
      • recursion: 재귀 질의 허용 여부를 지정합니다.
    • zone: 특정 도메인에 대한 설정을 정의합니다. 존은 DNS 서버가 관리하는 도메인의 데이터베이스입니다.
      • type: 존의 유형(마스터, 슬레이브 등)을 지정합니다.
      • file: 존 데이터가 저장된 파일을 지정합니다.
      • allow-update: 존 업데이트를 허용할 클라이언트를 지정합니다.
    • include: 다른 설정 파일을 포함하여 구성의 재사용성과 가독성을 높입니다.
  • 예시 내용:

    options {
        directory "/var/named";
        allow-query { any; };
        recursion yes;
    };
    
    zone "example.com" {
        type master;
        file "example.com.zone";
        allow-update { none; };
    };
    
    zone "0.0.127.in-addr.arpa" {
        type master;
        file "localhost.rev";
        allow-update { none; };
    };
  • 동작 원리:

    • BIND DNS 서버는 부팅 시 또는 재시작 시 named.conf 파일을 읽고 설정에 따라 동작합니다.
    • options 섹션에서 전역 설정을 적용하고, 서버의 동작 방식을 정의합니다.
    • zone 섹션에서 관리할 도메인(존)을 정의하고, 해당 존에 대한 설정을 적용합니다.
    • 정의된 존 파일을 로드하여 도메인 이름과 IP 주소 간의 매핑 정보를 관리합니다.
    • 클라이언트로부터 DNS 질의를 수신하면, named.conf 설정에 따라 응답을 처리합니다.
    • 재귀 질의가 허용된 경우, 다른 DNS 서버와 협력하여 질의를 처리합니다.

요약 비교

  • resolv.conf:

    • 역할: 클라이언트의 DNS 서버 설정
    • 위치: /etc/resolv.conf
    • 내용: nameserver, search, domain
    • 적용 대상: 클라이언트 시스템
    • 동작 원리: 로컬 시스템이 DNS 서버에 질의할 때 참조하여, DNS 서버로 요청을 보냄
  • named.conf:

    • 역할: BIND DNS 서버의 설정
    • 위치: /etc/named.conf 또는 /etc/bind/named.conf
    • 내용: options, zone, include
    • 적용 대상: DNS 서버
    • 동작 원리: BIND DNS 서버가 부팅 시 설정을 읽어, DNS 서비스 제공 및 존 관리

이와 같이 resolv.conf는 클라이언트 측에서 DNS 서버를 지정하고 사용하는 방법을 정의하는 반면, named.conf는 DNS 서버의 동작과 관리할 존을 정의하여 서버가 올바르게 동작하도록 설정합니다. 두 파일은 각각 클라이언트와 서버의 역할에 맞춰 DNS 환경을 구성하는 데 필수적인 역할을 합니다.

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글