✨ Q25. Rocky Linux DNS 설정 확인하기 ✨
• 🌐 DNS가 도메인 이름을 IP 주소로 변환하는 과정 이해하기
• 🔎 resolv.conf, nmcli, dig, host로 DNS 설정과 동작 확인하기
1. 🌐 DNS는 왜 필요할까?
우리가 웹 브라우저에서 다음과 같이 입력한다고 해보겠습니다.
www.google.com
컴퓨터가 실제 네트워크 통신을 하기 위해서는 www.google.com이라는 이름이 아니라 IP 주소가 필요합니다.
이때 DNS(Domain Name System)가 도메인 이름을 IP 주소로 변환해 줍니다.
🌐 www.google.com
↓
🔎 DNS 서버에 질의
↓
📍 IP 주소 확인
↓
🖥️ 웹 서버에 접속
즉 DNS는 쉽게 말해 도메인 이름을 IP 주소로 찾아주는 인터넷의 전화번호부와 같은 역할을 합니다.
2. 📄 현재 DNS 서버 확인하기
Rocky Linux에서 가장 기본적으로 DNS 설정을 확인하는 방법은 /etc/resolv.conf 파일을 확인하는 것입니다.
cat /etc/resolv.conf
예를 들어 다음과 같이 나타날 수 있습니다.
# Generated by NetworkManager nameserver 10.0.2.3
여기서 nameserver 뒤에 있는 IP 주소가 현재 시스템이 사용하는 DNS 서버 주소입니다.
💡 Rocky Linux에서는 NetworkManager가 /etc/resolv.conf를 동적으로 관리하는 경우가 많습니다.
3. 🔍 nmcli로 DNS 확인하기
NetworkManager가 관리하는 네트워크 설정은 nmcli 명령어로 확인할 수 있습니다.
nmcli dev show | grep DNS
출력 예:
IP4.DNS[1]: 10.0.2.3
👉/etc/resolv.conf뿐만 아니라nmcli를 이용하면 현재 네트워크 인터페이스에 적용된 DNS 정보를 확인할 수 있습니다.
4. ⚙️ DNS 서버 변경해보기
실습에서는 Google Public DNS인 8.8.8.8을 DNS 서버로 추가해볼 수 있습니다.
sudo nmcli device modify eth0 ipv4.dns "8.8.8.8"
이후 다시 확인합니다.
cat /etc/resolv.conf
nameserver 8.8.8.8 nameserver 10.0.2.3
또는 다음 명령어로 확인할 수도 있습니다.
nmcli dev show | grep DNS
IP4.DNS[1]: 8.8.8.8 IP4.DNS[2]: 10.0.2.3
📌 nmcli device modify로 변경한 값은 활성 장치에 적용하는 방식이므로, 재부팅이나 재연결 이후에도 유지해야 한다면 NetworkManager의 connection 설정을 별도로 변경해야 합니다.
5. 🧰 dig와 host 명령어 설치하기
DNS가 실제로 정상적으로 동작하는지 확인할 때 많이 사용하는 명령어가 dig와 host입니다.
Rocky Linux에서는 bind-utils 패키지에 포함되어 있습니다.
sudo dnf install -y bind-utils
설치하면 대표적으로 다음과 같은 DNS 관련 도구를 사용할 수 있습니다.
🧰 bind-utils ├── dig └── host
6. 🛰️ dig로 DNS 질의 확인하기
dig를 이용해 Google의 IP 주소를 조회해봅니다.
dig google.com
dig는 단순히 IP 주소만 보여주는 것이 아니라,
- 어떤 DNS 서버에 질의했는지
- 어떤 레코드가 반환되었는지
- 응답 시간은 얼마나 걸렸는지
- DNS 서버의 응답 상태는 어떤지
등을 자세하게 확인할 수 있습니다.
👉 따라서 DNS 문제를 분석하거나 디버깅할 때 매우 유용한 명령어입니다.
7. 🔎 host로 간단하게 확인하기
좀 더 간단하게 도메인의 IP 주소만 확인하고 싶다면 host 명령어를 사용할 수 있습니다.
host google.com
예를 들면 다음과 같이 결과가 나타납니다.
google.com has address 142.251.xxx.xxx google.com has IPv6 address 2404:6800:....
dig보다 출력이 간단하기 때문에 DNS가 정상적으로 이름을 해석하는지 빠르게 테스트할 때 사용하기 좋습니다.
🎯 핵심 정리
Rocky Linux에서 DNS를 확인하는 기본 흐름은 다음과 같습니다.
🌐 google.com ↓ 🔎 DNS 서버 ↓ 📍 IP 주소 반환 ↓ 🖥️ 실제 서버와 통신
실습에서 기억해야 할 명령어를 정리하면 다음과 같습니다.
# 1. 📄 DNS 설정 확인 cat /etc/resolv.conf # 2. 🔍 NetworkManager DNS 확인 nmcli dev show | grep DNS # 3. ⚙️ DNS 서버 적용 sudo nmcli device modify eth0 ipv4.dns "8.8.8.8" # 4. 🧰 DNS 조회 도구 설치 sudo dnf install -y bind-utils # 5. 🛰️ 자세한 DNS 조회 dig google.com # 6. 🔎 간단한 DNS 조회 host google.com
💡 핵심 포인트
- 🌐 DNS는 도메인 이름을 실제 통신에 필요한 IP 주소로 변환합니다.
- 📄
/etc/resolv.conf에서 현재 DNS 서버를 확인할 수 있습니다. - ⚙️
nmcli를 사용하면 NetworkManager가 관리하는 DNS 설정을 확인하거나 변경할 수 있습니다. - 🛰️
dig와host를 이용하면 DNS가 실제로 정상 동작하는지 직접 테스트할 수 있습니다.
🐧 명령어만 외우기보다는 도메인 → DNS 질의 → IP 주소 확인 → 서버 접속이라는 흐름을 이해하는 것이 핵심입니다.
추가적으로 리눅스 네트워크를 더 공부하고싶다면 네트워크 완전 정복을 참고하세요. https://reallinux.co.kr/course/se_network