Trong khi sử dụng Linux, bạn có thể gặp phải lỗi tạm thời về lỗi phân giải tên khi cố gắng truy cập trang web, cập nhật gói hoặc thực thi các tác vụ yêu cầu kết nối Internet. Lỗi này cho biết hệ thống của bạn không thể phân giải tên miền thành địa chỉ IP, khiến các hoạt động mạng không thể hoàn tất thành công.
Sự cố này thường xuất phát từ sự cố kết nối internet hoặc sự cố cấu hình DNS. Việc khắc phục sự cố và sửa lỗi này rất đơn giản và trực tiếp. Trong hướng dẫn này, chúng tôi sẽ giải thích mọi thứ bạn cần biết về cách giải quyết lỗi này trên các bản phân phối Linux khác nhau. Chúng tôi sẽ đề cập đến các bản sửa lỗi cụ thể cho Ubuntu 22.04 và 24.04.
Thất bại tạm thời trong việc phân giải tên có nghĩa là gì?
Lỗi tạm thời trong việc phân giải tên sẽ ngăn hệ thống Linux của bạn kết nối Internet đúng cách. Khi điều này xảy ra, bạn không thể truy cập các trang web hoặc sử dụng các ứng dụng yêu cầu kết nối Internet đang hoạt động.
Nó hoạt động như một lỗi chung “thử lại” đối với DNS. Việc tra cứu không thành công ở đâu đó trong chuỗi, có thể là trục trặc cục bộ, hết thời gian chờ ngược dòng hoặc sự cố xác thực.
Bạn thường thấy lỗi này khi cố gắng ping một trang web:

ping google.com
ping: google.com: Temporary failure in name resolution
Cách khắc phục lỗi tạm thời trong việc phân giải tên
Có nhiều cách tiếp cận để giải quyết lỗi này tùy thuộc vào nguyên nhân gốc rễ của nó. Hãy cùng khám phá các giải pháp chính.
Giải pháp 1: Kiểm tra kết nối Internet
Kiểm tra bộ định tuyến và phần cứng mạng của bạn để đảm bảo mọi thứ được thiết lập chính xác. Hãy thử mở các ứng dụng khác để xác nhận rằng bạn có thể thiết lập kết nối internet thông qua chúng.
Bạn có thể kiểm tra kết nối cơ bản bằng cách ping trực tiếp địa chỉ IP:
ping -c 4 8.8.8.8
Lệnh này gửi bốn gói đến máy chủ DNS công cộng của Google. Nếu bạn nhận được phản hồi, kết nối internet của bạn đang hoạt động.
Nếu bạn thấy “Đã hết thời gian yêu cầu” hoặc “Không thể truy cập mạng”, thì bạn đang gặp sự cố kết nối chung không liên quan đến DNS.

Nếu ứng dụng kết nối Internet thành công, hãy chuyển sang giải pháp tiếp theo.
Giải pháp 2: Tệp resolv.conf bị định cấu hình sai
các /etc/resolv.conf tập tin liệt kê các máy chủ DNS mà hệ thống của bạn sử dụng. Nếu tệp này chứa địa chỉ IP sai, bạn không thể kết nối với các trang web.
Trên nhiều hệ thống Ubuntu, tệp này là liên kết đến tệp động được quản lý bởi systemd-resolved. Nó thường chứa cảnh báo: “Không chỉnh sửa”. Tuy nhiên, nếu bạn chỉnh sửa trực tiếp tệp này, các thay đổi của bạn có thể chỉ kéo dài vài phút. Hệ thống sẽ ghi đè chúng khi cập nhật cài đặt mạng hoặc khởi động lại.
Trước khi định cấu hình cài đặt DNS, hãy đảm bảo người dùng hệ thống của bạn có đặc quyền quản trị. Tìm hiểu cách thêm người dùng vào sudoers nếu cần.
Kiểm tra cấu hình DNS hiện tại
Kiểm tra cài đặt DNS của bạn mà không thay đổi chúng trước:
cat /etc/resolv.conf
Nếu bạn không thấy máy chủ tên hợp lệ thì bạn đã tìm ra vấn đề.
Kiểm tra tạm thời
Bạn có thể thêm máy chủ DNS của Google để kiểm tra nhanh.
nameserver 8.8.8.8
nameserver 8.8.4.4
Ngoài ra, bạn có thể sử dụng máy chủ DNS của Cloudflare:
nameserver 1.1.1.1
nameserver 1.0.0.1
Dưới đây là so sánh các máy chủ DNS công cộng phổ biến:

| Nhà cung cấp DNS | DNS chính | DNS phụ | Các tính năng chính |
| DNS của Google | 8.8.8.8 | 8.8.4.4 | Tính sẵn sàng cao, phủ sóng toàn cầu |
| Đám mây bùng phát | 1.1.1.1 | 1.0.0.1 | Tập trung vào quyền riêng tư, không ghi nhật ký IP |
| Quad9 | 9.9.9.9 | 149.112.112.112 | Chặn các miền độc hại đã biết |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | Bảo vệ lừa đảo, lọc nội dung |
Nhưng điều này không phải là vĩnh viễn. Hệ thống sẽ xóa những thay đổi này. Để khắc phục lâu dài trên Ubuntu, bạn phải định cấu hình đã được giải quyết bằng systemd hoặc Netplan. Chúng tôi đề cập đến các bước đó trong các phần cụ thể bên dưới.
Xác minh trạng thái dịch vụ được giải quyết bằng Systemd.
Nếu máy chủ tên của bạn trông chính xác nhưng độ phân giải vẫn không thành công, hãy kiểm tra đã được giải quyết bằng systemd dịch vụ. Dịch vụ này quản lý việc tra cứu DNS cục bộ trên hầu hết các hệ thống Linux hiện đại. Sử dụng lệnh này để xem nó có đang chạy không: trạng thái sudo systemctl systemd-đã giải quyết
Nếu đầu ra hiển thị dịch vụ không hoạt động, bạn có thể khởi động nó ngay lập tức.
sudo systemctl bắt đầu systemd-đã giải quyết
Bước này là điều cần phải biết đối với người dùng Ubuntu vì việc gián đoạn dịch vụ thường gây ra lỗi phân giải tên.
Giải pháp 3: Hạn chế tường lửa
Tường lửa bảo vệ hệ thống Linux của bạn khỏi phần mềm độc hại và các mối đe dọa bảo mật. Tuy nhiên, cấu hình tường lửa không đúng có thể chặn các yêu cầu DNS, gây ra lỗi phân giải tên.
Một phương pháp chẩn đoán là tạm thời vô hiệu hóa tường lửa và phần mềm bảo mật để xác định xem chúng có gây ra sự cố hay không. Nếu việc tắt tường lửa giải quyết được sự cố, bạn cần phải cấu hình lại cài đặt tường lửa của mình.
Cấu hình tường lửa UFW
Hầu hết các bản phân phối Debian và Ubuntu đều sử dụng Tường lửa UFW. Bạn phải cho phép lưu lượng DNS trên Cổng 53 (cả UDP và TCP):
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
DNS dựa vào UDP cho các truy vấn tiêu chuẩn và TCP để truyền tải lớn hơn.
Sau khi mở các cổng này, hãy tải lại UFW để áp dụng các thay đổi:

sudo ufw tải lại
Cấu hình tường lửa
Đối với các hệ thống dựa trên CentOS và Red Hat sử dụng tường lửa, hãy mở các cổng cần thiết:
sudo firewall-cmd --add-port=53/udp --permanent
sudo firewall-cmd --add-port=53/tcp --permanent
Tải lại tường lửa để áp dụng các thay đổi:
sudo firewall-cmd --reload
Giải pháp 4: Xóa bộ đệm DNS
Bộ đệm DNS lưu trữ địa chỉ IP cục bộ để tăng tốc độ tra cứu trong tương lai. Tuy nhiên, dữ liệu bộ đệm DNS lỗi thời hoặc bị hỏng có thể ngăn bạn truy cập các trang web đã thay đổi tên miền hoặc nhà cung cấp dịch vụ lưu trữ, gây ra lỗi tạm thời về lỗi phân giải tên.
Bạn chỉ xóa bộ đệm DNS khi bạn muốn buộc hệ thống yêu cầu dữ liệu mới. Hãy sử dụng bước này khi bạn gặp lỗi về độ phân giải.

Xác định dịch vụ DNS của bạn
Các dịch vụ khác nhau tùy theo cài đặt. Kiểm tra xem cái nào đang chạy để tránh lỗi “không tìm thấy đơn vị”:
sudo systemctl is-active nscd
sudo systemctl is-active dnsmasq
Xóa nscd
If nscd đang hoạt động, hãy khởi động lại nó:
sudo systemctl restart nscd.service
Xóa dnsmasq
If dnsmasq đang hoạt động, hãy khởi động lại nó:
sudo systemctl restart dnsmasq.service
Xóa bộ nhớ cache trên Ubuntu (đã được giải quyết bằng systemd)
Đối với các hệ thống sử dụng độ phân giải systemd:
sudo systemctl restart systemd-resolved.service
Hoặc sử dụng lệnh Resolvectl:
sudo resolvectl flush-caches
Hiểu độ phân giải tên
Khi bạn nhập địa chỉ trang web như cloudzy.com, máy tính của bạn phải chuyển đổi miền mà con người có thể đọc được này thành địa chỉ IP (chẳng hạn như 172.66.40.212) để định vị trang web trên internet. Quá trình chuyển đổi này được gọi là phân giải tên và máy chủ DNS xử lý nó.
Lỗi tạm thời trong việc phân giải tên xảy ra khi hệ thống Linux của bạn không liên lạc được với máy chủ DNS để lấy địa chỉ IP tương ứng cho một trang web. Việc chỉ định "tạm thời" cho thấy đây không nhất thiết là sự cố vĩnh viễn. Thông thường, nguyên nhân là do sự cố về cấu hình hoặc kết nối có thể giải quyết được.
Máy chủ DNS dịch tên miền thành địa chỉ IP mà máy tính sử dụng để liên lạc. Xử lý DNS công cộng của Google hơn một nghìn tỷ truy vấn hàng ngày, minh họa cho quy mô của dịch vụ internet quan trọng này.
Tương tự, trình phân giải 1.1.1.1 của Cloudflare xử lý gần 2 nghìn tỷ truy vấn hàng ngày. Khối lượng này chứng minh rằng DNS là chìa khóa của internet.
Nguyên nhân gây ra lỗi tạm thời trong việc phân giải tên?
Xác định nguyên nhân cốt lõi là bước đầu tiên để khắc phục lỗi tạm thời của Ubuntu về lỗi phân giải tên. Một số yếu tố có thể gây ra vấn đề này.

Sự cố kết nối Internet
Kết nối Internet chậm hoặc bị mất thường là thủ phạm chính. Trước khi đi sâu vào xử lý sự cố phức tạp, hãy xác minh kết nối Internet của bạn có hoạt động bình thường không.
Sự cố về cấu hình DNS
Lỗi cấu hình DNS là một trong những nguyên nhân phổ biến nhất gây ra lỗi này:
- Máy chủ DNS không phản hồi: Các máy chủ DNS mà hệ thống của bạn cố gắng truy cập có thể không khả dụng
- Độ phân giải DNS bị định cấu hình sai: Cơ chế phân giải DNS có thể được cấu hình không đúng
- Bộ đệm DNS lỗi thời: Các mục trong bộ đệm DNS cũ hoặc bị hỏng có thể ngăn cản độ phân giải thích hợp
Hạn chế của tường lửa
Cấu hình tường lửa có thể chặn các yêu cầu DNS ngay cả khi được cấu hình đúng cách. Truy vấn DNS sử dụng Cảng 53và nếu tường lửa của bạn chặn cổng này, việc phân giải tên sẽ không thành công.
Cổng 53 xử lý cả giao thức UDP và TCP. DNS thường sử dụng Cổng UDP 53 cho các truy vấn tiêu chuẩn vì cổng này nhanh hơn. Cổng TCP 53 được sử dụng để chuyển vùng và các truy vấn lớn hơn vượt quá giới hạn kích thước của UDP.
Sự cố cấu hình dịch vụ
Dịch vụ được giải quyết theo hệ thống, quản lý độ phân giải DNS trong các bản phân phối Linux hiện đại, có thể bị dừng, vô hiệu hóa hoặc bị định cấu hình sai. Dịch vụ này cung cấp độ phân giải DNS cho tất cả các ứng dụng trên hệ thống của bạn.
Lỗi tạm thời về độ phân giải tên Ubuntu 22.04
Ubuntu 22.04 LTS đã giới thiệu những thay đổi về quản lý mạng có thể gây ra sự cố về độ phân giải DNS, đặc biệt là sau khi nâng cấp hệ thống. Người dùng có thể gặp phải tình trạng Ubuntu không thể phân giải máy chủ, lỗi tạm thời về lỗi phân giải tên thường xuyên hơn trên phiên bản này.
Các vấn đề phổ biến về Ubuntu 22.04
Người dùng nâng cấp từ Ubuntu 20.04 lên 22.04 thường xuyên báo cáo lỗi phân giải DNS. Lỗi tạm thời của Ubuntu 22.04 trong vấn đề phân giải tên thường xuất phát từ cấu hình sai dịch vụ được giải quyết bằng systemd xảy ra trong quá trình nâng cấp.
Bản sửa lỗi cụ thể của Ubuntu 22.04
Nếu bạn gặp sự cố DNS dai dẳng trên Ubuntu 22.04, hãy làm theo các bước sau:
Trước tiên, hãy xác minh rằng các dịch vụ mạng systemd đã được bật đúng cách:
sudo systemctl unmask systemd-networkd.service
sudo systemctl unmask systemd-resolved.service
Kiểm tra trạng thái của systemd đã được giải quyết:

sudo systemctl status systemd-resolved.service
Nếu dịch vụ không hoạt động, hãy khởi động nó:
sudo systemctl start systemd-resolved.service
sudo systemctl enable systemd-resolved.service
Xác minh liên kết tượng trưng /etc/resolv.conf của bạn trỏ đến đúng vị trí:
ls -l /etc/resolv.conf
Các liên kết cấu hình được đề xuất tới trình phân giải sơ khai:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Kiểm tra bản sửa lỗi
Sau khi thực hiện những thay đổi này, hãy kiểm tra độ phân giải DNS:
resolvectl status
Lệnh này hiển thị cấu hình DNS hiện tại của bạn. Nó cũng xác nhận systemd-resolved đang quản lý DNS đúng cách.
Ubuntu 24.04 Lỗi tạm thời trong việc phân giải tên
Ubuntu 24.04 LTS, bản phát hành hỗ trợ dài hạn mới nhất, sử dụng systemd 255 và bao gồm các thành phần quản lý mạng được cập nhật. Mặc dù ổn định hơn các phiên bản trước nhưng các sự cố DNS cụ thể vẫn có thể xảy ra.
Quản trị viên từ xa thường gặp phải lỗi “SSH không thể giải quyết tên máy chủ”. Điều này kích hoạt khi trình phân giải sơ khai hệ thống tại 127.0.0.53 thất bại. Vì SSH dựa vào dịch vụ cục bộ này để dịch tên nên đã dừng đã được giải quyết bằng systemd quá trình chặn tất cả các nỗ lực kết nối dựa trên tên miền ngay lập tức.
Cấu hình DNS Ubuntu 24.04
Ubuntu 24.04 phụ thuộc rất nhiều vào systemd-resolve để quản lý DNS. Trình nghe sơ khai trên 127.0.0.53 xử lý các truy vấn DNS cho hệ thống.
Khắc phục sự cố DNS trong Ubuntu 24.04
Nếu bạn gặp lỗi phân giải tên trên Ubuntu 24.04, hãy kiểm tra xem systemd-resolved có đang chạy không:
sudo systemctl status systemd-resolved
Xác minh cấu hình DNS bằng Resolvectl:
resolvectl status
Điều này hiển thị thông tin máy chủ tên và cấu hình DNS cho từng giao diện mạng.
Cấu hình Netplan Ubuntu 24.04
Ubuntu 24.04 sử dụng Netplan để cấu hình mạng. Cài đặt tên tệp và trình kết xuất phụ thuộc vào việc bạn sử dụng phiên bản Máy chủ hay Máy tính để bàn.
Đầu tiên, xác định tệp cấu hình của bạn:
ls /etc/netplan/
Chỉnh sửa tập tin bạn tìm thấy (thường 50-cloud-init.yaml or 00-installer-config.yaml):
sudo nano /etc/netplan/YOUR_FILE_NAME.yaml
Xác minh cài đặt DNS của bạn. Ghi chú: Máy chủ thường sử dụng mạng, trong khi cài đặt trên Máy tính để bàn sử dụng Trình quản lý mạng. Kiểm tra tên giao diện của bạn (ví dụ: eth0 or ens3) sử dụng địa chỉ ip trước khi chỉnh sửa.
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Áp dụng cấu hình:

sudo netplan apply
Các vấn đề về trình nghe sơ khai
Một số ứng dụng có thể xung đột với trình nghe sơ khai của systemd-resolved trên cổng 53. Nếu bạn cần tắt trình nghe sơ khai:
sudo mkdir -p /etc/systemd/resolved.conf.d/
Tạo một tập tin cấu hình:
echo -e "[Resolve]\nDNSStubListener=no" | sudo tee /etc/systemd/resolved.conf.d/noresolved.conf
Khởi động lại systemd-đã giải quyết:
sudo systemctl restart systemd-resolved.service
Mẹo khắc phục sự cố bổ sung
Nếu lỗi vẫn tiếp diễn, hãy sử dụng các công cụ này để cách ly sự cố. Bạn cần xác định xem sự cố xuất phát từ kết nối mạng, chính máy chủ DNS hay do xung đột tệp cục bộ.
Xác minh khả năng truy cập máy chủ DNS
Bạn nên kiểm tra xem hệ thống của bạn có thể truy cập các máy chủ DNS cụ thể được liệt kê trong cấu hình của bạn hay không. Sử dụng ping lệnh theo sau là địa chỉ IP của máy chủ tên chính của bạn:
ping -c 4 <your_dns_server_ip>
Nếu điều này không thành công, bạn có vấn đề về kết nối mạng.
Kiểm tra tập tin /etc/hosts
Tệp /etc/hosts có thể ghi đè tra cứu DNS. Các mục nhập không chính xác ở đây có thể gây ra lỗi giải quyết:
sudo nano /etc/hosts
Xác minh nó chứa tối thiểu:
127.0.0.1 máy chủ cục bộ
127.0.1.1 tên máy chủ của bạn
Sử dụng Dig cho Chẩn đoán DNS
Lệnh dig giúp chẩn đoán các sự cố DNS:
dig google.com
Điều này hiển thị thông tin truy vấn DNS chi tiết, bao gồm máy chủ tên nào đã phản hồi và thời gian thực hiện truy vấn.

Kiểm tra cấu hình giao diện mạng
Xác minh giao diện mạng của bạn được cấu hình đúng:
ip addr show
Đảm bảo giao diện mạng chính của bạn được chỉ định địa chỉ IP.
Ngăn chặn các sự cố DNS trong tương lai
Việc sửa lỗi ngay lập tức sẽ khôi phục quyền truy cập nhưng bạn cần thiết lập linh hoạt để ngăn lỗi quay trở lại. Những biện pháp này sẽ đưa tính dự phòng vào cấu hình mạng của bạn để hệ thống xử lý các sự cố kết nối nhỏ mà không làm mất độ phân giải tên.
Độ tin cậy của mạng phụ thuộc vào chất lượng phần cứng. Mây của chúng tôi VPS Linux chạy trên bộ xử lý AMD Ryzen 9 tần số cao và kết nối 40 Gbps. Tốc độ thô này giảm thiểu độ trễ và thời gian chờ thường gây ra lỗi độ phân giải, đảm bảo ứng dụng của bạn vẫn có thể truy cập được.
Sử dụng máy chủ DNS đáng tin cậy
Bạn nên định cấu hình nhiều máy chủ tên thông qua Netplan hoặc đã được giải quyết bằng systemd thay vì chỉnh sửa /etc/resolv.conf trực tiếp; điều này là để các cài đặt của bạn vẫn được duy trì sau khi khởi động lại. Thêm IP phụ như 1.1.1.1 or 8.8.4.4 tạo ra sự dư thừa nếu nhà cung cấp chính của bạn không thành công.
Giám sát cập nhật hệ thống
Cấu hình DNS có thể thay đổi sau khi cập nhật hệ thống. Sau khi cập nhật bản phân phối Linux của bạn, hãy xác minh độ phân giải DNS vẫn hoạt động chính xác.
Ghi lại cấu hình của bạn
Lưu giữ hồ sơ cấu hình DNS của bạn, đặc biệt nếu bạn sử dụng máy chủ DNS tùy chỉnh. Điều này làm cho việc khắc phục sự cố dễ dàng hơn nếu có vấn đề phát sinh.
Tránh xả nước thường xuyên
Không xóa bộ đệm DNS như một phần của lịch trình hàng ngày. Điều này sẽ loại bỏ dữ liệu hợp lệ và làm chậm quá trình duyệt web của bạn.
Chỉ xóa bộ đệm trong hai trường hợp cụ thể:
- Bạn đã thay đổi nhà cung cấp DNS của mình (ví dụ: chuyển từ ISP sang DNS của Google).
- Một trang web đã được chuyển sang máy chủ mới và bạn không thể truy cập được.
Phần kết luận
Lỗi tạm thời về lỗi phân giải tên trong hệ thống Linux thường xuất phát từ sự cố kết nối Internet, sự cố cấu hình DNS, hạn chế tường lửa hoặc hỏng bộ đệm DNS. Bằng cách thực hiện một cách có hệ thống các giải pháp trong hướng dẫn này, bạn có thể xác định và khắc phục nguyên nhân cụ thể ảnh hưởng đến hệ thống của mình.
Người dùng Ubuntu 22.04 và 24.04 phải ưu tiên đã được giải quyết bằng systemd cấu hình. Vì dịch vụ này quản lý tất cả các truy vấn DNS nên một cấu hình sai sẽ chặn các bản cập nhật gói và kết nối bên ngoài. Xác minh rằng dịch vụ đang hoạt động và được liên kết chính xác. Thiết lập DNS ổn định cho phép VPS Linux của bạn thực hiện các tác vụ mạng mà không bị gián đoạn.