Cách cài đặt máy chủ DNS với BIND trên Rocky Linux 9

theanh

Administrator
Nhân viên
BIND hay Berkeley Internet Name Domain là phần mềm DNS Server miễn phí và mã nguồn mở. Đây là một trong những phần mềm máy chủ DNS phổ biến nhất được hơn 70% DNS trên Internet sử dụng. BIND đã có từ những năm 1980, nổi tiếng với tính linh hoạt, hiệu suất và các tính năng của nó. BIND có thể được sử dụng làm cả DNS có thẩm quyền và DNS lưu trữ đệm, đồng thời hỗ trợ cân bằng tải, cập nhật động, DNS chia tách, DNSSEC, IPv6 và nhiều tính năng khác.

Phần mềm BIND DNS là một trong những máy chủ DNS đáng tin cậy nhất cho các hệ điều hành giống Unix. Nó có sẵn trên hầu hết các bản phân phối Linux và cung cấp các công cụ bổ sung để chẩn đoán và thử nghiệm máy chủ DNS.

Hướng dẫn này sẽ chỉ cho bạn cách thiết lập Máy chủ DNS với BIND trên máy chủ Rocky Linux 9. BIND là một trong những phần mềm DNS Server phổ biến nhất cung cấp nhiều tính năng như Authoritative DNS, Cache-Only DNS, Basic DNS load balancing, Split DNS, DNSSEC, IPv6 và nhiều tính năng khác nữa.

Điều kiện tiên quyết​

Với hướng dẫn này, bạn sẽ thiết lập và triển khai BIND DNS Server với kiến trúc Master-Slave. Vì vậy, bạn sẽ cần hai máy chủ Rocky Linux. Ngoài ra, bạn sẽ cần quyền root/quản trị viên trên mỗi máy chủ.

Để thiết lập máy chủ DNS công cộng có thể xử lý tên miền của bạn (Máy chủ DNS có thẩm quyền), bạn cũng phải đăng ký tên miền và cấu hình 'Glue Records'.

Ngoài ra, trong hướng dẫn này, chúng tôi sẽ giả định rằng bạn có SELinux đang chạy ở chế độ 'cho phép'.

Chuẩn bị hệ thống​

Để bắt đầu với hướng dẫn này, bạn sẽ thiết lập đúng FQDN (Tên miền đủ điều kiện) trên mỗi máy chủ Rocky Linux của mình. Bạn có thể thực hiện việc này thông qua tiện ích lệnh 'hostnamectl' và tệp '/etc/hosts'.

Dưới đây là các máy chủ chi tiết sẽ được sử dụng làm ví dụ cho hướng dẫn này:
Mã:
Hostname IP Address FQDN Used as
---------------------------------------------------------------
ns1 192.168.5.100 ns1.howtoforge.local Master
ns2 192.168.5.120 ns2.howtoforge.local Slave
Trên máy chủ chính, hãy chạy tiện ích lệnh hostnamectl bên dưới để thiết lập fqdn thành 'ns1.howtoforge.local'.
Mã:
sudo hostnamectl set-hostname ns1.howtoforge.local
Dưới đây, bạn cũng cần chạy lệnh hostnamectl trên máy chủ Slave để thiết lập fqdn thành 'ns2.howtoforge.local'.
Mã:
sudo hostnamectl set-hostname ns2.howtoforge.local
Tiếp theo, mở tệp '/etc/hosts' trên cả máy chủ Master và Slave bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/hosts
Thêm dòng sau vào tệp.
Mã:
192.168.5.100 ns1.howtoforge.local ns1
192.168.5.120 ns2.howtoforge.local ns2
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Cuối cùng, hãy chạy lệnh 'hostname' sau để xác minh fqdn trên mỗi máy chủ. Bạn sẽ thấy máy chủ Master có fqdn là 'ns1.howtoforge.local', và máy chủ Slave có fqdn là 'ns2.howtoforge.local'.
Mã:
sudo hostname -f
Dưới đây là đầu ra từ máy chủ Master.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22610%22%20height=%22206%22%3E%3C/svg%3E


Và bên dưới là đầu ra từ máy chủ Slave.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22567%22%20height=%22196%22%3E%3C/svg%3E


Với fqdn đã được cấu hình, bạn đã sẵn sàng cài đặt BIND trên máy chủ Rocky Linux.

Cài đặt các gói BIND​

Theo mặc định, kho lưu trữ Rocky Linux AppStream cung cấp phiên bản ổn định mới nhất của gói BIND. Tại thời điểm viết bài này, phiên bản ổn định hiện tại của BIND là v9.16.

Trong bước này, bạn sẽ cài đặt các gói BIND trên cả máy chủ Master và Slave. Sau đó, thiết lập BIND để chỉ chạy trên IPv4 và cấu hình firewalld để cho phép cổng DNS.

Chạy lệnh dnf bên dưới để cài đặt các gói BIND cho cả máy chủ Master và Slave. Khi được nhắc xác nhận, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install bind bind-utils

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22541%22%3E%3C/svg%3E


Sau khi các gói BIND được cài đặt, hãy mở cấu hình '/etc/sysconfig/named' bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/sysconfig/named
Thêm mặc định 'OPTIONS=..' với dòng sau. Tùy chọn lệnh này cho 'bind' hoặc 'named' sẽ chỉ chạy BIND trên IPv4.
Mã:
OPTIONS="-4"
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Tiếp theo, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ BIND 'có tên'. Dịch vụ 'được đặt tên' hiện sẽ chạy và được bật, dịch vụ này sẽ tự động khởi động khi khởi động.
Mã:
sudo systemctl start named
sudo systemctl enable named

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22604%22%20height=%22179%22%3E%3C/svg%3E


Bây giờ hãy xác minh dịch vụ 'được đặt tên' để đảm bảo rằng dịch vụ đang chạy và được bật thông qua lệnh sau lệnh.
Mã:
sudo systemctl is-enabled named
sudo systemctl status named
Bạn sẽ nhận được kết quả tương tự như sau - Dịch vụ BIND 'được đặt tên' đã được bật và hiện đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22226%22%3E%3C/svg%3E


Khi dịch vụ BIND 'được đặt tên' đang chạy, bạn sẽ cần thêm cổng DNS vào firewalld, được bật và chạy theo mặc định trên Rocky Linux.

Chạy tiện ích lệnh firewall-cmd bên dưới để thêm dịch vụ DNS vào firewalld. Sau đó tải lại firewalld để áp dụng các thay đổi.
Mã:
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
Nếu bạn xác minh danh sách các dịch vụ được bật trên firewalld, bạn sẽ thấy dịch vụ DNS được bật. Chạy lệnh firewall-cmd bên dưới để kiểm tra danh sách các dịch vụ.
Mã:
sudo firewall-cmd --list-services
Đầu ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22648%22%20height=%22202%22%3E%3C/svg%3E


Tại thời điểm này, bạn đã hoàn tất cấu hình fqdn, cài đặt các gói BIND và cũng đã cấu hình firewalld. Với điều này trong đầu, giờ đây bạn có thể bắt đầu cấu hình BIND Master trên máy chủ Master.

Cấu hình Máy chủ DNS BIND Master​

Trong bước này, bạn sẽ thiết lập máy chủ BIND Master bằng cách sử dụng Rocky Linux 'ns1.howtoforge.local' và địa chỉ IP của máy chủ là '192.168.5.100'. Đảm bảo rằng bạn chạy các lệnh sau trên máy chủ Master.

Bạn sẽ cấu hình máy chủ BIND Master theo các bước sau:
  • Cấu hình cơ bản sẽ bao gồm cấu hình ACL (Danh sách kiểm soát truy cập), thiết lập địa chỉ IP nào để chạy dịch vụ BIND, thiết lập bộ chuyển tiếp và nhiều hơn nữa.
  • Thiết lập Vùng - Đây là nơi bạn tạo cấu hình cho miền của mình. Điều này bao gồm cấu hình miền chính và cấu hình DNS ngược.

Cấu hình cơ bản​

Cấu hình BIND mặc định trên bản phân phối dựa trên RHEL có sẵn tại '/etc/named.conf'.

Bây giờ hãy mở tệp '/etc/named.conf' bằng lệnh trình chỉnh sửa nano sau đây.
Mã:
sudo nano /etc/named.conf
Thay đổi cấu hình mặc định bằng lệnh sau dòng.
Mã:
acl "trusted" {
 192.168.5.100; # ns1 - or you can use localhost for ns1
 192.168.5.120; # ns2
 192.168.5.0/24; # trusted networks
};

options {
 listen-on port 53 { 192.168.5.100; };

 // listen-on-v6 port 53 { ::1; };
 
 directory "/var/named";
 dump-file "/var/named/data/cache_dump.db";
 statistics-file "/var/named/data/named_stats.txt";
 memstatistics-file "/var/named/data/named_mem_stats.txt";
 secroots-file "/var/named/data/named.secroots";
 recursing-file "/var/named/data/named.recursing";
 
 allow-query { localhost; trusted; };

 recursion yes;
 allow-recursion { trusted; };
 allow-transfer { localhost; 192.168.5.120; };

 forwarders {
 8.8.8.8;
 1.1.1.1;
 };
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22702%22%20height=%22750%22%3E%3C/svg%3E


Với cấu hình này, bạn sẽ thiết lập BIND với các cấu hình sau:
  • Thiết lập ACL 'đáng tin cậy' cho phép bất kỳ truy vấn nào từ các mạng cục bộ.
  • Chạy dịch vụ BIND tại '192.168.5.100' với cổng mặc định '53'.
  • Bật đệ quy và cho phép đệ quy từ các mạng ACL 'đáng tin cậy'.
  • Cho phép chuyển vùng đến máy chủ Slave với địa chỉ IP '192.168.5.120'.
  • Thiết lập bộ chuyển tiếp với máy chủ DNS công cộng 1.1.1.1 từ Cloudflare và 8.8.8.8 từ Google.
Tiếp theo, chạy lệnh bên dưới để xác minh cấu hình BIND '/etc/named.conf'.
Mã:
sudo named-checkconf /etc/named.conf
Cuối cùng, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động lại dịch vụ 'named' của BIND và áp dụng các thay đổi.
Mã:
sudo systemctl restart named
Bây giờ bạn đã hoàn tất cấu hình cơ bản của Máy chủ DNS BIND.

Thiết lập Vùng​

Bây giờ bạn sẽ thiết lập vùng với Máy chủ DNS BIND. Bạn sẽ tạo một Máy chủ DNS mới với địa chỉ 'ns1.howtoforge.local' và 'ns2.howtoforge.local'.

Để bắt đầu, hãy mở cấu hình BIND '/etc/named.conf' thông qua lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/named.conf
Thêm cấu hình sau vào cuối dòng.
Mã:
include "/etc/named/zones.conf.local";
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22397%22%20height=%2294%22%3E%3C/svg%3E


Tiếp theo, tạo cấu hình mới '/etc/named/zones.conf.local' bằng cách sử dụng nano bên dưới biên tập viên.
Mã:
sudo nano /etc/named/zones.conf.local
Thêm các dòng sau vào tệp.
Mã:
zone "howtoforge.local" {
 type master;
 file "db.howtoforge.local"; # zone file path
 allow-transfer { 192.168.5.120; }; # ns2 IP address - secondary DNS
};


zone "5.168.192.in-addr.arpa" {
 type master;
 file "db.192.168.5"; # subnet 192.168.5.0/24
 allow-transfer { 192.168.5.120; }; # ns2 private IP address - secondary DNS
};
Lưu và đóng tệp khi bạn hoàn tất.

Với cấu hình này, bạn sẽ xác định các cấu hình sau:
  • Tạo hai vùng cho miền 'howtoforge.local' và DNS ngược '5.168.192.in-addr.arpa'.
  • Cả hai vùng đều nhập là 'master'.
  • Cho phép chuyển vùng sang Máy chủ DNS phụ sẽ chạy trên địa chỉ IP máy chủ '192.168.5.120'.

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22266%22%3E%3C/svg%3E


Tiếp theo, tạo cấu hình vùng DNS mới, '/var/named/db.howtoforge.local', bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /var/named/db.howtoforge.local
Thêm các dòng sau vào tệp.
Mã:
;
; BIND data file for the local loopback interface
;
$TTL 604800
@ IN SOA ns1.howtoforge.local. admin.howtoforge.local. (
 3 ; Serial
 604800 ; Refresh
 86400 ; Retry
 2419200 ; Expire
 604800 ) ; Negative Cache TTL
;

; NS records for name servers
 IN NS ns1.howtoforge.local.
 IN NS ns2.howtoforge.local.

; A records for name servers
ns1.howtoforge.local. IN A 192.168.5.100
ns2.howtoforge.local. IN A 192.168.5.120

; Mail handler or MX record for the domain howtoforge.local
howtoforge.local. IN MX 10 mail.howtoforge.local.

; A records for domain names
howtoforge.local. IN A 192.168.5.50
mail.howtoforge.local. IN A 192.168.5.15
Lưu và đóng tệp khi bạn hoàn tất.

Trong ví dụ này, bạn sẽ thiết lập các vùng với các cấu hình sau:
  • Xác định các bản ghi Máy chủ tên 'ns1.howtoforge.local' bằng địa chỉ IP '192.168.5.100' và 'ns2.howtoforge.local' có địa chỉ IP '192.168.5.120'.
  • Xác định hai miền bổ sung, 'howtoforge.local', sẽ được phân giải thành địa chỉ IP của máy chủ '192.168.5.50' và miền 'mail.howtoforge.local' thành địa chỉ IP '192.168.5.15'.
  • Bạn cũng sẽ tạo một bản ghi MX cho miền 'howtoforge.local' mà máy chủ thư 'mail.howtoforge.local sẽ xử lý.

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22552%22%3E%3C/svg%3E


Tiếp theo, bạn sẽ bắt đầu cấu hình DNS ngược cho miền howtoforge.local.

Tạo cấu hình DNS ngược mới '/var/named/db.192.168.5' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
sudo nano /var/named/db.192.168.5
Thêm các dòng sau vào tệp.
Mã:
;
; BIND reverse data file for the local loopback interface
;
$TTL 604800
@ IN SOA ns1.howtoforge.local. admin.howtoforge.local. (
 3 ; Serial
 604800 ; Refresh
 86400 ; Retry
 2419200 ; Expire
 604800 ) ; Negative Cache TTL
;

; name servers - NS records
 IN NS ns1.howtoforge.local.
 IN NS ns2.howtoforge.local.

; PTR Records
100 IN PTR ns1.howtoforge.local. ; 192.168.5.100
120 IN PTR ns2.howtoforge.local. ; 192.168.5.120
50 IN PTR howtoforge.local. ; 192.168.5.50
15 IN PTR mail.howtoforge.local. ; 192.168.5.15
Lưu và đóng tệp khi bạn hoàn tất.

Với cấu hình này, bạn sẽ thiết lập các bản ghi DNS hoặc PTR ngược như bên dưới.
  • Trong cấu hình DNS ngược, bạn cũng sẽ xác định máy chủ tên ns1.howtoforge.localns2.howtoforge.local.
  • Mỗi cấu hình DNS ngược đều sử dụng số cuối cùng của địa chỉ IP được phân giải cho từng miền. Trong ví dụ này, máy chủ tên ns1.howtoforge.local có địa chỉ IP '192.168.5.100' và bản ghi PTR phải là '100'.
  • Các bản ghi PTR còn lại giống như mô tả ở trên.

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22459%22%3E%3C/svg%3E


Tại thời điểm này, bạn đã tạo cấu hình hai vùng cho miền 'howtoforge.local' và tạo máy chủ tên 'ns1.howtoforge.local' và 'ns2.howtoforge.local'.

Bây giờ hãy chạy lệnh chmod bên dưới để thay đổi quyền sở hữu của cả hai cấu hình vùng.
Mã:
sudo chown -R named: /var/named/{db.howtoforge.local,db.192.168.5}
Sau đó, xác minh các tệp cấu hình vùng thông qua tiện ích lệnh 'named-checkconf' bên dưới.
Mã:
sudo named-checkconf
Mã:
sudo named-checkzone howtoforge.local /var/named/db.howtoforge.local
sudo named-checkzone 5.168.192.in-addr.arpa /var/named/db.192.168.5
Nếu bạn có cấu hình BIND phù hợp, bạn sẽ nhận được đầu ra như ảnh chụp màn hình sau.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22311%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ 'được đặt tên' BIND và áp dụng các thay đổi. Sau đó, hãy xác minh trạng thái dịch vụ BIND để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl restart named
sudo systemctl status named
Bạn sẽ nhận được đầu ra tương tự như sau - dịch vụ BIND 'được đặt tên' đang chạy và bạn đã hoàn tất cấu hình BIND Master.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22717%22%20height=%22229%22%3E%3C/svg%3E


Trong phần tiếp theo Bước 1, bạn sẽ thiết lập máy chủ BIND Slave.

Thiết lập máy chủ BIND DNS Slave​

Sau khi cấu hình máy chủ DNS Master, bạn sẽ bắt đầu cấu hình máy chủ BIND Slave trên máy chủ 'ns2.howtoforge.local' với địa chỉ IP '192.168.5.120'.

Cấu hình cơ bản cho 'named.conf' tương tự như BIND Master và đối với các tệp vùng, bạn có thể xác định tên tệp mà không cần tạo tệp thực tế trên máy chủ BIND Slave.

Trước khi bắt đầu, hãy đảm bảo rằng bạn chạy các lệnh sau trên máy chủ BIND Slave.

Bây giờ hãy mở cấu hình BIND '/etc/named.conf' trên máy chủ Slave thông qua lệnh nano editor bên dưới.
Mã:
sudo nano /etc/named.conf
Thay đổi cấu hình mặc định bằng các dòng sau.
Mã:
acl "trusted" {
 192.168.5.100; # ns1 - or you can use localhost for ns1
 192.168.5.120; # ns2
 192.168.5.0/24; # trusted networks
};

options {
 listen-on port 53 { 192.168.5.120; };

 //listen-on-v6 port 53 { ::1; };
 
 directory "/var/named";
 dump-file "/var/named/data/cache_dump.db";
 statistics-file "/var/named/data/named_stats.txt";
 memstatistics-file "/var/named/data/named_mem_stats.txt";
 secroots-file "/var/named/data/named.secroots";
 recursing-file "/var/named/data/named.recursing";

 allow-query { any; };

 recursion yes;
 allow-recursion { trusted; };
 allow-transfer { none; };

 forwarders {
 8.8.8.8;
 1.1.1.1;
 };

};
Các thiết lập tương tự như máy chủ BIND Master và bên dưới là một số điểm khác biệt trong cấu hình.
  • Dịch vụ BIND sẽ chạy trên địa chỉ IP '192.168.5.120' trên Máy chủ phụ.
  • Đệ quy được bật, nhưng 'allow-transfer' được cấu hình thành 'none'.

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22598%22%20height=%22750%22%3E%3C/svg%3E


Bây giờ hãy thêm dòng sau vào cuối tệp 'named.conf' để xác định vùng.
Mã:
include "/etc/named/zones.conf.local";
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Tiếp theo, tạo cấu hình mới '/etc/named/zones.conf.local' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/named/zones.conf.local
Thêm các dòng sau vào tập tin.
Mã:
zone "howtoforge.local" {
 type slave;
 file "slaves/db.howtoforge.local";
 masters { 192.168.5.100; }; # ns1 IP address - master DNS
};


zone "5.168.192.in-addr.arpa" {
 type slave;
 file "slaves/db.192.168.5";
 masters { 192.168.5.100; }; # ns1 IP address - master DNS
};
Lưu và đóng tệp khi bạn hoàn tất.

Với thao tác này, bạn sẽ xác định một số cấu hình bên dưới trên máy chủ BIND Slave:
  • Xác định hai vùng cho miền 'howtoforge.local' và DNS ngược của nó.
  • Cả hai vùng đều có kiểu là 'slave'.
  • Tệp vùng cho mỗi vùng sẽ được lấy từ thư mục '/var/named/slaves', được chuyển từ máy chủ BIND Master.

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22665%22%20height=%22300%22%3E%3C/svg%3E


Tiếp theo, hãy chạy tiện ích lệnh 'named-checkconf' sau để xác minh cấu hình BIND. Sau đó, khởi động lại dịch vụ BIND 'được đặt tên' trên máy chủ Slave thông qua lệnh systemctl như bên dưới.
Mã:
sudo named-checkconf
sudo systemctl restart named
Bạn sẽ không có bất kỳ thông báo lỗi nào nếu bạn có cấu hình BIND phù hợp.

Cuối cùng, hãy chạy lệnh systemctl sau để xác minh dịch vụ BIND 'được đặt tên' trên máy chủ Slave để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status named
Bây giờ bạn sẽ nhận được kết quả tương tự như sau - dịch vụ BIND 'được đặt tên' đang chạy trên máy chủ BIND Slave.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22677%22%20height=%22358%22%3E%3C/svg%3E


Tại thời điểm này, bạn đã hoàn tất cài đặt BIND DNS với Master-Slave kiến trúc. Bây giờ bạn đã sẵn sàng để bắt đầu thử nghiệm từ máy khách.

Thử nghiệm từ máy khách​

Ví dụ này sử dụng hệ thống Debian làm máy khách, vì vậy hãy cài đặt một số gói bên dưới thông qua APT trước khi bạn bắt đầu.
Mã:
sudo apt install dnsutils bind9-utils
Nhập y khi được nhắc xác nhận và nhấn ENTER để tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22649%22%20height=%22341%22%3E%3C/svg%3E


Tiếp theo, chạy lệnh sau để xóa tệp liên kết mặc định "/etc/resolv.conf" và tạo tệp mới bằng trình chỉnh sửa nano.
Mã:
sudo unlink /etc/resolv.conf
sudo nano /etc/resolv.conf
Thêm cấu hình sau vào tệp. Trong cấu hình sau, chúng tôi đang định nghĩa ba bộ giải quyết khác nhau, BIND DNS Master, máy chủ BIND DNS thứ cấp và bộ giải quyết DNS Cloudflare công khai. Khi máy khách yêu cầu thông tin về tên miền, thông tin sẽ được lấy từ bộ giải quyết DNS, từ trên xuống dưới.
Mã:
nameserver 192.168.5.100
nameserver 192.168.5.120
nameserver 1.1.1.1
search howtoforge.local
Lưu và đóng tệp khi bạn hoàn tất.

Bây giờ bạn đã sẵn sàng để xác minh máy chủ DNS của mình từ máy khách.

Chạy lệnh dig bên dưới để kiểm tra tên miền "howtoforge.local" và "mail.howtoforge.local". Và bạn sẽ thấy "howtoforge.local" được phân giải thành địa chỉ IP máy chủ "192.168.5.50", trong khi tên miền phụ "mail.howtoforge.local" được xử lý bởi địa chỉ IP máy chủ "192.168.5.15".
Mã:
dig howtoforge.local +short
dig howtoforge.local
Mã:
dig mail.howtoforge.local +short
dig mail.howtoforge.local
Đang xác minh tên miền howtoforge.local.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22707%22%20height=%22518%22%3E%3C/svg%3E


xác minh tên miền phụ mail.howtoforge.local.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22675%22%20height=%22522%22%3E%3C/svg%3E


Tiếp theo, chạy lệnh dig bên dưới để kiểm tra trình xử lý thư cho tên miền "howtoforge.local". Và bạn sẽ nhận được kết quả là "mail.howtoforge.local" được xử lý là thư cho tên miền chính "howtoforge.local.
Mã:
dig howtoforge.local MX +short
dig howtoforge.local MX

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22670%22%20height=%22599%22%3E%3C/svg%3E


Bạn có thể xác minh cấu hình vùng ngược cho tên miền của mình bằng lệnh nslookup lệnh.

Chạy lệnh nslookup bên dưới để kiểm tra và xác minh DNS ngược cho một số địa chỉ IP.

Bây giờ bạn sẽ thấy địa chỉ IP "192.168.5.100" được đảo ngược thành máy chủ tên "ns1.howtoforge.local", địa chỉ IP "192.168.5.120" được đảo ngược thành máy chủ tên "ns2.howtoforge.local", và địa chỉ IP "192.168.5.50" được đảo ngược thành tên miền chính "howtoforge.local", và cuối cùng là địa chỉ IP "192.168.5.15" được đảo ngược thành tên miền phụ "mail.hwdomain.io.
Mã:
nslookup 192.168.5.100
nslookup 192.168.5.120
nslookup 192.168.5.50
nslookup 192.168.5.15

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22544%22%20height=%22280%22%3E%3C/svg%3E


Tại thời điểm này, bạn đã hoàn tất cài đặt Máy chủ DNS BIND với kiến trúc Master-Slave trên Rocky Linux. Bạn cũng đã học cách kiểm tra Máy chủ DNS thông qua nhiều tiện ích lệnh khác nhau như dig và nslookup.

Kết luận​

Xin chúc mừng! Trong suốt hướng dẫn này, bạn đã học cách cài đặt và cấu hình Máy chủ DNS BIND trên máy chủ Rocky Linux 9. Bạn đã cấu hình thành công Máy chủ DNS BIND Master-Slave bằng hai máy chủ Rocky Linux khác nhau. Ngoài ra, bạn đã học lệnh cơ bản của Dig và Nslookup để kiểm tra và xác minh bản ghi DNS và cấu hình.
 
Back
Bên trên