Cấu hình DNS trên Linux

   Mình sẽ chia sẻ kiến thức cơ bản về quá trình cài đặt cũng như cấu hình dịch vụ DNS Server trên Linux, cụ thể mình sử dụng hệ điều hành CentOS 6.7.

1. Quá trình cài đặt.

   Để cài đặt dịch vụ DNS chúng ta sử dụng package BIND. Có nhiều cách để cài đặt, ở đây mình sử dụng YUM để cài đặt trực tiếp trên Internet, cũng có thể cài đặt offline nếu có package.
   

yum -y install bind-*



Xong quá trình cài đặt, rất nhanh phải không.:)

Check Version DNS


2. Cấu hình DNS.

Để cấu hình được dịch vụ, trước tiên tìm hiểu sơ qua về dịch vụ cũng như các file cấu hình.
- Dịch vụ DNS là dịch vụ phân giải tên miền, hiểu nôm na là quá trình ánh xạ tên miền tới 1 hoặc nhiều địa chỉ IP và ngược lại.
- Các file cấu hình căn bản: (Mình chỉ đi vào quá trình cấu hình đơn giản, giúp mọi người có cái nhìn cơ bản đầu tiên)
+ /etc/named.conf : Tại đây mình chỉ quan tâm tới 2 dòng

cấu hình file named.conf



listen-on port 53 { 192.168.1.0/24; };
allow-query     { any; };



Dòng đầu, thay địa chỉ IP của máy, dải mạng muốn nhận DNS Server. Ở đây mình chọn dải mạng 192.168.1.0
Dòng thứ hai, mình chọn mọi máy, có thể chỉ một máy cũng được.
+ /etc/named.rfc1912.zones : Tại đây, mình sẽ cấu hình các zone cần ánh xạ, có zone thuận và zone nghịch.

Cấu hình zone thuận, nghịch trong DNS


Tạo zone thuận:
            - Thay loveyou.com thành domain của bạn
            - loveyou.thuan là tên file khi bạn tạo file zone thuận
Tạo zone nghịch:
            - Thay 1.168.192  thành địa chỉ IP của bạn nhưng viết ngược lại (của mình là 192.168.1.44 ngược lại là 1.168.192 bỏ 44 đi)
            - loveyou.nghich là tên file khi bạn tạo file zone nghịch.

Tiếp theo bạn cd vào thưc mục /var/named để tạo 2 file zone thuận và zone nghịch với tên như đã cấu hình ở bên trên, ở đây mình tạo 2 file loveyou.thuan loveyou.nghich. Theo mình để khỏi bị lỗi trong quá trình tạo file thì không nên tạo file mới, mà copy từ file mẫu sẵn, vì bất cứ dịch vụ gì đều có file cấu hình mẫu. Và file cấu hình mẫu cũng ở luôn thư mục này.

Khái niệm SOA, A, NS, CNAME, PTR, MX
* SOA (Start of Authority)

- SOA chỉ ra rằng máy chủ Name Server là nơi cung cấp thông tin tin cậy từ dữ liệu có trong zone. Cú pháp của record SOA:

[tên-miền] IN SOA [tên-server-dns] [địa-chỉ-email] (
serial number;

refresh number;
retry number;
experi number;
Time-to-live number)


- Serial : Áp dụng cho mọi dữ liệu trong zone và là 1 số nguyên. Ở đây họ sử dụng đinh dạng YYYYMMDDNN, trong đó YYYY là năm, MM là tháng, DD là ngày, NN số lần sửa đổi dữ liệu zone trong ngày. Vd: 2014032901
- Refresh: Chỉ ra khoảng thời gian máy chủ Secondary kiểm tra dữ liệu zone trên máy Primary để cập nhật nếu cần
- Retry: nếu máy chủ Secondary không kết nối được với máy chủ Primary theo thời hạn mô tả trong refresh
- Expire: Nếu sau khoảng thời gian này mà máy chủ Secondary không kết nối được với máy chủ Primary thì dữ liệu zone trên máy Secondary sẽ bị quá hạn
- TTL: Viết tắt của time to live. Giá trị này áp dụng cho mọi record trong zone và được đính kèm trong thông tin trả lời một truy vấn. Mục đích của nó là chỉ ra thời gian mà các máy chủ name server khác cache lại thông tin trả lời

* NS (Name Server)
- Khai báo máy chủ tên miền cho một tên miền. Cho biết các thông tin về tên miền này được khai báo trên máy chủ nào. Mỗi name server cho zone sẽ có một NS record. Cú pháp khai báo:

[tên-domain] IN NS [DNS-Server_name]
vVd: loveyou.com. IN NS ketban.loveyou.com.
Với ví dụ trên, tên miền loveyou.com sẽ do máy chủ tên miền ketban.loveyou.com quản lý.

* A (Address) và CNAME (Canonical Name)
- Record A (Address) ánh xạ tên máy(hostname) vào địa chỉ IP. Record CNAME (canonical name) tạo tên bí danh alias trỏ vào một tên canonical. Tên canonical là tên host trong record A hoặc lại trỏ vào 1 tên canonical khác.
Cú pháp record A:
[tên-máy-tính] IN A [địa-chỉ-IP]

* PTR (Pointer)
- Record PTR (pointer) dùng để ánh xạ địa chỉ IP thành hostname. Cú pháp khai báo:
[địa-chỉ-IP] IN PTR [tên-máy-tính]
VD: 44 IN PTR loveyou.com.
* MX (Mail Exchanger)
- Khai báo trạm chuyển tiếp thư điện tử của tên miền.
VD: loveyou.com        IN        MX      10        mail.loveyou.com
Mọi thư điện tử có cấu trúc user@loveyou.com đều chuyển tới trạm chuyển tiếp thư mail.loveyou.com

+ /var/named/loveyou.thuan : Cấu hình file zone thuận:

Cấu hình zone thuận trong dns


Thay loveyou.com thành domain của bạn.
Thay địa chỉ ip thành địa chỉ của bạn.

+ /vaf/named/loveyou.nghich : Cấu hình file zone nghịch:

Cấu hình zone nghịch trong DNS


Thay loveyou.com thành domain của bạn.
Thay 44 thành octet cuối cùng trong địa chỉ ip của bạn.

Sau khi edit xong thì thay quyền sở hữu.



Start dịch vụ:

Service named start


Test dịch vụ.
Thử trên máy luôn. Chỉnh sửa file /etc/resolv.conf



Và test.



Hoặc bạn cũng có thể test dịch vụ từ máy client, và nhớ đặt DNS server trỏ tới DNS server cùng dải mạng.






2 comments: