Cách cấu hình DNS trong Ubuntu Debian Linux

Tác giả NetworkEngineer, T.Bảy 08, 2020, 05:05:20 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách cấu hình DNS trong Ubuntu Debian Linux


Tập tin /etc/resolv.conf là tập tin cấu hình chính cho thư viện chương trình phân giải tên miền DNS. Dịch vụ resolver là một tập hợp các hàm trong thư viện C cung cấp quyền truy cập vào Internet Domain Name System (DNS). Các chức năng được cấu hình để kiểm tra các mục trong tập tin /etc/hosts hoặc một số máy chủ tên miền DNS hoặc để sử dụng cơ sở dữ liệu Network Information Service (NIS).

Trên các hệ thống Linux hiện đại sử dụng systemd (chương trình quản lý dịch vụ và hệ thống), các dịch vụ phân giải tên hoặc DNS được cung cấp cho các ứng dụng cục bộ thông qua dịch vụ systemd-resolved. Theo mặc định, dịch vụ này có bốn chế độ khác nhau để xử lý phân giải Tên miền và sử dụng tập tin DNS của systemd (/run/systemd/resolve/stub-resolv.conf) trong chế độ hoạt động mặc định.

Tập tin DNS chứa tập tin gốc cục bộ 127.0.0.53 là máy chủ DNS duy nhất và được chuyển hướng đến tập tin /etc/resolv.conf được sử dụng để thêm các máy chủ tên miền được sử dụng bởi hệ thống.

Nếu bạn chạy lệnh ls sau trên tập tin /etc/resolv.conf, bạn sẽ thấy tập tin này là một liên kết tượng trưng đến tập tin /run/systemd/resolve/stub-resolv.conf.

Mã nguồn [Chọn]
ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Thật không may, vì /etc/resolv.conf được quản lý gián tiếp bởi dịch vụ systemd-resolved và trong một số trường hợp bởi dịch vụ mạng initscripts hoặc NetworkManager, mọi thay đổi được thực hiện thủ công bởi người dùng không thể được lưu vĩnh viễn hoặc chỉ kéo dài trong một thời gian.

Trong bài viết này, chúng tôi sẽ trình bày cách cài đặt và sử dụng chương trình phân giải để đặt máy chủ tên miền DNS vĩnh viễn trong tập tin /etc/resolv.conf trong bản phân phối Debian và Ubuntu Linux.

1. Tại sao bạn muốn chỉnh sửa tập tin /etc/resolv.conf?

Lý do chính có thể là do cài đặt DNS của hệ thống bị cấu hình sai hoặc bạn muốn sử dụng các máy chủ tên miền cụ thể hoặc của riêng bạn. Lệnh cat sau đây hiển thị máy chủ tên miền mặc định trong tập tin /etc/resolv.conf trên hệ thống Ubuntu của tôi.

Mã nguồn [Chọn]
cat /etc/resolv.conf

Trong trường hợp này, khi các ứng dụng cục bộ như chương trình quản lý gói APT cố gắng truy cập Fully Qualified Domain Names trên mạng cục bộ, kết quả là Temporary failure in name resolution.


Vì vậy, khi người dùng cố gắng đặt thủ công các NameServers, các thay đổi sẽ không tồn tại lâu hoặc bị thu hồi sau khi khởi động lại. Để giải quyết vấn đề này, bạn có thể cài đặt và sử dụng tiện ích reolvconf để thay đổi vĩnh viễn.

Để cài đặt gói giải quyết như được hiển thị trong phần tiếp theo, trước hết bạn cần đặt thủ công các NameServers sau trong tập tin /etc/resolv.conf để bạn truy cập FQDM của máy chủ kho lưu trữ Ubuntu trên internet.

Mã nguồn [Chọn]
nameserver 8.8.4.4
nameserver 8.8.8.8

2. Cài đặt dịch vụ resolvconf trong Ubuntu và Debian

Đầu tiên, cập nhật các gói phần mềm hệ thống và sau đó cài đặt dịch vụ resolvconf từ kho chính thức bằng cách chạy các lệnh sau.

Mã nguồn [Chọn]
sudo apt update
sudo apt install resolvconf

Khi quá trình cài đặt dịch vụ resolvconf hoàn tất, systemd sẽ kích hoạt dịch vụ resolvconf.service tự động khởi động. Để kiểm tra xem nó có hoạt động hay không và chạy lệnh sau.

Mã nguồn [Chọn]
sudo systemctl status resolvconf.service
Nếu dịch vụ không được khởi động và kích hoạt tự động vì bất kỳ lý do gì, bạn có thể khởi động và kích hoạt nó như sau.

Mã nguồn [Chọn]
$ systemctl start resolvconf.service
$ systemctl enable resolvconf.service
$ systemctl status resolvconf.service


3. Cấu hình NameServers vĩnh viễn trong Ubuntu và Debian

Tiếp theo, mở tập tin cấu hình /etc/resolvconf/resolv.conf.d/head.

Mã nguồn [Chọn]
sudo nano /etc/resolvconf/resolv.conf.d/head
và thêm các dòng sau vào nó:

Mã nguồn [Chọn]
nameserver 8.8.8.8
nameserver 8.8.4.4


Lưu các thay đổi và khởi động lại resolvconf.service hoặc khởi động lại hệ thống.

Mã nguồn [Chọn]
sudo systemctl start resolvconf.service
Bây giờ khi bạn kiểm tra tập tin /etc/resolv.conf, các mục NameServer sẽ được lưu trữ ở đó vĩnh viễn. Do đó, bạn sẽ không gặp phải bất kỳ vấn đề nào liên quan đến phân giải tên miền trên hệ thống của bạn.


Hy vọng bài viết nhanh này đã giúp bạn trong việc thiết lập DNS NameServers vĩnh viễn trong các hệ thống Ubuntu và Debian của bạn. Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào, hãy chia sẻ nó với chúng tôi trong phần bình luận bên dưới.