소개
이 랩에서는 Linux 시스템에 DNS 서버가 구성되어 있는지 확인하는 방법을 배우게 됩니다. 구성된 DNS 서버를 식별하기 위해 기본 구성 파일인 /etc/resolv.conf를 살펴볼 것입니다.
그 다음, nslookup 명령을 사용하여 DNS 확인을 테스트하고 시스템이 도메인 이름을 IP 주소로 성공적으로 변환할 수 있는지 확인할 것입니다. 마지막으로, 로컬 DNS 리졸버 서비스가 어떻게 구성되어 있는지 이해하기 위해 systemd-resolved 구성 파일인 /etc/systemd/resolved.conf를 검사할 것입니다.
cat /etc/resolv.conf로 DNS 확인
이 단계에서는 Linux 시스템이 인터넷에서 웹사이트와 서비스를 찾는 방법을 살펴보겠습니다. 이 프로세스를 DNS 확인이라고 하며, 사람이 읽을 수 있는 도메인 이름 (예: google.com) 을 컴퓨터가 읽을 수 있는 IP 주소 (예: 172.217.160.142) 로 변환하는 서비스에 의해 처리됩니다.
많은 Linux 시스템에서 DNS 확인을 위한 기본 구성 파일은 /etc/resolv.conf입니다. 이 파일은 시스템에 사용할 DNS 서버를 알려줍니다.
cat 명령을 사용하여 이 파일의 내용을 살펴보겠습니다. cat 명령은 파일의 내용을 표시하는 간단하지만 강력한 도구입니다.
아직 열려 있지 않다면 터미널을 엽니다. 데스크탑 왼쪽에서 Xfce Terminal 아이콘을 찾을 수 있습니다.
이제 다음 명령을 입력하고 Enter 키를 누릅니다.
cat /etc/resolv.conf
다음과 유사한 출력을 볼 수 있습니다.
## This is /run/systemd/resolve/stub-resolv.conf.
## Handled by systemd-resolved(8).
## DNS servers configured in /etc/systemd/resolved.conf.
nameserver 127.0.0.53
options edns0 trust-ad
출력을 자세히 살펴보겠습니다.
#로 시작하는 줄은 주석이며 시스템에서 무시됩니다.nameserver 127.0.0.53: 이 줄이 여기서 가장 중요합니다. 시스템이 사용할 DNS 서버의 IP 주소를 지정합니다. 이 경우127.0.0.53은 로컬 DNS 리졸버 서비스 (종종systemd-resolved) 를 가리키는 특수 IP 주소이며, 나중에 살펴보겠습니다. 이 로컬 리졸버는 DNS 요청을 외부 DNS 서버로 전달합니다.options edns0 trust-ad: 이는 DNS 쿼리와 관련된 옵션입니다.edns0는 DNS 의 확장 메커니즘이고,trust-ad는 DNSSEC (DNS Security Extensions) 와 관련이 있습니다. 지금은 이러한 옵션에 대해 걱정할 필요가 없습니다.
/etc/resolv.conf를 이해하는 것은 DNS 와 관련된 네트워크 연결 문제를 해결하는 첫 번째 단계입니다. 이 파일이 없거나 잘못된 정보를 포함하는 경우 시스템이 도메인 이름을 확인할 수 없을 수 있습니다.
다음 단계로 진행하려면 **계속 (Continue)**을 클릭하십시오.
nslookup 으로 DNS 확인 테스트
이전 단계에서 DNS 서버를 찾는 위치를 시스템에 알려주는 /etc/resolv.conf 파일을 살펴보았습니다. 이제 nslookup 명령을 사용하여 시스템이 도메인 이름을 확인할 수 있는지 적극적으로 테스트해 보겠습니다.
nslookup은 도메인 이름 시스템 (DNS) 을 쿼리하여 도메인 이름 또는 IP 주소 매핑을 얻거나 다른 특정 DNS 레코드를 얻기 위한 명령줄 유틸리티입니다. 이는 네트워크 문제 해결을 위한 기본적인 도구입니다.
nslookup을 사용하여 example.com의 IP 주소를 찾아보겠습니다. 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
nslookup example.com
다음과 유사한 출력을 볼 수 있습니다.
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: example.com
Address: 93.184.216.34
이 출력을 자세히 살펴보겠습니다.
Server: 127.0.0.53: 이는nslookup이 쿼리에 사용한 DNS 서버의 IP 주소를 보여줍니다. 이전 단계에서 살펴본 것처럼, 이는/etc/resolv.conf에 지정된 로컬 리졸버입니다.Address: 127.0.0.53#53: 이는 DNS 서버의 IP 주소와 포트 번호입니다. DNS 는 일반적으로 포트 53 을 사용합니다.Non-authoritative answer:: 이는 응답이example.com의 권한 있는 서버가 아닌 캐싱 DNS 서버에서 왔음을 나타냅니다.Name: example.com: 이는 쿼리한 도메인 이름입니다.Address: 93.184.216.34: 이는 DNS 서버가example.com에 대해 반환한 IP 주소입니다. 이는example.com을 방문하려고 할 때 컴퓨터가 연결할 주소입니다.
nslookup이 IP 주소를 반환하면 시스템이 도메인 이름을 성공적으로 확인했음을 의미합니다. 실패하면 DNS 확인에 문제가 있음을 나타내는 오류 메시지가 표시될 수 있습니다.
google.com 또는 labex.io와 같은 다른 도메인 이름을 확인할 수도 있습니다.
nslookup google.com
출력에는 google.com과 관련된 IP 주소가 표시됩니다. 단일 도메인 이름에 여러 IP 주소가 있을 수 있습니다.
이 명령은 DNS 구성이 올바르게 작동하는지 확인하고 특정 도메인 이름의 IP 주소를 찾는 데 매우 유용합니다.
다음 단계로 이동하려면 **계속 (Continue)**을 클릭하십시오.
cat /etc/systemd/resolved.conf로 설정 확인
이전 단계에서 /etc/resolv.conf가 종종 systemd-resolved에서 처리하는 로컬 주소 (127.0.0.53) 를 가리킨다는 것을 확인했습니다. 이 서비스는 systemd 시스템 및 서비스 관리자의 일부이며 로컬 애플리케이션에 네트워크 이름 확인을 제공합니다.
systemd-resolved의 구성은 일반적으로 /etc/systemd/resolved.conf 파일에서 찾을 수 있습니다. 로컬 리졸버가 어떻게 구성되어 있는지 확인하기 위해 이 파일을 검사해 보겠습니다.
cat 명령을 다시 사용하여 /etc/systemd/resolved.conf의 내용을 봅니다. 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
cat /etc/systemd/resolved.conf
다음과 유사한 출력을 볼 수 있습니다.
## This file is part of systemd.
#
## systemd is free software; you can redistribute it and/or modify it
## under the terms of the GNU Lesser General Public License as published by
## the Free Software Foundation; either version 2.1 of the License, or
## (at your option) any later version.
#
## Entries in this file show the compile time defaults. Local configuration
## should be placed in a file located in /etc/systemd/resolved.conf.d/.
## See resolved.conf(5) for details.
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#DNSSEC=no
#DNSOverTLS=no
#MulticastDNS=yes
#LLMNR=yes
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes
이 파일의 주요 부분을 살펴보겠습니다.
- 파일은 목적과 라이선스를 설명하는 주석으로 시작합니다.
[Resolve]: 이는 이름 확인을 위한 주요 구성 섹션의 시작을 나타냅니다.DNS=: 이 주석 처리된 줄은 일반적으로systemd-resolved가 사용해야 하는 업스트림 DNS 서버의 IP 주소를 나열하는 곳입니다. 주석 처리되어 있으므로systemd-resolved는 네트워크 구성 (예: DHCP) 과 같은 다른 소스에서 DNS 서버 정보를 가져올 가능성이 높습니다.FallbackDNS=: 이 주석 처리된 줄을 사용하면DNS=에 나열된 기본 DNS 서버에 연결할 수 없는 경우 사용할 대체 DNS 서버를 지정할 수 있습니다.- 다른 주석 처리된 옵션은 DNSSEC 유효성 검사, DNS over TLS, 캐싱, Multicast DNS (mDNS) 및 Link-Local Multicast Name Resolution (LLMNR) 지원과 같은
systemd-resolved의 동작의 다양한 측면을 제어합니다.
이 환경에서 실제로 사용되는 DNS 서버는 기본 네트워크 인프라 (Docker 컨테이너 환경) 에서 제공될 가능성이 높습니다. systemd-resolved는 로컬 캐시 및 포워더 역할을 합니다.
/etc/systemd/resolved.conf를 이해하는 것은 systemd-resolved를 사용하는 시스템에서 고급 DNS 구성 및 문제 해결에 중요합니다.
이제 이 Linux 시스템에서 DNS 확인과 관련된 주요 구성 파일을 성공적으로 검사했습니다.
이 랩을 완료하려면 **계속 (Continue)**을 클릭하십시오.
요약
이 랩에서는 Linux 시스템에서 DNS 서버 구성을 확인하는 방법을 배웠습니다. 시스템에서 사용하는 DNS 서버를 지정하는 기본 구성 파일인 cat 명령을 사용하여 /etc/resolv.conf 파일을 검사하는 것으로 시작했습니다. #로 시작하는 줄은 주석이고 nameserver 줄은 DNS 서버의 IP 주소를 나타내며, 종종 systemd-resolved에서 처리하는 127.0.0.53과 같은 로컬 리졸버임을 이해했습니다.
그런 다음 nslookup 명령을 사용하여 DNS 확인을 테스트하여 구성된 DNS 서버가 도메인 이름을 IP 주소로 성공적으로 변환할 수 있는지 확인했습니다. 마지막으로, cat으로 /etc/systemd/resolved.conf 파일을 보면서 systemd-resolved 서비스의 구성을 검사하여 로컬 DNS 리졸버가 어떻게 구성되고 요청을 외부 DNS 서버로 전달하는지에 대한 자세한 내용을 제공했습니다. 이러한 단계는 Linux 에서 DNS 가 어떻게 구성되고 테스트되는지에 대한 기본적인 이해를 제공합니다.



