Trong bài viết trước tôi đã hướng dẫn các bạn cách cấu hình một DNS Server trên CentOS 7 . Mục tiêu của tôi trong bài này là tiếp tục hướng dẫn bạn dựng 2 DNS server , với 1 Master DNS và 1 Slave DNS server dùng để dự phòng khi máy chủ DNS chính ngưng hoạt động
Để tiếp tục bài hướng dẫn này , bạn cần phải có 2 máy CentOS 7 . Cách cấu hình Master DNS tôi đã đề cập trong bài viết trước bạn có thể xem tại
Cấu hình DNS Server trên CentOS 7
Trong bài này tôi sẽ tập trung vào bổ sung một số phần trên Master DNS server và cấu hình Master DNS server
Host | Role | Private FQDN | Private IP Address |
---|---|---|---|
server1 | Master DNS Server | server1.adminvietnam.org | 172.16.1.125 |
server2 | Slave DNS Server | server2.adminvietnam.org | 172.16.1.126 |
1.Master DNS
Chỉnh sửa file named.conf , thêm một số dòng
Trước tiên chúng ta sẽ thêm dòng bên dưới để server lắng nghe trên port 53 , localhost và IP 172.16.1.125
options
{
listen-on port 53 { 127.0.0.1; 172.16.1.125; };
...
Để các máy client có thể phân giải được một số tên miền hoặc địa chỉ IP không có trong DNS server ta cần forward lời đề nghị đó đến một DNS server khác , ở đây tôi chọn DNS Server của Google
...
directory "/var/named";
forwarders {8.8.8.8; };
...
Tiếp theo tôi sẽ bổ sung các dòng cho phép các DNS phân giải trên đường mạng 172.16.1.0 và cho phép tranfer sang máy Slave DNS 172.16.1.126
allow-query {localhost; 172.16.1.0; }; allow-transfer {localhost; 172.16.1.126; }; ## IP Slave Server recursion no; };
Tiếp tục ta thêm một số dòng cho Forward Zone , cho phép tự động cập nhật trên đường mạng 172.16.1.0/24 và transfer sang máy Slave DNS 172.16.1.126 . Ở đây chúng ta đang cấu hình trên máy Master DNS nên type là master
zone "adminvietnam.org" in { type master; file "adminvietnam.db"; allow-update { 172.16.1.0/24; }; allow-transfer {172.16.1.126; }; };
Tương tự chúng ta cũng thêm ở phần Reverse Zone
zone "1.16.172.in-addr.arpa" in { type master; file "1.16.172.db"; allow-update { 172.16.1.0/24; }; allow-transfer {172.16.1.126; }; };
File named.conf sau khi chỉnh sửa xong
Bạn có thể tải file named.conf tại https://goo.gl/b7XQnO
Chỉnh sửa Forward Zone file
/var/named/adminvietnam.db
$TTL 86400 @ IN SOA server1.adminvietnam.org. root ( 3; 28800; 7200; 604800; 86400; ) ; Name server's @ IN NS server1.adminvietnam.org. @ IN NS server2.adminvietnam.org. ; Name server hostname to IP resolve @ IN A 172.16.1.125 @ IN A 172.16.1.126 ; Hosts in Domain server1 IN A 172.16.1.125 server2 IN A 172.16.1.126 www IN CNAME server1 ftp IN CNAME server1 mail IN CNAME server1
Bạn có thể tải file adminvietnam.db tại https://goo.gl/LU8NyE
Chỉnh sửa Reverse Zone file
nano /var/1.16.172.db
$TTL 86400 @ IN SOA server1.adminvietnam.org. root.( 3; 28800; 7200; 604800; 86400; ) ; Name server's @ IN NS server1.adminvietnam.org. @ IN NS server2.adminvietnam.org. @ IN PTR adminvietnam.org. ; Name server hostname to IP resolve. server1 IN A 172.16.1.125 server2 IN A 172.16.1.126 ; Hosts in Domain 125 IN PTR server1.adminvietnam.org. 126 IN PTR server2.adminvietnam.org.
Bạn có thể tải file 1.16.172.db tại https://goo.gl/8duLcM
Bạn có thể tải file localhost.db và file 0.0.127.db tại https://goo.gl/aCaJA7 & https://goo.gl/vA54mc
Thiết lập firewall
firewall-cmd --permanent --zone=public --add-service=dns firewall-cmd --reload
Khởi động Bind trên Master DNS
systemctl start named systemctl enable named
Kiểm tra trên máy Master DNS
dig adminvietnam.org dig -x 172.16.1.125
2. Slave DNS
Đặt IP tĩnh cho máy
nano /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=172.16.1.126 PREFIX=24 GATEWAY=172.16.1.254 DNS1=172.16.1.126 DNS2=172.16.1.125
Cài đặt Bind
yum install bind* -y
Chỉnh sửa file named.conf
nano /etc/named.conf
với phần options ta chỉ sửa địa chỉ IP thành IP của máy Slave
options
{
listen-on port 53 { 127.0.0.1; 172.16.1.126; };
query-source port 53;
query-source-v6 port 53;
directory "/var/named";
forwarders {8.8.8.8; };
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 { localhost; 172.16.1.0/24; };
};
Tiếp theo ta sửa Forward Zone , Reverse Zone và type
zone "." in { type hint; file "named.root"; }; zone "adminvietnam.org" in { type slave; file "adminvietnam.db" masters { 172.16.1.125; }; }; zone "1.16.172.in-addr.arpa" in { type slave; file "1.16.172.db" masters {172.16.1.125; }; };
Bạn có thể tại file named.conf cho Slave tại https://goo.gl/TyI9P4
Tạo các file Forward và Reverse như trên , chúng ta có thể chép 2 file này từ máy Master sang máy Slave theo đường dẫn /var/named/
Sau khi đã hoàn thành ta khởi động Bind
systemctl start named systemctl enable named
Thiết lập Firewall
firewall-cmd --permanent --zone=public --add-service=dns firewall-cmd --reload
Kiểm tra trên máy Slave DNS
dig adminvietnam.org dig -x 172.16.1.126
LuanPM – Adminvietnam.org