Mục lục
Giới thiệu.
Trong bài viết trước chúng ta đã tìm hiểu về DNS là gì và một số khái niệm chung. Hôm nay mình sẽ trình bày cách thức thiết lập một DNS server đơn giản. Ở mức độ đơn giản thì chúng ta có thể sử dụng cho mạng nội bộ. Mục tiêu có thể là phục vụ cho hệ thống gồm 50 máy trạm trở xuống chẳng hạn.
Bài Lab này sẽ sử dụng các máy ảo với thông tin như sau:
- Primary DNS server (Máy chủ DNS chính):
- Operating system : Ubuntu 16.04 LTS 64 bit server
- Hostname : dns1.echip.local
- IP address : 192.168.1.101/24
- Secondary DNS server (Máy chủ DNS dự phòng):
- Operating system : Ubuntu 16.04 LTS 64 bit server
- Hostname : dns2.echip.local
- IP address : 192.168.1.102/24
- DNS Client (Máy trạm của nhân viên):
- Operating system : Windows XP
- Hostname : echip-xpclient
- IP address : 192.168.1.103/24
Hướng dẫn cài đặt và cấu hình trên Primary DNS server.
Cài đặt BIND.
Bước 1: Ta cài đặt BIND và các gói cần thiết bằng lệnh:
1 |
sudo apt-get install bind9 bind9utils bind9-doc |
Cài đặt Caching DNS.
Bước 2: Ta chỉnh sửa file /etc/bind/named.conf.options bằng lệnh:
1 |
sudo nano /etc/bind/named.conf.options |
Bước 3: Tìm đoạn có thông số forwarders sửa nội dung lại như sau:
1 2 3 |
forwarders { 8.8.8.8; }; |
Bước 4: Bấm Ctrl + X. Sau đó bấm Y rồi enter để lưu lại. Tiếp theo khởi động lại Bind9 bằng lệnh:
1 |
sudo systemctl restart bind9 |
Xác định Forward zone và Reverse zone.
Bước 5: Chỉnh thông số Forward zone và Reverse zone bằng cách sử file /etc/bind/named.conf.local:
1 |
sudo nano /etc/bind/named.conf.local |
Bước 6: Thêm nội dung dưới đây vào:
1 2 3 4 5 6 7 8 9 10 11 12 |
zone "echip.local" { type master; file "/etc/bind/for.echip.local"; allow-transfer { 192.168.1.102; }; also-notify { 192.168.1.102; }; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/rev.echip.local"; allow-transfer { 192.168.1.102; }; also-notify { 192.168.1.102; }; }; |
Bước 7: Tạo Forward zone file bằng lệnh:
1 |
sudo nano /etc/bind/for.echip.local |
Bước 8: Thêm nội dung bên dưới và lưu lại:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$TTL 86400 @ IN SOA dns1.echip.local. root.echip.local. ( 2011071001 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS dns1.echip.local. @ IN NS dns2.echip.local. @ IN A 192.168.1.101 @ IN A 192.168.1.102 @ IN A 192.168.1.103 dns1 IN A 192.168.1.101 dns2 IN A 192.168.1.102 echip-xpclient IN A 192.168.1.103 |
Bước 9: Tạo Reverse zone file bằng lệnh:
1 |
sudo nano /etc/bind/rev.echip.local |
Bước 10: Thêm nội dung bên dưới rồi lưu lại:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$TTL 86400 @ IN SOA dns1.echip.local. root.echip.local. ( 2011071002 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS dns1.echip.local. @ IN NS dns2.echip.local. @ IN PTR echip.local. dns1 IN A 192.168.1.101 dns2 IN A 192.168.1.102 echip-xpclient IN A 192.168.1.103 101 IN PTR dns1.echip.local. 102 IN PTR dns2.echip.local. 103 IN PTR echip-xpclient.echip.local. |
Bước 11: Phân quyền cho thư mục /etc/bind:
1 2 |
sudo chmod -R 755 /etc/bind sudo chown -R bind:bind /etc/bind |
Bước 12: Kiểm tra các file config đã đúng chưa bằng lệnh bên dưới. Nếu không báo lỗi gì là OK nha các bạn.
1 2 |
sudo named-checkconf /etc/bind/named.conf sudo named-checkconf /etc/bind/named.conf.local |
Bước 13: Kiểm tra các zone file config đúng chưa:
1 2 3 |
sudo named-checkzone echip.local /etc/bind/for.echip.local zone echip.local/IN: loaded serial 2011071001 OK |
1 2 3 |
sudo named-checkzone echip.local /etc/bind/rev.echip.local zone echip.local/IN: loaded serial 2011071002 OK |
Bước 14: Khởi động lại Bind
1 |
sudo systemctl restart bind9 |
Bước 15: Chỉnh sửa file /etc/network/interfaces và thêm option dns-nameservers:
1 2 3 |
sudo nano /etc/network/interfaces dns-nameservers 192.168.1.101 dns-nameservers 192.168.1.102 |
Hướng dẫn cài đặt và cấu hình trên Secondary DNS server.
Bước 1: Ta cài đặt BIND và các gói cần thiết bằng lệnh:
1 |
sudo apt-get install bind9 bind9utils bind9-doc |
Xác định Forward zone và Reverse zone file.
Bước 2: Chỉnh sửa file /etc/bind/named.conf.local
1 |
sudo nano /etc/bind/named.conf.local |
Bước 3: Thêm nội dung dưới đây và lưu lại:
1 2 3 4 5 6 7 8 9 10 |
zone "echip.local" { type slave; file "/var/cache/bind/for.echip.local"; masters { 192.168.1.101; }; }; zone "1.168.192.in-addr.arpa" { type slave; file "/var/cache/bind/rev.echip.local"; masters { 192.168.1.101; }; }; |
[box type=”note” align=”” class=”” width=””]Lưu ý: Địa chỉ 192.168.1.101 là địa chỉ của Primary DNS server. Và đường dẫn của zone file phải là /var/cache/bind/ vì tường lửa AppArmor chỉ cho phép quyền write ở đó.[/box]
Bước 4: Phân quyền cho thư mục /etc/bind:
1 2 |
sudo chmod -R 755 /etc/bind sudo chown -R bind:bind /etc/bind |
Bước 5: Chỉnh sửa file /etc/network/interfaces và thêm option dns-nameservers:
1 2 3 |
sudo nano /etc/network/interfaces dns-nameservers 192.168.1.101 dns-nameservers 192.168.1.102 |
Bước 6: Khởi động lại máy chủ Secondary DNS để các thiết lập có hiệu lực:
1 |
sudo reboot |
Hướng dẫn đặt DNS cho máy Client và test.
Video hướng dẫn.
[box type=”note” align=”” class=”” width=””]Sau bài này chúng ta sẽ học cấu hình DHCP để cấp địa chỉ IP tự động cho các máy client trong mạng nội bộ nhé.[/box]
Tags: linux Tự học linux Ubuntu 16.04
ah oi may clent da phan giai duocdia chi cua hai server nhung khong the ping duoc google.com thi phai lam the nao a.EM cam on
Bạn xem lại chỗ cấu hình forwarders ấy điền vào đó địa chỉ 8.8.8.8 và 8.8.4.4 là opendns của google để khi local dns không phân giải được thì nó sẽ hỏi những server đó. Làm trên máy ảo có khi nó chậm á, trong video mình làm nó cũng bị chậm tưởng ping không được luôn.
vẫn không được ad à, chán quá 🙁
Bạn ơi, cho mình hỏi là thay vì cấu hình gía trị”masters{}” trong mỗi zone của file “/etc/bind/named.conf.local”, thì giờ mình cấu hình giá trị “masters{}” một lần duy nhất trong file “named.conf.options” có được không. Để sau này có thay đổi IP ns1 đỡ phải update từng zone ấy 😀 Cảm ơn bạn nhiều nha.
Không được nhé bạn. Vì người lập trình phần mềm họ quy định sẵn file nào có thể cấu hình những gì. Làm khác thì xảy ra lỗi.