Giới thiệu
DNS (Domain Name System) là một hệ cơ sở dữ liệu phân tán
dùng để ánh xạ giữa các tên miền vê các địa chỉ IP. DNS đưa ra một phương pháp
đặc biệt để duy trì vê liên kết các ánh xạ nêy trong một thể thống nhất.
BIND (Berkeley Internet Name Distributed) là phần mềm DNS
Server được sử dụng nhiều nhất hiện nay trên thế giới. Một chương trình phục vụ
DNS trên nền các hệ thống AIX/BSD/HP-UX/Unix/Linux…
Bind chạy nhanh, hiệu suất cao, đáp ứng được số lượng user lớn,
cấu hình linh hoạt, …
Phân loại:
Máy chủ DNS chính (Primary Name Server): Mỗi một máy chủ tên
miền có một tên miền riêng. Tên miền riêng này được đăng ký trên Internet.
Máy chủ DNS dự phòng – tên miền thứ hai (Secondary name
server): đây là một DNS Server được sử dụng để thay thế cho Primary name server
DNS Server bằng cách sao lưu lại tất cả
những bản ghi dữ liệu trên Primary name Server và nếu Primary Name Server bị
gián đoạn thì nó sẽ đảm nhận việc phân giải và ánh xạ tên miền và địa chỉ IP.
Caching Name Server: Đây là một Server đảm nhiệm việc lưu trữ
tất cả những tên miền, địa chỉ IP đã được phân giải và ánh xạ thành công. Nó được
sử dụng trong những trường hợp sau:
Làm tăng tốc độ phân giải bằng cách sử dụng cache
Giảm bớt gánh nặng phân giải tên máy cho các DNS Server
Giảm lưu lượng tham gia vào mạng và giảm độ trễ trên mạng (rất
quan trọng).
Kiểm tra và cài các package sau:
#bind
#bind-chroot
Demo “DNS SERVER –
MASTER”
Xây dựng DNS Server chịu trách nhiệm phân giải cho domain
domainabc.vn
Cấu hình
– Tạo tập tin cấu hình từ tập tin mẫu
#cp
/usr/share/doc/bind-9.3.3/sample/etc/named.conf/var/named/chroot/etc
Hiệu chỉnh tập tin /etc/named/chroot/etc/named.conf, xóa từ
dòng 25 đến hết và thêm vào đoạn sau:
zone “domainabc.vn” {
type master;
file domainabc.vn.zone;
};
zone “1.168.192.in-addr.arpa” {
type master;
file 192.168.1.zone;
};
Tạo file database được lưu trong thư mục /var/named/chroot/var/named,
gồm 2 file là file thuận và file nghịch. hoặc có thể copy từ thực mục chứa tập
tin mẫu
/usr/share/doc/bind-9.3.3/sample/
/usr/share/doc/bind-9.3.3/sample/
Tạo file thuận
#vi /var/named/chroot/var/named/domainabc.vn.zone
với nội dung sau:
$TTL 86400
@ IN SOA dns.domainabc.vn. dns2.domainabc.vn. (
2009060601
3H
15M
1W
1D )
IN NS dns.domainabc.vn.
@ IN A 192.168.1.213
dns IN A 192.168.1.106
www IN CNAME
domainabc.vn.
ftp IN CNAME
domainabc.vn.
Tạo file nghịch
#vi /var/named/chroot/var/named/192.168.1.zone
với nội dung sau:
$TTL 86400
@ IN SOA dns.domainabc.vn. dns2domainabc.vn. (
2009060601
3H
15M
1W
1D )
IN NS dns.domainabc.vn.
106
IN PTR dns.domainabc.vn.
213
IN PTR domainabc.vn.
Cấu trúc như sau:
[Tên_miền] IN SOA [Tên_Primarry_Server] [Tên_Second_Server]
Serial number
Refresh number
Retry number
Expire number
TTL number
)
Trong đó:
Serial number: khi Second server kết nối tới primary server
để lấy dự liệu, trước tiên nó sẽ kiểm tra số serial này, nếu số serial này của
primary server mà lớn hơn số serial của second server tức là dữ liệu trên
second server đã hết hạn sử dụng và nó sẽ phải nạp lại dữ liệu mới. mỗi lần cập
nhật dữ liệu trên primary server chúng ta nên tăng số serial này.
Refresh number: khoảng thời gian (giây) mà second server phải
làm mới lại dữ liệu của mình.
Retry number: nếu second server không thể kết nối tới
primary server thì nó tự động kết nối lại sau retry giây này.
Expire number: Nếu second server không thể kết nối tới
primary server sau khoảng thời gian expire giây này, thì second server sẽ không
trả lời cho vùng dữ liệu đó khi được truy vấn, vì nó cho rằng dữ liệu này đã
quá cũ.
TTL number: giá trị này cho phép các server khác cache lại dữ
liệu trong 1 khoảng thời gian TTL này.
Khởi động dịch vụ DNS
#service named start
Xem file log
#tail -f 10 /var/log/messages
Chỉnh sửa DNS Client trên DNS Server, xóa bỏ tất cả các dòng
trong file /etc/resolv.conf và thêm vào dòng sau:
nameserver 192.168.1.106
Truy vấn Dns Domain domainabc.vn từ máy Windows và Linux, sử
dụng lệnh nslookup
Demo “DNS SERVER – SLAVE”
Xây dựng Slave DNS Server cho domain domainabc.vn
Chuẩn bị
+ Đặt IP, Hostname
+ Tắt Firewall, SELinux
+ Kiểm tra và cài package bind, bind-chroot
Thực hiện
#cp /usr/share/doc/bind-9.3.3/sample/etc/named.conf /var/named/chroot/etc
Hiệu chỉnh tập tin /etc/named/chroot/etc/named.conf, xóa từ dòng 25 đến hết và thêm vào đoạn sau:
zone “domainabc.vn” {
type slave;
masters {192.168.1.106;};
file “slaves/domainabc.vn.zone”;
};
zone “1.168.192.in-addr.arpa” {
type slave;
masters {192.168.1.106;};
file “slaves/192.168.1.zone”;
};
Trên Master DNS của bạn thêm option allow-transfer, để cho phép Slave dns được update từ con Master
allow-transfer {192.168.218.136;};
Tranfer các file tập tin record
rndc reload
Kiểm tra kết quả bằng lệnh
ls –l /var/named/chroot/var/named/slaves
Restart dịch vụ named
service named restart
Hiệu chỉnh Dns Client trong file /etc/resolv.conf trỏ vào Slave Dns Server
nameserver 192.168.9.206 –> slave server IP
Kiểm tra dịch vụ bằng nslookup
Demo “DNS SERVER – ỦY QUYỀN”
Yêu cầu: Cấu hình DNS ủy quyền quản lý cho DNS domain con.
B1.Xây dựng DNS Server Master dns.domainabc.vn(máy 1) như bài Demo ở mục 1
B2. Xây dựng DNS Server cho domain hn.domainabc.vn (máy 2) như bài Lab ở mục
1, Chú ý:
+ sửa dns thành hcm
+ Đặt hostname, ip, tắt SELinux cho máy 2.
Trên máy 1 – DNS Server domainabc.vn, thêm vào dòng 9 của
file /var/named/chroot/var/named/domainabc.vn.zone đoạn sau:
hcm IN NS hcmserver.domainabc.vn.
hcmserver IN A 192.168.1.206
Thêm vào cuối file /var/named/chroot/var/named/192.168.1.zone dòng sau:
206 IN PTR hcmserver.domainabc.vn.
Restart dịch vụ named
service named restart
Kiểm tra từ máy 1 phân giải các record của hcm.domainabc.vn
Cấu hình để máy 2 truy vấn được các record của domain
domainabc.vn
Thêm vào dòng 17 của file /etc/named/chroot/etc/named.conf nội
dung sau:
forwarders {192.168.1.106;};
Restart dịch vụ
service named restart
Demo “DNS SERVER – Internal View & External View”
Trong thực tế, khi triển khai DNS, ta cần thiết lập đến 2 bộ DNS phân giải riêng biệt một là cho mạng nội bộ và một là cho các truy vấn từ bên ngoài vào.
VD: Domain cùa công ty hiện tại là domainabc.vn. Trong hệ thống
có xây dựng các dịch vụ mail, web và tình huống đặt ra là khi người dùng trong
hệ thống sử dụng dịch vụ sẽ đi bằng IP lan còn khi ở bên ngoài hệ thống sẽ đi bằng
IP wan trên internet. Thông thường cần đến hai DNS server riêng biệt hoặc 2
zone khác nhau domainabc.localvà domainabc.vn trong dns server. Tuy nhiên Bind
DNS hỗ trợ chúng ta tính năng view dùng để xác định với đối tượng nào sẽ sử dụng
bộ phận giải nào.
Đơn cử ở đây tôi dùng hai view: internal và external ý nghĩa
là đối tượng trong Lan khi truy vấn sẽ dùng bộ internal còn đối tượng ngoài
internet vào sẽ truy vấn dùng bộ external.
Ta triển khai như sau:
Trong file named.conf, thiết lập internals dùng để xác định nhóm các đối tượng được xem là dành cho LAN. Ở đây mạng Lan tôi có net là 10.0.0.0/24
acl internals {
10.0.0.0/24;
localhost;
};
Bây giờ ta tiến hành cấu hình thêm vào bên dưới một tí:
view “internal” {
match-clients { internal; };
// xác định nhóm đối tượng sẽ áp vào view internal có thể thay bằng subnet hoặc địa chỉ ip cụ thể không nhất thiết là tạo trước nhóm internals như trên
zone “domainabc.vn” IN
{
type master;
file “domainabc.vn.zone.lan”;
};
zone “0.0.10.in-addr.arpa” IN
{
type master;
file “10.0.0.zone.lan”;
};
};
Với mạng bên ngòai:
view “external-view” {
match-clients { any; }; //xác định là tất cả
zone “domainabc.vn” IN
{
type master;
file “domainabc.vn.zone.wan”;
};
zone “0.0.10.in-addr.arpa” IN
{
type master;
file “10.0.0.zone.wan”;
};
};
Cách cấu hình tương tự như các phần trên cho 4 file này. Tuy nhiên để dễ dàng kiểm chứng thì các bạn phải cấu hình các ip thật sự khác nhau như đang làm trên thực tế để dễ kiểm chứng kết quả trả về
domainabc.vn.zone.wan10.0.0.zone.wan
domainabc.vn.zone.lan10.0.0.zone.lan
Tiếp đến là kiểm tra thành quả bằng nslookup:
Do lúc đầu quên nên giờ tôi gắn thêm 1 card cùng net với máy client vơi mục đích là kiểm tra kết quả cho các truy vấn khác ngoài mạng Lan.
Và sau đó cấu hình thêm trong named.conf thuộc mục Options
nhà để cho phép lắng nghe các truy cập trên tất cả các card mạng:
listen-on { any; }; // có thể thay bằng IP nếu muốn
Và giờ chỉ việc kiểm tra bằng nslookup trên máy client
Tai lieu them: https://conglinh.com/1694-huong-dan-cai-dat-dns-server-trong-centos-6-8.html
0 nhận xét:
Đăng nhận xét