본문 바로가기
초보 IT 동동 리눅스 이야기

리눅스 DNS 문제 해결법 총정리! 인터넷 안 될 때 이렇게 하세요!

by 동동이y 2025. 5. 13.
728x90
반응형

🌐 리눅스에서 DNS 문제? 해결하는 방법 전격 공개!

#리눅스DNS문제 #리눅스네트워크 #DNS설정 #ping명령어 #리눅스초보 #resolvconf #systemdresolve #리눅스인터넷안됨 #네트워크문제해결 #리눅스명령어정리

안녕하세요, 리눅스 초보든 고수든 모두 반가워요!
오늘은 정말 많은 분들이 겪는 골치 아픈 문제 하나! 바로 **“리눅스에서 DNS 문제”**에 대해 이야기해볼게요.

"인터넷은 케이블도 꽂혀 있고, 와이파이도 연결됐는데 왜 사이트가 안 열리지?"
그럴 때 가장 먼저 의심해야 할 게 바로 DNS 설정입니다!
잘못된 DNS 설정은 인터넷 연결을 아예 막아버릴 수도 있죠 😱

그럼 지금부터 DNS 문제의 원인부터 해결법까지! 완전 쉽게! 찐 실전 예제로 정리해볼게요! 🚀


🔍 DNS 문제의 전형적인 증상

먼저, DNS 문제가 있을 때 어떤 증상이 나타나는지 알아볼게요.

  • IP 주소로는 접속이 되는데, 도메인 이름으로는 접속이 안 됨
  • ping www.naver.com 안 됨! 그런데 ping 8.8.8.8은 됨
  • 웹 브라우저에서 사이트가 안 열리거나 느리게 뜸
  • apt update 등 패키지 명령어 오류 발생

"헉! 나도 이런 적 있었는데!" 하셨다면 DNS 문제일 가능성이 높아요 🔧


🛠️ 1단계 – DNS 작동 확인하기 (ping, dig, nslookup)

✅ ping 테스트로 DNS 문제 판별

bash
 
ping 8.8.8.8

이건 되는데...

bash
 
ping www.google.com

이건 안 되네? 그럼 DNS 설정에 문제가 있다는 뜻이에요!

✅ dig 명령어로 DNS 응답 확인

(설치가 안 되어 있다면 sudo apt install dnsutils)

bash
 
dig www.naver.com
  • "connection timed out" 이라면 DNS가 응답을 못 받고 있는 거예요.

✅ nslookup 도 괜찮은 방법

bash
 
nslookup google.com
  • 네임서버 정보와 응답이 제대로 나오는지 확인할 수 있어요.

이렇게 진단만 잘해도 반은 해결한 거나 마찬가지! 🙌


📁 2단계 – resolv.conf 파일 점검

(#resolvconf)

리눅스 시스템에서는 /etc/resolv.conf 파일이 DNS 정보를 담고 있어요.
여기에는 어떤 nameserver가 설정되어 있는지 나옵니다.

bash
 
cat /etc/resolv.conf

정상적인 경우:

nginx
 
nameserver 8.8.8.8 nameserver 1.1.1.1
  • 비어 있거나 잘못된 IP가 있으면? 당연히 DNS 작동 안 하겠죠!

Tip: 1.1.1.1(Cloudflare), 8.8.8.8(Google DNS)는 전 세계적으로 빠르고 안정적인 공개 DNS입니다.


⚙️ 3단계 – DNS 설정 수정하기 (영구 적용 포함!)

파일을 직접 수정하려면 아래 명령어로 진행할 수 있어요.

bash
 
sudo nano /etc/resolv.conf

하지만!! 문제는… 이 파일은 재부팅이나 네트워크 재시작 시에 초기화되는 경우가 많아요 😱

그래서 우리는 NetworkManager 또는 systemd-resolved를 통해 영구 설정을 해야 합니다!


📦 4단계 – systemd-resolved 환경에서의 설정 방법

(#systemdresolve)

먼저 systemd-resolved가 사용 중인지 확인:

bash
 
systemctl is-active systemd-resolved

활성화되어 있다면, /etc/systemd/resolved.conf 파일을 수정합니다:

bash
 
sudo nano /etc/systemd/resolved.conf

예시:

ini
 
[Resolve] DNS=8.8.8.8 1.1.1.1 FallbackDNS=9.9.9.9

그리고 아래 명령어로 적용!

bash
 
sudo systemctl restart systemd-resolved

그 후엔 /etc/resolv.conf가 /run/systemd/resolve/resolv.conf 링크를 제대로 가리키는지 확인해야 해요.


📡 5단계 – NetworkManager 사용 시 DNS 설정하기

(#DNS설정 #리눅스네트워크)

GUI 환경이거나 Ubuntu 계열에서 NetworkManager를 사용한다면 nmcli로 설정 가능합니다.

bash
 
nmcli device show

어떤 인터페이스에 설정할지 확인 후:

bash
 
nmcli con mod "인터페이스 이름" ipv4.dns "8.8.8.8 1.1.1.1" nmcli con up "인터페이스 이름"

이렇게 하면 재부팅 후에도 유지되는 영구 DNS 설정 완성! 🎉


💥 6단계 – 캐시 초기화, 리프레시까지!

DNS 변경 후에도 반영이 안 되는 경우가 있어요. 이럴 땐 캐시를 날려야죠!

bash
 
sudo systemd-resolve --flush-caches

또는

bash
 
sudo resolvectl flush-caches

아주 상쾌하게 DNS 문제를 초기화시켜줍니다 😎


❗ 그 외 자주 발생하는 DNS 관련 문제

증상                                                                      해결법
/etc/resolv.conf 자동 초기화됨 systemd-resolved or NetworkManager 설정 필요
특정 사이트만 안 됨 DNS 캐시 초기화, 다른 DNS로 변경
갑자기 DNS 먹통 공유기 문제일 수 있음 (공유기 재부팅도 고려!)
ping은 되는데 apt 안 됨 프록시 또는 내부 DNS 오류 가능
 

🙌 마무리하며… 리눅스 DNS 문제, 이제 걱정 끝!

어떠셨나요? 복잡해 보이던 DNS 문제도 차근차근 따라가니 훨씬 쉬워졌죠?
리눅스 초보라도 DNS 문제를 이렇게 뚝딱 해결할 수 있습니다! 💪

오늘 배운 resolv.conf, systemd-resolve, nmcli, ping, dig 등의 명령어는
정말 실전에서 유용하게 쓰이니 꼭 익혀두세요!

그리고 마지막으로… DNS 문제 해결했다고, 갑자기 웹 브라우저가 "팍!" 열리면 진짜 속이 뻥 뚫리죠?! 😆
앞으로도 #리눅스명령어정리 시리즈로 계속 유용한 꿀팁 전해드릴게요! 감사합니다!

728x90
반응형

댓글