NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
20/05/2024
Lượt xem

Cách cài đặt và cấu hình DNS cho Linux

20/05/2024
10 phút đọc
Lượt xem

Đánh giá

5/5 - (165 bình chọn)

DNS cho Linux là dịch vụ internet có nhiệm vụ dịch tên miền thành địa chỉ IP để máy tính chạy Linux có thể hiểu được. Ở bài viết này Vietnix sẽ hướng dẫn bạn cách cài đặt và cấu hình DNS cho Linux nhanh chóng, đơn giản nhất.

Tìm hiểu về DNS

Trước khi bắt đầu cài đặt DNS cho Linux, hãy cùng tìm hiểu qua một số kiến thức cần biết về nó.

Khái niệm tên miền

Xét một ví dụ về website www.vietnix.vn, đây được gọi là một tên miền đầy đủ (FQDN – Fully Qualified Domain Name). Trong đó mỗi domain bao gồm nhiều thành phần, mỗi thành phần được ngăn cách nhau bởi một dấu chấm.

Phần com được gọi là thành phần cấp cao, Vietnix là thành phần cấp hai và www là thành phần cấp ba của domain.

Khái niệm subdomain

Giả sử có một website tên thuevps.vietnix.vn, thì thuevps ở đây được gọi là subdomain (miền phụ) của vietnix.vn. Chỉ những name server cho thuevps.vietnix.vn mới biết được các host tồn tại bên dưới nó. Nói cách khác, chỉ Vietnix mới đến sự tồn tại của subdomain thuevps, còn name server của root thì không.

Các loại server DNS

Có ba loại server DNS mà ta cần biết:

Primary DNS server: Lưu trữ các bản master copy của file cấu hình domain, chứa các thông tin như địa chỉ IP hoặc chi tiết về quản trị viên.

Secondary DNS server: Chứa các bản copy của thông tin domain (chỉ cho phép đọc) có được từ primary DNS server. Các thông tin này rất hữu ích nếu chẳng may primary server gặp sự cố.

Caching DNS server: Chứa dữ liệu của các truy vấn được yêu cầu gần đây từ người dùng, giúp giảm thiểu công việc mà các server primary và secondary cần thực hện.

Cách cài đặt DNS cho Linux

Cài đặt Bind

Trước tiên ta cần cài đặt bind trên bản phân phối Linux đang sử dụng.

Đối với Debian/Ubuntu:

sudo apt-get install bind9

Đối với Redhat/CentOS/Fedora:

yum install bind9

Thư mục /etc/bind chứa mọi cấu hình của DNS. /etc/bind/named.conf chính là cấu hình chính, chứa mọi file cần thiết khác, còn file /etc/bind/db.root có nhiệm vụ chỉ định name server root.

Sau khi hoàn tất việc cài đặt, ta có thể khởi động và cho chạy khi boot như sau:

systemctl start named systemctl enable named

Lưu ý: File cấu hình cho bind/etc/named.conf

Tiếp theo, ta cần chỉ định primary zone (vùng chính) trong file etc/named.conf:

Zone      “abcexample.com”   { Type master ; File abcexample.com.db };

Trong đó, lệnh zone cho phép ta định nghĩa một vùng DNS cụ thể. File chứa thông tin về zone được đặt trong thư mục /var/named, vì ta cần định nghĩa primary zone nên type sẽ được chọn là master.

Sau đó là chỉ định secondary zone:

Zone        “abcexample.com”      { Type slave masters Primary Nameserver IP Address Here; ; file abcexample.com.db };

Tên miền của secondary zone cũng tương tự như trong primary zone, type được đặt là slave để định nghĩa secondary zone. Ngoài ra, option masters dùng để chỉ định địa chỉ IP của name server chính, còn file sẽ chứa đường dẫn đến các file của primary zone.

Cuối cùng là định nghĩa caching zone. Trong bước này, ta cần định nghĩa 3 phần zone như dưới đây:

Zone        "." IN { type hint; file "root.hint"; };

Trong đó, dot chính là name server của root, type hint để định nghĩa caching zone, còn root.hint là file chứa server root.

Zone     "localhost" IN { type master; file "localhost.db"; };

Zone thứ ba dùng để thực hiện tra cứu ngược (reverse lookup) cho localhost.

Zone          "0.0.127.in-addr.arpa" IN { type master; file "127.0.0.rev"; };

Đưa cả ba zone này vào /etc/named.conf, khi đó hệ thống sẽ hoạt động như một server caching DNS. Bây giờ ta sẽ nhập nội dung của các file được tham chiếu như localhost.db, abc.com.db, 127.0.0.rev. Các file này chứa những loại bản ghi DNS (DNS record) cho mỗi zone.

Vậy bản ghi DNS có những loại nào? Ta sẽ tìm hiểu ở ngay trong phần dưới đây.

Các loại bản ghi DNS

SOA (Start of Authority)

SOA là thông tin về zone và những record khác, được lưu trữ trong DNS zone, định nghĩa thuộc tính của zone. Một số thông tin mà bản ghi SOA chứa gồm có:

  • Tên của zone
  • Zone class
  • Name server của primary master
  • Số seri của zone
  • Thời gian refresh, retry, expire và TTL

Cú pháp:

abcexample.com.      86400      IN      SOA      ns1.abcexample.com.mail.abcexample.com. ( 2020020204  ;serial 86400 ;refresh, seconds 8200 ;retry, seconds 3600000 ;expire, seconds 86400 ;minimum, seconds )

Cách truy vấn:

-query=soa
Cài đặt và cấu hình DNS cho Linux (SOA record)
Cài đặt và cấu hình DNS cho Linux (SOA record)

Record Name Server (NS)

Loại record này dùng để chỉ định name server cho zone.

Cú pháp:

IN           NS         ns1.abcexample.com. IN           NS         ns2.abcexample.com.

Cách truy vấn:

-query=ns
Record Name Server
Record Name Server

Record Address (A & AAAA)

Loại record này có nhiệm vụ ánh xạ hostname đến địa chỉ IP tương ứng.

Cú pháp:

support IN          A             192.168.1.5

Record Pointer (PTR)

Ngược lại với record kiểu address, loại này sẽ ánh xạ địa chỉ IP đến hostname tương ứng.

Cú pháp:

192.168.1.5        IN            PTR      support.example.com.

Record Mail Exchange (MX)

Loại bản ghi này dùng để chỉ định xem mail server nào có nhiệm vụ nhận email thay cho domain.

Cú pháp:

Domain                     TTL    Class   Type      Priority                           Host abcexample.com.      1936    IN      MX          10              onemail.abcexample.com abcexample.com.      1936    IN      MX          10             twomail.abcexample.com

Trong đó, Priority dùng để chỉ định mail server, giá trị Priority càng lớn thì ưu tiên càng cao.

Truy vấn:

-query=mx
Mail Exchange Record
Mail Exchange Record

Record Canonical Name (CNAME)

Bản ghi này chỉ định bí danh (alias) hoặc nickname cho host.

NAME                                    TYPE            VALUE -------------------------------------------------- abc.example.com.        CNAME      cab.example.com. cab.example.com.        A          192.0.2.23

Record Text (TXT)

Bản ghi Text cho phép người dùng thêm bất kỳ loại văn bản nào, chẳng hạn như thông tin liên lạc, thông tin bổ sung người dùng khác cần biết về domain của mình,…

abcexample.com.  IN    TXT   “welcome to our website”

Một số lệnh khác khi cấu hình DNS cho Linux

Sửa lỗi cấu hình

Quá trình viết file zone có thể gặp một số lỗi không mong muốn, khi đó ta có thể chẩn đoán những lỗi này dựa trên log theo cú pháp sau:

$tail -f /var/log/messages

Lệnh host

Sau khi thêm và chỉnh sửa các bản ghi, ta có thể kiểm tra xem host đã được giải quyết chính xác chưa:

host acb.com

Nếu truyền hostname vào lệnh thì nó sẽ trả về địa chỉ IP tương ứng. Ngược lại, nếu truyền địa chỉ IP thì câu lệnh sẽ trả về hostname.

host 192.168.1.5

Lệnh whois

Lệnh whois được dùng để xem thông tin chi tiết về chủ sở hữu của domain, chẳng hạn như SĐT liên lạc.

whois abc.com

Lệnh rndc

Lệnh rndc được dùng để bảo mật name server (cục bộ và ở xa). Để ngăn chặn bất kỳ truy cập không được xác thực nào vào name server, ta cần phải cấu hình rndc trên cổng được chọn (theo mặc định là cổng 953).

Ngoài ra ta cũng có thể kiểm tra trạng thái của server dns bằng lệnh sau:

rndc status

Nếu thực hiện bất kỳ thay đổi nào với các file zone, ta có thể reload lại dịch vụ như sau:

rndc reload abc.com

Hoặc reload mọi file zone:

rndc reload

Nếu thêm zone mới hoặc thay đổi cấu hình của server thì ta có thể reload lại cấu hình bằng lệnh:

rndc reconfig

Lời kết

Qua bài viết trên Vietnix đã hướng dẫn cho bạn những kiến thức cơ bản liên quan đến DNS và cách cài đặt, cấu hình DNS cho Linux đơn giản nhất. Chúc các bạn thành công!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG