7.9.3. TLS를 사용하여 DNS 전달 구성


업스트림 확인자에 대한 쿼리를 보호하도록 TLS를 사용하여 DNS 전달을 구성합니다.

고도로 규제된 환경에서 작업하는 경우 추가 DNS 트래픽 및 데이터 개인 정보를 보장할 수 있도록 요청을 업스트림 해석기로 전달할 때 DNS 트래픽을 보호할 수 있는 기능이 필요할 수 있습니다.

CoreDNS 캐시가 10초 동안 전달된 연결을 확인합니다. CoreDNS는 요청이 발행되지 않은 경우 해당 10초 동안 TCP 연결을 열린 상태로 유지합니다.

참고

대규모 클러스터에서는 노드당 연결을 시작할 수 있으므로 DNS 서버에서 많은 새 연결을 유지할 수 있음을 알고 있는지 확인합니다. 성능 문제를 방지하기 위해 DNS 계층 구조를 적절하게 설정합니다.

프로세스

  1. 이름이 default인 DNS Operator 오브젝트를 수정합니다.

    $ oc edit dns.operator/default

    클러스터 관리자는 전달된 DNS 쿼리에 대해 TLS(전송 계층 보안)를 구성할 수 있습니다.

    TLS를 사용하여 DNS 전달 구성

    apiVersion: operator.openshift.io/v1
    kind: DNS
    metadata:
      name: default
    spec:
      servers:
      - name: example_server
        zones:
        - example.com
        forwardPlugin:
          transportConfig:
            transport: TLS
            tls:
              caBundle:
                name: mycacert
              serverName: dnstls.example.com
          policy: Random
          upstreams:
          - 1.1.1.1
          - 2.2.2.2:5353
      upstreamResolvers:
        transportConfig:
          transport: TLS
          tls:
            caBundle:
              name: mycacert
            serverName: dnstls.example.com
        upstreams:
        - type: Network
          address: 1.2.3.4
          port: 53

    다음과 같습니다.

    spec.servers.name
    rfc6335 서비스 이름 구문을 준수해야 합니다.
    spec.servers.zones
    rfc1123 하위 도메인 구문을 준수해야 합니다. 클러스터 도메인인 cluster.local영역에 유효하지 않습니다.
    spec.servers.forwardPlugin.transportConfig.transport
    TLS 전달을 구성할 때 TLS 로 설정해야 합니다.
    spec.servers.forwardPlugin.transportConfig.tls.serverName
    업스트림 TLS 인증서의 유효성을 검사하는 데 사용되는 SNI(서버 이름 표시) 서버 이름으로 설정해야 합니다.
    spec.servers.forwardPlugin.policy
    업스트림 선택 정책을 지정합니다. 기본값은 Random; 유효한 값은 RoundRobinSequential 입니다.
    spec.servers.forwardPlugin.upstreams
    업스트림 리졸버를 제공해야 합니다. forwardPlugin 당 최대 15개의 항목을 제공해야 합니다.
    spec.upstreamResolvers.upstreams
    기본 도메인의 기본 정책을 덮어쓰는 선택적 필드를 지정합니다. TLS가 활성화된 경우에만 네트워크 유형을 사용하고 IP 주소를 제공합니다. 생략하면 쿼리는 /etc/resolv.conf 를 사용합니다.
    spec.upstreamResolvers.upstreams.address
    유효한 IPv4 또는 IPv6 주소여야 합니다.
    spec.upstreamResolvers.upstreams.port

    포트 번호를 제공하기 위해 선택적 필드를 지정합니다. 유효한 값은 1 에서 65535 사이입니다. 생략 시 기본값은 853입니다.

    참고

    서버 가 정의되지 않았거나 유효하지 않은 경우 구성 맵에는 기본 서버만 포함됩니다.

검증

  1. 구성 맵을 표시합니다.

    $ oc get configmap/dns-default -n openshift-dns -o yaml

    TLS 전달을 기반으로 하는 샘플 DNS ConfigMap 예

    apiVersion: v1
    data:
      Corefile: |
        example.com:5353 {
            forward . 1.1.1.1 2.2.2.2:5353
        }
        bar.com:5353 example.com:5353 {
          forward . 3.3.3.3 4.4.4.4:5454
        }
        .:5353 {
            errors
            health
            kubernetes cluster.local in-addr.arpa ip6.arpa {
                pods insecure
                upstream
                fallthrough in-addr.arpa ip6.arpa
            }
            prometheus :9153
            forward . /etc/resolv.conf 1.2.3.4:53 {
                policy Random
            }
            cache 30
            reload
        }
    kind: ConfigMap
    metadata:
      labels:
        dns.operator.openshift.io/owning-dns: default
      name: dns-default
      namespace: openshift-dns

    • data.Corefile 키에는 DNS 서버의 Corefile 구성이 포함되어 있습니다. forwardPlugin을 변경하면 CoreDNS 데몬 세트의 롤링 업데이트가 트리거됩니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동