Bài số 2: Xây dựng một DNS server nội bộ với BIND

Bài thực hành này yêu cầu thiết lập một DNS server nội bộ cho mạng Intranet của một công ty với tên miền mydomain.vn. DNS nội bộ cung cấp dịch vụ tên miền cho một số máy chủ riêng của công ty như Mail, Web, v.v.. và các máy trạm (client). Các bước thực hiện như sau:

  • Bước 1: Cấu hình máy chủ BIND
  • Bước 2: Vận hành và kiểm tra dịch vụ DNS

Bước 1: Cầu hình máy chủ BIND

Bỏ qua các thông tin không quan trọng, các file cấu hình cần thiết như sau:
/etc/named.conf

options {
        listen-on port 53  { any; };
        directory       "/var/named";
        allow-query     { any;};
        recursion no;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.empty";
};

zone "mydomain.vn" IN {
        type master;
        file "named.mydomain.vn";
        allow-update { none; };
}; 
			 

Trong mục options, tham số listen-on cho phép thiết lập DNS server nghe ở cổng nào (53) vào có thể truy nhập từ đâu (any = bất cứ máy nào). Tham số directory thiết lập thư mục chứa các file dữ liệu. Tham số recursion xác định cách làm việc của DNS server (trong trường hợp này là “no recursive”).
Mục zone “.” cung cấp cho server danh sách các máy chủ root. BIND thường được cung cấp kèm với file /var/named/named.ca chứa danh sách máy chủ gốc. Trong trường hợp này ta muốn máy chủ DNS chỉ phục vụ các tên miền nội bộ của công ty nên thay vì sử dụng file named.ca, ta sử dụng file “rỗng” named.empty như sau:
/var/named/named.empty

$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
			 

/var/named/named.mydomain.vn

$TTL 1D ; resource record can be cached by other server for maximum 1 day
@       IN      SOA     ns1.mydomain.vn. hostmaster.hp.vn. (
                        20151108        ; serial
                        1D      ; refresh
                        1H      ; retry
                        1W      ; expire
                        3H )    ; minimum
	NS      ns1.mydomain.vn.
	MX 10   mail.mydomain.vn.
ns1	A       1.2.3.4
mail	A       2.3.4.5
www	A       3.4.5.6
client	A       4.5.6.7
			 

Bước 2: Vận hành và kiểm tra dịch vụ DNS

Sau khi hoàn thành thiết lập các file cấu hình, khợi động lại dịch vụ DNS:

> service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

Để kiểm tra hoạt động của DNS server, sử dụng dig để liệt kê tất cả các resource record của máy chủ DNS (giả sử server có địa chỉ là 192.168.56.5):

> dig @192.168.56.5 mydomain.vn any

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> @192.168.56.5 mydomain.vn any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47070
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;mydomain.vn.                   IN      ANY

;; ANSWER SECTION:
mydomain.vn.            86400   IN      SOA     ns1.mydomain.vn. hostmaster.hp.vn. 20151108 86400 3600 604800 10800
mydomain.vn.            86400   IN      NS      ns1.mydomain.vn.
mydomain.vn.            86400   IN      MX      10 mail.mydomain.vn.

;; ADDITIONAL SECTION:
ns1.mydomain.vn.        86400   IN      A       1.2.3.4
mail.mydomain.vn.       86400   IN      A       2.3.4.5

;; Query time: 0 msec
;; SERVER: 192.168.56.3#53(192.168.56.3)
;; WHEN: Wed Nov 11 04:35:54 2015
;; MSG SIZE  rcvd: 150