Linux Server Deployment & SSH Mastery · 강의

DNS 구성과 문제 해결

Linux 서버가 호스트 이름을 IP 주소로 확인하는 방식을 이해합니다. 확인자를 구성하고 /etc/hosts를 편집하며 dig, nslookup, host를 사용해 네트워크가 정상이어도 연결을 끊는 DNS 문제를 진단합니다.

레슨 4/413개 단계

DNS 구성과 문제 해결은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

서버에서 DNS가 중요한 이유

네트워크와 방화벽 설정이 완벽해도 이름을 확인하지 못하면 서버가 외부 세계에 연결되지 않을 수 있습니다. DNS는 example.com과 같은 사람이 읽기 쉬운 호스트 이름을 IP 주소로 변환합니다.

이름 확인이 작동하는 방식과 문제를 해결하는 방법을 아는 것은 필수적인 네트워크 기술입니다.

이름 확인 경로

프로그램이 이름에 해당하는 IP를 필요로 하면 Linux는 일반적으로 다음 순서로 출처를 확인합니다:

  • 로컬 /etc/hosts 파일
  • 구성된 DNS 서버(확인자)

이 순서는 /etc/nsswitch.conf의 hosts: 행으로 결정됩니다.

grep hosts /etc/nsswitch.conf
# hosts: files dns

<code>/etc/hosts</code> 파일

/etc/hosts는 DNS를 거치지 않고 로컬에서 이름을 IP에 매핑합니다. 테스트, 내부 호스트 이름 사용 또는 도메인을 특정 IP에 고정할 때 유용합니다.

각 행에는 IP가 먼저 나오고 그 뒤에 하나 이상의 이름이 옵니다.

127.0.0.1   localhost
192.168.1.50  db.internal db

확인자 구성 위치

기본 파일은 이름 서버를 나열하는 /etc/resolv.conf입니다. 최신 시스템에서는 이 파일을 systemd-resolved 또는 NetworkManager가 관리하는 경우가 많으므로 직접 편집한 내용이 유지되지 않을 수 있습니다.

변경하기 전에 실제로 사용 중인 설정을 확인하십시오.

cat /etc/resolv.conf
resolvectl status

DNS 서버 설정하기

systemd-resolved 시스템에서는 resolv.conf를 편집하는 대신 인터페이스별로 DNS를 설정하십시오. Netplan 기반 서버에서는 YAML 구성에 DNS를 정의합니다.

이 예에서는 인터페이스에 공용 확인자를 설정합니다.

sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0

dig로 레코드 조회하기

dig는 가장 강력한 DNS 조회 도구입니다. 응답과 함께 조회 메타데이터도 보여 줍니다.

+short 옵션을 사용하면 결과를 응답만 표시하도록 줄일 수 있어 스크립트에 적합합니다.

dig example.com
dig +short example.com

특정 레코드 유형 조회하기

DNS에는 다양한 레코드 유형이 저장됩니다. 메일, 이름 서버 또는 별칭을 확인하려면 유형을 지정하십시오.

  • A — IPv4 주소
  • AAAA — IPv6 주소
  • MX — 메일 서버
  • NS — 이름 서버
  • CNAME — 별칭
dig example.com MX +short
dig example.com NS +short

nslookup 및 host

nslookup과 host는 dig보다 간단한 대안입니다. 빠른 확인과 역방향 조회(IP에서 이름으로 변환)에 편리합니다.

역방향 조회는 주소에 대한 PTR 레코드를 조회합니다.

host example.com
nslookup example.com
dig -x 8.8.8.8 +short

특정 서버에 조회 요청하기

특정 확인자에 문제가 있는지 테스트하려면 @ 구문으로 특정 서버를 지정하여 조회하십시오. 공용 확인자는 작동하지만 사용 중인 확인자가 작동하지 않는다면 문제는 DNS 구성에 있습니다.

dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short

문제 해결 절차

이름이 확인되지 않을 때는 다음 계층을 차례로 점검하십시오:

  • IP에 직접 ping할 수 있습니까? (네트워크 문제를 배제합니다)
  • dig @1.1.1.1 name이 작동합니까? (이름 자체의 문제를 배제합니다)
  • 기본 확인자를 사용하는 dig name이 작동합니까? (확인자 구성을 분리해 확인합니다)
  • 이를 덮어쓰는 오래된 /etc/hosts 항목이 있습니까?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +short

권장 사항

이름 확인을 안정적으로 유지하십시오:

  • 중복성을 위해 확인자를 두 개 이상 사용하십시오
  • 자동으로 관리되는 경우 resolv.conf를 직접 편집하지 마십시오
  • 테스트에는 /etc/hosts를 사용하되 오래된 항목은 정리하십시오
  • 깔끔한 출력을 위해 스크립트에서는 dig +short를 우선 사용하십시오

빠른 확인

DNS 문제 해결에 관한 지식을 테스트해 보십시오.

복습

이제 서버에서 DNS를 구성하고 문제를 해결할 수 있습니다:

  • /etc/nsswitch.conf 및 /etc/hosts를 통한 이름 확인 순서
  • resolv.conf 및 systemd-resolved의 확인자
  • 특정 레코드 유형과 서버를 포함한 dig, host, nslookup 조회
  • 계층적으로 진행하는 문제 해결 절차

이제 네트워크 및 방화벽 기술에 이름 확인 계층까지 더할 수 있습니다.

무료로 시작

AI 튜터와 함께 Linux Server Deployment & SSH Mastery을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
12
레슨
48

자주 묻는 질문

“DNS 구성과 문제 해결” 강의는 무료인가요?

네 — “DNS 구성과 문제 해결” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“DNS 구성과 문제 해결”에서 뭘 배우나요?

Linux 서버가 호스트 이름을 IP 주소로 확인하는 방식을 이해합니다. 확인자를 구성하고 /etc/hosts를 편집하며 dig, nslookup, host를 사용해 네트워크가 정상이어도 연결을 끊는 DNS 문제를 진단합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“DNS 구성과 문제 해결” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 기본 네트워크 구성
  2. 방화벽 이해하기(UFW/firewalld)
  3. 포트 관리 및 보안
  4. DNS 구성과 문제 해결
← Linux Server Deployment & SSH Mastery(으)로 돌아가기