Hướng Dẫn Cài Đặt DNS Primary Server Cho Lab Trên Ubuntu
CàI ĐẶT DNS SERVER CHOLAMP LABTRêNUBUNTU
Bài hướng dẫn sẽ thiết lập một môi trường DNS riêng bao gồm các máy chủ sơ cấp và thứ cấp chạy BIND (BIND9). Cả hai sẽ chạy Ubuntu Server 14 trở lên trên máy ảo VMware. Cấu hình một máy (Ubuntu) thứ ba sẽ hoạt động như một client để kiểm tra truy vấn các máy chủ DNS mới.
Bước 1. Cấu hình mạng máy chủ chinh (Primary Server)
Để các máy chủ để tiếp cận với kho nguồn Ubuntu, ta cần chỉnh sửa file cấu hình mạng và hosts.
- Chỉnh sửa các tập tin cấu hình mạng trên server ns1:
|
sudo nano /etc/network/interfaces |
- Thực hiện chỉnh sửa tương tự như sau:
|
iface lo inet loopback auto lo # primary network interface auto eth0 iface eth0 inet static address 10.10.10.141 netmask 255.255.255.0 network 10.10.10.0 broadcast 10.10.10.255 gateway 10.10.10.1 dns-nameservers 8.8.8.8 8.8.4.4 |
- Khởi động lại mạng:
|
/etc/init.d/networking restart |
- Chỉnh sửa các tập tin host trên serverns1:
|
sudo nano /etc/hosts |
5. Thực hiện chỉnh sửa tương tự như sau:
|
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
10.10.10.141 ns1.lab.local ns1 |
Bước 2. Cấu hình mạng máy chủ thứ cấp (Secondary Server)
èLặp lại quá trình trên (bước 1) cho server ns2(bước 2).
Bước 3. Cài đặt BIND trên DNS Primary Server
- Kết nối với máy chủ ns1 (10.10.10.141) thông qua SSH.
- Download các gói phần mềm của phiên bản mới nhất:
|
sudo apt-get -y update |
3. Cài đặt BIND:
|
sudo apt-get -y install bind9 bind9utils bind9-doc |
- Cấu hình BIND để chạy IPv4, chỉnh sửa các thông số dịch vụ của file bind9:
|
|
sudo nano /etc/default/bind9 |
5. Thêm biến “-4” vào tương tự như sau:
|
# run resolvconf? RESOLVCONF=no
# startup options for the server OPTIONS="-4 -u bind" |
6. Lưu và thoát.
Bước 4. Cấu hình Primary DNS Server
Các tập tin cấu hình chính cho BIND DNS Server quá trình có tên là / etc / bind / named.conf. Bao gồm thêm ba tập tin cấu hình sau: named.conf.options, named.conf.local, và named.conf.default-zones.
4.1. Cấu hình tùy chọn tập tin
1. Trênns1, chỉnh sửa filenamed.conf.options:
|
sudo nano /etc/bind/named.conf.options |
2. Mặc đinh sẽ tương tự như sau:
|
options { directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder.
// forwarders { // 0.0.0.0; // };
//======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; |
- Trước hết phải xác định danh sách kiểm soát truy cập (ACL) được gọi là đáng tin cậy xác định từ máy chủ DNS cho phép các client truy vấn đệ quy. Ta có thể nhập IP của client để kiểm soát truy cập chặt chẽ. Nhưng vì đây là một Lab riêng nên chúng ta sẽ sử dụng mạng con để cho phép truy vấn đệ quy từ mạng 10.10.10.0/24. Thêm ACL trước các tùy chọn blocknhư sau:
|
// Lab subnets we wish to allow recursive queries from. acl "trusted" { 10.10.10.0/24; # lab network }; |
- Hiệu chỉnh các chỉ mục để đọc như sau:
|
options { directory "/var/cache/bind";
recursion yes; allow-recursion { trusted; }; listen-on { 10.10.10.141; }; allow-transfer { none; };
forwarders { 8.8.8.8; 8.8.4.4; };
dnssec-validation auto;
auth-nxdomain no; listen-on-v6 { any; }; }; |
5. Lưu và thoát.
4.2. Cấu hình Local DNS Zones
Xác định local forward và vùng reserve DNStrong file named.conf.local.
1. Trênns1, chỉnh sửa file sau:
|
sudo nano /etc/bind/named.conf.local |
2. Thêmforward zone cho lab.local:
|
zone "lab.local" { type master; file "/etc/bind/zones/db.lab.local"; allow-transfer { 10.10.10.142; }; # ns2 }; |
- Thêm reverse zone cho mạng con 10.10.10.0/24. Các chuỗi đảo ngược cho (ví dụ: 192.168.1 được nhập như 1.1168.192)
|
zone "10.10.10.in-addr.arpa" { type master; file "/etc/bind/zones/db.10.10.10"; # 10.10.10.0/24 subnet allow-transfer { 10.10.10.142; }; # ns2 }; |
4. File sau chỉnh sửa tương tự như sau:
|
zone "lab.local" { type master; file "/etc/bind/zones/db.lab.local"; allow-transfer { 10.10.10.142; }; # ns2 };
zone "10.10.10.in-addr.arpa" { type master; file "/etc/bind/zones/db.10.10.10"; allow-transfer { 10.10.10.142; }; # ns2 }; |
5. Lưu và thoát.
4.3. Tạo file Forward Zone
Khi các zone được quy định trong tập tin cấu hình BIND, ta cần tạo ra tập tin forward và reverse.
1. Tạo thư mục zones (/etc/bind/zones) để lưu các file:
|
sudo mkdir /etc/bind/zones |
- Tạo file forward zone cho lab.local dựa trên mẫu /etc/bind/db.local:
|
$ cd /etc/bind/zones sudo cp ../db.local ./db.lab.local |
3. Chỉnh sửa fileforward zone:
|
sudo nano /etc/bind/zones/db.lab.local |
4. File mặc định tương tự như sau:
|
|
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. @ IN A 127.0.0.1 @ IN AAAA ::1 |
- Sửa bản ghi SOA (Start of Authority) thay thế localhost với FQDN của ns1, thay thế root.localhost với admin.lab.local, và tăng giá trị Serial:
|
|
@ IN SOA ns1.lab.local. admin.lab.local. ( 3 ; Serial |
6. Xóa dòng localhost., 127.0.0.1 và bản ghi ::1 .
- Thêm tên máy chủ (NS) các hồ sơ cho máy chủ ns1 và ns2:
|
; name servers - NS records IN NS ns1.lab.local. IN NS ns2.lab.local. |
- Thêm một bản ghi cho các host trong Lab của này muốn có * FQDNs .lab.local. Đối với Lab này ta sẽ tạo bản ghi A cho ns1, ns2, và host1:
|
|
; name servers - A records ns1.lab.local. IN A 10.10.10.141 ns2.lab.local. IN A 10.10.10.142 ; ; 10.10.10.0/24 - A records host1.lab.local. IN A 10.10.10.190 |
9. File đã chỉnh sửa sẽ tương tự như sau:
|
|
$TTL 604800 @ IN SOA ns1.lab.local. admin.lab.local. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ; name servers - NS records IN NS ns1.lab.local. IN NS ns2.lab.local. ; ; name servers - A records ns1.lab.local. IN A 10.10.10.141 ns2.lab.local. IN A 10.10.10.142 ; ; 10.10.10.0/24 - A records host1.lab.local. IN A 10.10.10.190 |
10.Lưu và thoát.
4.4. Tạo file Reverse Zone
Tiếp theo ta sẽ tạo tập tin phân giải ngược (Reverse Zone) có chứa các bản ghi DNS PTR cho tra cứu DNS ngược.
- Trong file named.conf.local trên NS1 file phân giải ngược 10.10.10.in-addr.arpa đã thiết lập để có /etc/bind/zones/db.10.10.10. Tạo file phân giải ngược dựa trên mẫu /etc/bind/db.127
|
|
$ cd /etc/bind/zones sudo cp ../db.127 ./db.10.10.10 |
2. Chỉnh sửa file reverse zone:
|
|
sudo nano /etc/bind/zones/db.10.10.10 |
3. File mặc định tương tự như sau:
|
|
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. 1.0.0 IN PTR localhost. |
- Như đã thực hiện với tập tin forward zone, chỉnh sửa bản ghi SOA và tăng giá trị Serial như sau:
|
|
@ IN SOA ns1.lab.local. admin.lab.local. ( 2 ; Serial |
5. Xóa bản ghi localhost. NS và localhost. PTR.
6. Thêm bản ghi nameserver (NS) cho máy chủ ns1 và ns2:
|
|
; name servers - NS records IN NS ns1.lab.local. IN NS ns2.lab.local. |
- Thêm bản ghi PTR cho mỗi host trong Lab này. Cột đầu tiên sẽ là octet cuối cùng của địa chỉ IP của máy chủ theo thứ tự ngược lại. Đối với Lab này ta sẽ tạo hồ sơ cho các máy ns1, ns2, host1 trên mạng con 10.10.10.0/24 subnet:
|
|
; PTR Records 41 IN PTR ns1.lab.local. ; 10.10.10.141 42 IN PTR ns2.lab.local. ; 10.10.10.142 90 IN PTR host1.lab.local. ; 10.10.10.190 |
8. Tập được chỉnh sửa tương tự như sau:
|
|
$TTL 604800 @ IN SOA ns1.lab.local. admin.lab.local. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ; name servers - NS records IN NS ns1.lab.local. IN NS ns2.lab.local. ; ; PTR Records 41 IN PTR ns1.lab.local. ; 10.10.10.141 42 IN PTR ns2.lab.local. ; 10.10.10.142 90 IN PTR host1.lab.local. ; 10.10.10.190 |
9. Lưu và thoát.
10.Lặp lại các bước này cho bất kỳ mạng con khác được sử dụng trong Lab này.
4.5. Kiểm tra tập tin cấu hình BIND
- Kiểm tra cú pháp của tập tin cấu hình với named.conf:
|
|
sudo named-checkconf |
- Nếu các tập tin cấu hình không có lỗi cú pháp, ta sẽ không thấy bất kỳ thông báo lỗi nào.
- Kiểm tra cú pháp của tập tin forward zone:
|
|
sudo named-checkzone lab.local db.lab.local |
- Nếu không có lỗi cú pháp, ta sẽ thấy thông báo tương tự như sau:
|
|
zone lab.local/IN: loaded serial 3 OK |
5. Kiểm tra cú pháp của tập tin reverse zone:
|
|
sudo named-checkzone 10.10.10.in-addr.arpa /etc/bind/zones/db.10.10.10 |
6. Nếu không có lỗi cú pháp, ta sẽ thấy thông báo tương tự như sau:
|
|
zone 10.10.10.in-addr.arpa/IN: loaded serial 2 OK |
4.6. Khởi động lại BIND
|
|
sudo service bind9 restart |
Xem tiếp phần 2 >>