25.2. NetworkManager에서 systemd-resolved를 사용하여 특정 도메인에 대한 DNS 요청을 선택한 DNS 서버로 전송


systemd-resolved 인스턴스를 시작하도록 NetworkManager를 구성할 수 있습니다. 그런 다음 이 DNS 스텁 확인기에서 IP 주소 127.0.0. 53 의 포트 53에서 수신 대기합니다. 결과적으로 이 스텁 확인자는 네트워크가 아닌 로컬 시스템에서만 연결할 수 있습니다.

이 구성을 통해 NetworkManager는 이름 서버 127.0.0.53 항목을 /etc/resolv.conf 파일에 추가하고 systemd-resolved 는 DNS 요청을 NetworkManager 연결 프로필에 지정된 해당 DNS 서버로 동적으로 라우팅합니다.

중요

systemd-resolved 서비스는 기술 프리뷰로만 제공됩니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있으며 Red Hat은 해당 기능을 프로덕션에 사용하지 않는 것이 좋습니다. 이러한 프리뷰를 통해 향후 제품 기능에 조기 액세스할 수 있어 개발 프로세스 중에 기능을 테스트하고 피드백을 제공할 수 있습니다.

기술 프리뷰 기능에 대한 지원 범위에 대한 정보는 Red Hat 고객 포털에서 기술 프리뷰 기능 지원 범위를 참조하십시오.

지원되는 솔루션은 NetworkManager에서 dnsmasq를 사용하여 특정 도메인에 대한 DNS 요청을 선택한 DNS 서버로 보내는 것을 참조하십시오.

사전 요구 사항

  • 시스템에 여러 NetworkManager 연결이 구성되어 있습니다.
  • DNS 서버 및 검색 도메인은 특정 도메인을 확인하는 연결을 위해 구성됩니다.

    예를 들어 VPN 연결에 지정된 DNS 서버가 example.com 도메인에 대한 쿼리를 확인하려면 다음 설정을 사용할 수 있어야 합니다.

    • example.com 을 확인할 수 있는 DNS 서버 . DHCP 서버는 이 정보를 동적으로 제공하거나 VPN 연결 프로필에서 ipv4.dnsipv6.dns 매개변수를 설정할 수 있습니다.
    • example.com 으로 설정된 검색 도메인 . DHCP 서버는 이 정보를 동적으로 제공하거나 VPN 연결 프로필에 ipv4.dns-searchipv6.dns-search 매개변수를 설정할 수 있습니다.

프로세스

  1. systemd-resolved 패키지를 설치합니다.

    # dnf install systemd-resolved
  2. systemd-resolved 서비스를 활성화하고 시작합니다.

    # systemctl --now enable systemd-resolved
  3. /etc/NetworkManager/NetworkManager.conf 파일을 편집하고 [main] 섹션에 다음 항목을 설정합니다.

    dns=systemd-resolved
  4. NetworkManager 서비스를 다시 로드합니다.

    # systemctl reload NetworkManager

검증

  1. 서비스에서 다른 DNS 서버를 사용하는 도메인과 systemd-resolved 의 사용을 표시합니다.

    # resolvectl
    ...
    Link 2 (enp1s0)
        Current Scopes: DNS
             Protocols: +DefaultRoute ...
    Current DNS Server: 192.0.2.1
           DNS Servers: 192.0.2.1
    
    Link 3 (tun0)
        Current Scopes: DNS
             Protocols: -DefaultRoute ...
    Current DNS Server: 198.51.100.7
           DNS Servers: 198.51.100.7 203.0.113.19
            DNS Domain: example.com

    systemd-resolvedexample.com 도메인에 다른 DNS 서버를 사용하는 것을 출력에서 확인합니다.

  2. tcpdump 패킷 스니퍼를 사용하여 DNS 요청의 올바른 경로를 확인합니다.

    1. tcpdump 패키지를 설치합니다.

      # dnf install tcpdump
    2. 한 터미널에서 tcpdump 를 시작하여 모든 인터페이스에서 DNS 트래픽을 캡처합니다.

      # tcpdump -i any port 53
    3. 다른 터미널에서 예외와 다른 도메인이 존재하는 도메인의 호스트 이름을 확인합니다. 예를 들면 다음과 같습니다.

      # host -t A www.example.com
      # host -t A www.redhat.com
    4. tcpdump 출력에서 Red Hat Enterprise Linux가 example.com 도메인에 대한 DNS 쿼리만 지정된 DNS 서버와 해당 인터페이스를 통해 전송하는지 확인합니다.

      ...
      13:52:42.234533 tun0   Out IP server.43534 > 198.51.100.7.domain: 50121+ A? www.example.com. (33)
      ...
      13:52:57.753235 enp1s0 Out IP server.40864 > 192.0.2.1.domain: 6906+ A? www.redhat.com. (33)
      ...

      Red Hat Enterprise Linux는 www.example.com 의 DNS 쿼리를 198.51.100.7 의 DNS 서버에 전송하고 www.redhat.com 에 대한 쿼리를 192.0.2.1 로 보냅니다.

문제 해결

  1. /etc/resolv.conf 파일의 nameserver 항목이 127.0.0.53 을 참조하는지 확인합니다.

    # cat /etc/resolv.conf
    nameserver 127.0.0.53

    항목이 없는 경우 /etc/NetworkManager/NetworkManager.conf 파일에서 dns 매개변수를 확인합니다.

  2. systemd-resolved 서비스가 로컬 IP 주소 127.0.0. 53 의 포트 53에서 수신 대기하는지 확인합니다.

    # ss -tulpn | grep "127.0.0.53"
    udp  UNCONN 0  0      127.0.0.53%lo:53   0.0.0.0:*    users:(("systemd-resolve",pid=1050,fd=12))
    tcp  LISTEN 0  4096   127.0.0.53%lo:53   0.0.0.0:*    users:(("systemd-resolve",pid=1050,fd=13))

    서비스가 127.0.0.53:53 에서 수신 대기하지 않으면 systemd-resolved 서비스가 실행 중인지 확인합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동