Sửa lỗi Temporary failure in name resolution trên Linux

Sửa lỗi Temporary failure in name resolution trên Linux

Trong bài viết này mình sẽ giúp các bạn xử lý lỗi Temporary failure in name resolution trên Linux một cách đơn giản, dễ hiểu và chi tiết nhất.

I. Nguyên nhân dẫn đến lỗi Temporary failure in name resolution trên Linux

Nguyên nhân dẫn đến lỗi này thường là do máy chủ của bạn chưa được cấu hình DNS hoặc do các máy chủ DNS đang được cấu hình gặp sự cố. Hoặc hy hữu hơn là máy chủ của bạn đang cấu hình DNS quốc tế, nhưng đường truyền quốc tế đang gặp trục trặc.

Từ đó dẫn đến máy chủ của các bạn không thể phân giải được tên miền.

Temporary failure in name resolution Linux - Sửa lỗi Temporary failure in name resolution trên Linux
Lỗi Temporary failure in name resolution trên Linux.

II. Cách xử lý lỗi Temporary failure in name resolution trên Linux

Để xử lý lỗi Temporary failure in name resolution trên Linux thì chúng ta sẽ thực hiện theo 2 bước sau.

Bước 1 – SSH/đăng nhập vào máy chủ của các bạn

Các bạn sẽ cần SSH/đăng nhập vào máy chủ của mình với quyền root hoặc quyền user nào đó có thể sử dụng sudo.

Bước 2 – Một số giải pháp sửa lỗi Temporary failure in name resolution trên Linux

Sẽ có rất nhiều giải pháp cho các bạn, tuy nhiên ở đây mình sẽ liệt kê những giải pháp tốt nhất mà bạn nên sử dụng.

Giải pháp 1 – Sử dụng DNS của Cloudflare (Nên sử dụng nhất)

Nếu các bạn chưa biết thì Cloudflare đang là dịch vụ recursive DNS nhanh nhất. Nên giải pháp này mình đề xuất nên sử dụng nhất.

Ngoài ra khi bạn sử dụng dịch vụ recursive DNS của Cloudflare thì khi người dùng cập nhật các bản ghi mới thì máy chủ này cũng sẽ được cập nhật gần như ngay lập tức.

Dưới đây là danh sách các IP thuộc dịch vụ recursive DNS của Cloudflare:

#IPv4
1.1.1.1
1.0.0.1
#IPv6
2606:4700:4700::1111
2606:4700:4700::1001

Để máy chủ CentOS/RHEL của chúng ta sử dụng DNS của Cloudflare và không còn gặp lỗi Temporary failure in name resolution trên thì chúng ta chỉ cần chạy 2 lệnh sau (hoặc 1 cũng được):

sudo sh -c "echo nameserver 1.1.1.1 > /etc/resolv.conf"
sudo sh -c "echo nameserver 1.0.0.1 >> /etc/resolv.conf"

Sau đó các bạn có thể thử lại xem vấn đề của mình đã được giải quyết chưa nhé.

Temporary failure in name resolution Linux - Sửa lỗi Temporary failure in name resolution trên Linux
Temporary failure in name resolution trên Linux đã được giải quyết chỉ với 1 lệnh.

Giải pháp 2 – Sử dụng DNS của Cisco OpenDNS

Với Cisco OpenDNS hay còn gọi tắt là OpenDNS thì đây là dịch vụ recursive DNS mình đánh giá tốt đứng sau Cloudflare.

Dưới đây là danh sách các IP thuộc dịch vụ recursive DNS của Cisco OpenDNS:

208.67.222.222
208.67.220.220

Để máy chủ CentOS/RHEL của chúng ta sử dụng DNS của Cisco OpenDNS và không còn gặp lỗi Temporary failure in name resolution thì chúng ta chỉ cần chạy 2 lệnh sau:

sudo sh -c "echo nameserver 208.67.222.222 > /etc/resolv.conf"
sudo sh -c "echo nameserver 208.67.220.220 >> /etc/resolv.conf"

Giải pháp 3 – Sử dụng DNS của Google

Đây có lẽ là giải pháp mà chúng ta vẫn thường sử dụng nhiều nhất ngày trước vào Facebook bị chậm hoặc bị chặn.

Dưới đây là danh sách các IP thuộc dịch vụ recursive DNS của Google DNS:

8.8.8.8
8.8.4.4

Để máy chủ CentOS/RHEL của chúng ta sử dụng DNS của Google DNS và không còn gặp lỗi Temporary failure in name resolution thì chúng ta chỉ cần chạy 2 lệnh sau (hoặc 1 cũng được):

sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"
sudo sh -c "echo nameserver 8.8.4.4 >> /etc/resolv.conf"

Giải pháp 4 – Sử dụng DNS của nhà mạng tại Việt Nam

Đây là giải pháp mình khuyến khích không nên sử dụng nhất, bởi vì thông thường các máy chủ recursive DNS tại Việt Nam không có nhiều công nghệ cũng như thời gian cập nhật các bản ghi mới không nhanh bằng các giải pháp ở trên.

Tuy nhiên các máy chủ recursive DNS tại Việt Nam vẫn có giá trị riêng khi mà máy chủ Linux của các bạn bị chặn truy cập quốc tế.

Và để sử dụng giải pháp này tối ưu nhất thì chúng ta sẽ sử dụng kết hợp với giải pháp đầu tiên nhé. Dưới đây là những lệnh mà chúng ta cần thực hiện:

Sử dụng recursive DNS nhà mạng FPT:
sudo sh -c "echo nameserver 1.1.1.1 > /etc/resolv.conf"
sudo sh -c "echo nameserver 210.245.24.20 >> /etc/resolv.conf"
sudo sh -c "echo nameserver 210.245.24.22 >> /etc/resolv.conf"
sudo sh -c "echo options timeout:3 >> /etc/resolv.conf"

Tùy chọn options timeout:3 trong tệp tin /etc/resolv.conf sẽ cấu hình khoảng thời gian mà tiến trình phân giải sẽ đợi phản hồi từ máy chủ recursive DNS trước khi thử lại truy vấn thông qua một máy chủ recursive DNS khác.

Giải thích thêm: Khi cấu hình thế này thì nếu máy chủ của bạn thực hiện truy vấn đến máy chủ Cloudflare 1.1.1.1 nhưng nếu không nhận được phản hồi thì sau 3 giây, máy chủ sẽ thử lại truy vấn với các máy chủ tiếp theo là 210.245.24.20210.245.24.22.

Sử dụng recursive DNS nhà mạng Viettel:

Tương tự với thì đây là các lệnh mà bạn cần khi sử dụng recursive DNS nhà mạng Viettel.

sudo sh -c "echo nameserver 1.1.1.1 > /etc/resolv.conf"
sudo sh -c "echo nameserver 203.113.131.1 >> /etc/resolv.conf"
sudo sh -c "echo nameserver 203.113.131.2 >> /etc/resolv.conf"
sudo sh -c "echo options timeout:3 >> /etc/resolv.conf"
Sử dụng recursive DNS nhà mạng VNPT:

Tương tự với thì đây là các lệnh mà bạn cần khi sử dụng recursive DNS nhà mạng VNPT.

sudo sh -c "echo nameserver 1.1.1.1 > /etc/resolv.conf"
sudo sh -c "echo nameserver 203.162.4.190 >> /etc/resolv.conf"
sudo sh -c "echo nameserver 203.162.4.191 >> /etc/resolv.conf"
sudo sh -c "echo options timeout:3 >> /etc/resolv.conf"

III. Tổng kết

Hy vọng qua bài viết này các bạn sẽ giải quyết được vấn đề Temporary failure in name resolution trên Linux. của các bạn đang mắc phải.

Cũng như bài viết sẽ mang lại thêm cho các bạn những giải pháp tối ưu hơn cho những trường hợp đặc biệt hơn trong tương lai.

Xem thêm:

Nếu có góp ý hay bất cứ thắc mắc nào gì về bài viết này thì các bạn hãy để lại bình luận ở khung bình luận bên dưới nhé. Bảo sẽ cố gắn giải đáp hết tất cả các thắc mắc của các bạn.

Leave a Comment

Leave a Reply

Your email address will not be published.