,

Want create site? Find Free WordPress Themes and plugins.

Trước tiên bạn cần hiểu DNS là gì: DNS là chữ viết tắt của Domain Name Server. Khi bạn gõ một địa chỉ Web lên thanh Adress của trình duyệt, thì nó sẽ truy cập đến một DNS để tìm địa chỉ IP tương ứng với địa chỉ Web, từ đó mới có thể truy cập đến trang Web mà bạn yêu cầu.

Việc cài đặt một DNS riêng sẽ giúp bạn trong một số trường hợp như để che dấu các dấu vết lướt web, để vượt tường lửa hay để chạy các ứng dụng khác nữa, cụ thể hơn thì nhiều lắm không kể siết 😀

Okey giờ ta bắt đầu công việc, trước tiên cần phải hiểu là để hệ thống DNS của bạn hoạt động tốt và an toàn thì cần những nhiều hơn 1 server để chạy, bước 1 sau đây được coi như Server chính để phân giải DNS:

Bước 1 : Cài đặt BIND

BIND (Berkeley Internet Name Domain) là phần mềm miễn phí, nguồn mở sử dụng cho các máy chủ linux làm DNS Server.

  • Thư mục làm việc mặc định của BIND: /etc/named.conf
  • File cấu hình tổng quan cho BIND: /var/named/

Để cài đặt ta gõ lệnh như sau:

yum install bind bind-chroot

Đợi sau khi máy chủ download về và khởi chạy, các bạn bắt đầu thao tác chỉnh sửa, các bạn nên chỉnh sửa bằng cách truy cập trình quản lý FTP và chạy qua cổng SFTP để thuận tiện chỉnh sửa, còn dùng công cụ chỉnh sửa trên dòng lệnh thì thuận tiện nhưng lại khó cho những ai không chuyên.

Bước 2: Chỉnh sửa cấu hình để hoạt động, trên server chính

Các bạn chạy lệnh này hoặc vào FTP rồi edit file tương ứng nhé:

vi /etc/named.conf

Nếu trường hợp file không tồn tại thì tạo mới nhé ( trường hợp vào bằng trình FTP ), và chỉnh sửa nội dung giống như sau:

 options {
 listen-on port 53 { 192.168.100.4; };
 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”;
 allow-query { 192.168.100.4/24; };
 recursion yes;
 ………….
 };
 …………
 zone “vietdex.com” IN {
 type master;
 file “vietdexcom.zone“;
 allow-update { none; };
 };

 

Okey, giờ ta tạo file phân giải chính cho hệ thống:

vi /var/named/vietdexcom.zone

Nội dung của file sẽ như thế này:

$TTL 86400
@   IN  SOA     dns.vietdex.com. root.vietdex.com. (
        2013042201  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
; Specify our two nameservers
		IN	NS		dns.vietdex.com.
		IN	NS		dns2.vietdex.com.
; Resolve nameserver hostnames to IP, replace with your two droplet IP addresses.
dns		IN	A		1.1.1.1
dns2		IN	A		2.2.2.2

; Define hostname -> IP pairs which you wish to resolve
@		IN	A		3.3.3.3
www		IN	A		3.3.3.3

Các bạn tự thay các IP 1.1.1.1 hoặc 3.3.3.3 sao cho hợp lệ, đúng địa chỉ IP của Server của các bạn nha !

Tới đoạn này DNS server của các bạn đã sẵn sàng, hãy khởi động chúng lại bằng lệnh:

service named restart

Và để đảm bảo nó được khởi động cùng hệ thống, bạn chạy lệnh này:

chkconfig named on

Giờ thì các bạn có thể thử bằng cách chạy lệnh này:

dig @1.1.1.1 vietdex.com

Nhớ thay cái địa chỉ IP thành IP hợp lệ nha !

Bước 3: Cấu hình cho Server thứ hai

Slave Server có thể khác vị trí, địa điểm và cả dải IP nữa, nhằm khắc phục sự cố hoặc dự phòng phương án server chính bị tỏi củ ngỏm, Ở trên tôi có cấu hình dns2.vietdex.com là “Slave Server” nghĩa là server phụ thứ hai, giờ ta sẽ cài đặt gói BIND như bên phần trên, cho tới khi mở file chỉnh sửa, ta dừng lại một chút.

Chạy lệnh chỉnh sửa file Named.conf:

nano -w /etc/named.conf

Ta lại thêm các dòng lệnh gần như ở Server chính, nhưng bỏ dòng “allow transfer” đi thôi:

options {
		#listen-on port 53 { 127.0.0.1; };
        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";
		allow-query { any; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

Vẫn file đó, ta thêm vào cuối dòng:

zone "mydomain.com" IN {
	type slave;
	masters { 1.1.1.1; };
	file "vietdex.com.zone";
};

Các bạn thấy “type” giờ đã chuyển thành Slave, trong địa chỉ IP 1.1.1.1 các bạn chỉnh lại với địa chỉ IP của bạn, giờ ta chỉ việc bật chúng chạy bằng lệnh:

service named start

Và cũng bật chúng chạy cùng với hệ thống khi khởi động:

chkconfig named on

Bây giờ ta quay trở lại con Server đầu tiên, chạy lệnh:

rndc reload

Mục đích là để nó reload lại chương trình và nhận Server thứ hai để đảm bảo việc truyền dữ liệu trên cả hai được thông !

Tuyệt vời, giờ bạn đã có cả một hệ thống DNS của riêng mình rồi nhé, trường hợp hai server mà bị không thông nhau thì các bạn nên chạy lại lệnh restart và reload trên cả hai server, nếu không nhận tiếp thì có thể do bạn gõ nhầm địa chỉ IP thôi.

Chúc các bạn thành công !

 

Did you find apk for android? You can find new Free Android Games and apps.

Tôi là Jam, thâm niên 7 năm thiết kế website và làm seo, nếu các bạn thấy bài viết hay thì hãy chia sẻ cho những người khác cùng tham khảo, còn nếu muốn thiết kế website hoặc sửa web hay đặt một plugin có chức năng đặc biệt, hãy liên hệ ngay tới Jam ( thông tin ở chân trang )

Bài viết liên quan

6 nhận xét cho “Cài đặt DNS Server trên hệ điều hành CentOS”

      1. Địa chỉ này mình tự quy định hay lấy phải trong 1 danh sách các ip cố định nào đó. mình thấy trong các bài hướng dẫn ở các website khác mỗi web đưa ví dụ 1 ip mình chưa hiểu chỗ này. thanks bạn

Trả lời Jam Việt Hủy

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lưu ý: Không đăng thông tin cá nhân của bạn như email hay số điện thoại để không bị quấy rầy, tham khảo thêm quy định khi comment !