Bài trước tôi đã giới thiệu cho các bạn cách cấu hình DNS Server và hôm nay tui sẽ giới thiệu tiếp các bạn cách cấu hình một máy tính làm Secondary Name Server dựa trên HĐH Linux.. Định
Trang 1Bài trước tôi đã giới thiệu cho các bạn cách cấu hình DNS Server và hôm nay tui sẽ giới thiệu tiếp các bạn cách cấu hình một máy tính làm Secondary Name Server dựa trên HĐH Linux
Trong bài viết này, coi như chúng ta đã cấu hình được một domain
toantin.org (đây chính là Primary Name Server) Nhưng trước hết, bạn
phải trả lời được câu hỏi: Cấu hình Secondary Name Server để làm gì? Mỗi miền có một Primary Name Server (PNS) để quản lý CSDL của miền
đó Nếu vì một lý do nào đó, Server này ngưng hoạt động thì việc phân giải tên máy tính thành địa chỉ IP và ngược lại bị gián đoạn Sự gián đoạn này làm ảnh hưởng rất lớn đến những tổ chức có nhu cầu trao đổi thông tin ra ngoài internet cao Nhằm khắc phục nhược điểm này, những
nhà thiết kế đã đưa ra một máy chủ dự phòng gọi là Sencondary (hay Slave) Name Server Server này có nhiệm vụ sao lưu tất cả những dữ
liệu trên PNS và khi PNS bị gián đoạn thì nó sẽ đảm nhận việc phân giải tên -> IP và ngược lại (thay cho PNS) Trong một miền có thể có một hay nhiều Secondary Name Server (SNS) Theo một chu kỳ, Secondary
sẽ sao chép và cập nhật CSDL từ PNS Tên và địa chỉ của SNS cũng được mọi người trên Internet biết đến
Ví dụ dễ thấy nhất là của FPT, ngoài máy chủ PNS (còn gọi là Master
Name Server) có tên trên mạng là dns1.hcm.fpt.vn (địa chỉ IP
210.245.31.130) còn có một số SNS khác như: dns2.hcm.fpt.vn
(210.245.31.10), dns3.hcm.fpt.vn (210.245.31.20),
Sau đây ta sẽ sử dụng máy chủ server1 có địa chỉ 192.168.20.5 làm máy chủ dự phòng (SNS) cho miền toantin.org từ Server chính (PNS)
có địa chỉ 192.168.20.4
Cấu hình SNS tương tự như cấu hình PNS, nhưng có một số điểm khác cần lưu ý như sau:
*) Ta không tạo các tập tin CSDL cho zone Những tập tin này sẽ tự động được sao chép từ PNS về lưu tại máy một bản
*) Trong tập tin /etc/named.conf, ta thay thế thuộc tính type là master
thành slave.
Trang 2*) Cung cấp địa chỉ IP của PNS.
Sau đây là ví dụ về tập tin named.conf cấu hình SNS:
options
{
directory "/var/named"; //default
forwarders {210.245.31.130; 210.245.31.10;};
query-source address * port 53;
};
zone "toantin.org" IN {
type slave;
file "/slaves/zone.thuan"; /* file CSDL thuận sẽ tự động được
sao chép về thư mục /var/named/slaves và đổi tên thành tập tin
zone.thuan, bạn có thể đặt tên khác nếu muốn */
masters {192.168.20.4;};
};
zone "20.168.192.in-addr.arpa" IN {
type slave;
file "/slaves/zone.nghich"; /* file CSDL nghịch sẽ tự động
được sao chép về thư mục /var/named/slaves và đổi tên thành
zone.nghich */
masters {192.168.20.4;};
};
Trên Master Name Server, ta khai báo thêm option allow-transfer (cách
khai báo ở bên dưới)
Sau khi cấu hình xong, bạn hãy restart lại service (named) trên máy SNS
để nó tự động copy bản sao CSDL từ máy PNS Chú ý rằng việc copy
này diễn ra rất nhanh, nếu bạn kiểm tra trong thư mục
/var/named/slaves ở máy SNS mà chưa có các tập tin CSDL thì có thể
là do tường lửa đã chặn lại Do đó bạn hãy tạm thời tắt tường lửa đi
bằng tiện ích setup hoặc dùng lệnh /etc/init.d/iptables stop(tắt đồng
thời cả hai máy, đến bài Iptables tôi sẽ giới thiệu kĩ hơn về cách cấu hình tường lửa) Bây giờ máy SNS của bạn có tên trên mạng là
server1.toantin.org (địa chỉ IP 192.168.20.5) cũng làm nhiệm vụ phân
giải tên < > IP luôn!
Ở bài trước tôi có nhắc đền các thông số TTL, Serial, Refresh, khi ta cấu hình zone file, bây giờ tôi sẽ nói rõ hơn về các thông số đó
TTL(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 Việc cache thông tin trả lời giúp giảm lưu lượng truy vấn DNS
Trang 3trên mạng Mặc định giá trị này thường là 86400 (24 giờ)
Serial: áp dụng cho mọi dữ liệu trong zone và là một số nguyên Thông
thường người ta sử dụng theo định dạng thời gian như 2007110501 mà tôi đã áp dụng trong bài trước Định dạng này theo kiểu YYYYMMDDNN, trong đó YYYY là năm, MM là tháng, DD là ngày và NN là số lần sửa đổi
dữ liệu zone trong ngày Bất kể là theo định dạng nào, luôn luôn phải tăng số này lên mỗi lần sửa đổi dữ liệu zone Khi máy chủ Secondary liên lạc với máy chủ Primary, trước tiên nó sẽ hỏi số serial Nếu số serial của máy Secondary nhỏ hơn số serial của máy Primary, tức là dữ liệu zone trên Secondary đã cũ và sau đó máy Secondary sẽ sao chép dữ liệu mới từ máy Primary thay cho dữ liệu đang có
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 Trong ví dụ trước, ta sử
dụng số 28800 (tương ứng với 8 giờ), tức là cứ mỗi 8 giờ máy
Secondary sẽ liên lạc với máy chủ Primary để cập nhật dữ liệu nếu có Giá trị này thay đổi tùy theo tần suất thay đổi dữ liệu trong zone
Retry: nếu máy chủ Secondary không kết nối được với máy chủ Primary
theo thời gian mô tả trong refresh (ví dụ như trong trường hợp máy chủ Primary bị shutdown vào lúc đó thì máy chủ Secondary phải tìm cách kết nối lại với máy chủ Primary theo một chu kỳ thời gian được môt tả trong retry) Thông thường, giá trị này nhỏ hơn giá trị 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 Một khi dữ liệu trên Secondary bị quá hạn thì máy chủ này sẽ
không trả lời mọi truy vấn về zone này nữa Giá trị này phải lớn hơn giá
trị refresh và retry (hiển nhiên rồi! Bởi vì nếu không thi Secondary chưa
kip retry thì dữ liệu đã bị hết hạn mất rồi còn gì )
* Bảo mật DNS Server:
a) Sử dụng notify:
Như ta đã biết DNS Slave và Master có cơ chế tự động cập nhật khi có
sự thay đổi dữ liệu trong zone file dựa trên thông số refresh (thời gian
làm tươi).Tuy nhiên ta có thể mô tả tham số notify để khi máy Master
thay đổi dữ liệu zone, có thể thông báo ngay cho các Slave biết để cập nhật theo
Có hai khai báo notify cho một zone:
notify yes/no; //thông báo cho các Name Server liệt kê bởi các record
NS của zone này
also-notify {danh sách các Slave name server cần thông báo đến để cập nhật};
Trang 4allow-update {danh sách IP update tự động lên name server;};
Ví dụ:
zone "toantin.org" IN {
type master;
file "thuan";
notify yes;
also-notify {192.168.20.10; 192.168.20.14;}
allow-update {none;};
};
zone "20.168.192.in-addr.arpa" IN {
type master;
file "nghich";
notify yes;
allow-update {none;};
};
b) Sử dụng allow-transfer:
Thông thường DNS cho phép copy các zone file giữa Master và Slave Name server Do DNS có thể chứa các thông tin nhạy cảm, nên chỉ cho phép một số máy có thể copy được zone file từ máy master
Cú pháp của allow-transfer như sau:
allow-transfer {danh sách địa chỉ IP cho phép copy dữ liệu;};
Ví dụ:
zone "toantin.org" IN {
type master;
file "thuan";
notify yes;
also-notify {192.168.20.10; 192.168.20.14;};
allow-transfer {192.168.20.10; 192.168.20.14;};
};
c) Sử dụng allow-query:
Mặc định các dữ liệu DNS phổ biến công cộng cho mọi người có thể truy cập Tuy nhiên trong một số trường hợp có thể cần giới hạn việc truy cập dữ liệu DNS cho một số địa chỉ IP nào đó
Cú pháp của allow-query như sau:
allow-query {danh sách địa chỉ IP cho phép truy cập dữ liệu;};
Ví dụ:
zone "toantin.org" IN {
type master;
file "thuan";
notify yes;
also-notify {192.168.20.10; 192.168.20.14;};
Trang 5allow-transfer {192.168.20.10; 192.168.20.14;};
allow-query {192.168.20.0/24}; /* Chỉ cho phép đường mạng 192.168.20.0/24 truy cập dữ liệu */
};
Như vậy là tui đã giới thiệu xong cho các bạn cách cấu hình Secondary Name Server Có lẽ bây giờ bạn sẽ tự hỏi: Tại sao không có máy làm nhiệm vụ Backup nhỉ??
> Chính là máy Secondary đó bạn! Nó cũng làm nhiệm vụ backup luôn rồi còn gì!
Vả lại, nếu chỉ đơn thuần là làm máy backup không thôi thì nó chẳng có
ý nghĩa gì cả bởi vì khi máy PNS bị die, mọi truy vấn đến DNS Server
đều vô tác dụng
Bài viết sau tôi sẽ giới thiệu chi tiết cho các bạn cách cấu hình ủy
quyền cho các miền con!
P/s: Có nhiều bạn hỏi tôi là tại sao làm giống hệt như vậy mà vẫn không được?
Các bạn nên nhớ một điều là hai máy phải đồng bộ về thời gian Tại sao lại như vậy thì chắc các bạn cũng đoán ra được rồi
HOW TO: Configure a Secondary Name Server in
Windows Server 2003
Setup Secondary DNS cho 1 chi nhánh nằm ở xa site chính , mục đích của việc này là khi user nhận mail hay query Internet thì ko chạy đến DNS của site chính mà chỉ cần chạy đến DNS ngay tai noi mình để Query DNS phương án nay để giảm bang thông cho các công ty có đường truyền Lease Line thấp hay sử dụng VPn bang thông nhỏ
Identify the Secondary Name Server
Trang 6On the primary DNS server, identify an additional name server To do this, follow these steps:
1 Click Start, point to Administrative Tools, and then click DNS
2 In the console tree, expand Host name (where Host name is the host name of the DNS server)
3 In the console tree, expand Forward Lookup Zones
4 Right-click the zone that you want (for example, example.com), and then click Properties
5 Click the Name Servers tab, and then click Add
6 In the Server fully qualified domain name (FQDN) box, type the host name of the server that you want to add
For example, type namesvr2.example.com
7 In the IP address box, type the IP address of the name server that you want to add (for example, 192.168.0.22), and then click Add
8 Click OK, and then click OK
9 In the console tree, click Reverse Lookup Zones, right-click the zone that you want, and then click Properties
10 Click the Name Servers tab, and then click Add
11 In the Server name box, type the host name of the server that you want to add
For example, namesvr2.example.com
12 In the IP address box, type the IP address of the name server that you want to add (for example, 192.168.0.22), and then click Add
13 Click OK two times
Install DNS on the Secondary Name Server
To install the DNS service, follow these steps:
1 Log on to the computer as an administrator
2 Click Start, point to Control Panel, and then click Add or Remove Programs
3 Click Add\Remove Windows Components
4 In the Components list, click Networking Services (do not click to select or click to clear the check box), and then click Details
5 Click to select the Domain Name System (DNS) check box, and then click OK
6 On the Windows Components page, click Next
7 Insert the Windows 2003 Server CD when you are prompted, and then click OK
8 On the Completing the Windows Components Wizard page, click
Trang 79 Click Close
DNS is now installed To start the DNS snap-in, click Start, point to
Administrative Tools, and then click DNS
Configure the Forward Lookup Zone
To configure the forward lookup zone on the secondary name server, follow these steps:
1 Log on to the secondary name server as an administrator
2 Click Start, point to Administrative Tools, and then click DNS
3 In the console tree, under DNS, click Host name (where Host name is the host name of the DNS server)
4 In the console tree, click Forward Lookup Zones
5 Right-click Forward Lookup Zones, and then click New Zone
6 When the New Zone Wizard starts, click Next to continue
7 Click Secondary Zone, and then click Next
8 In the Name box, type the name of the zone (for example,
example.com), and then click Next
9 On the Master DNS Servers page, type the IP address of the primary name server for this zone, click Add, click Next, and then click Finish
Configure the Reverse Lookup Zone
To configure the reverse lookup zone on the secondary name server, follow these steps:
1 Click Start, point to Administrative Tools, and then click DNS
2 In the console tree, click Host name (where Host name is the host name of the DNS server)
3 In the console tree, click Reverse Lookup Zones
4 Right-click Reverse Lookup Zones, and then click New Zone
5 When the New Zone Wizard starts, click Next to continue
6 Click Secondary zone, and then click Next
7 In the Network ID box, type the network ID (for example, type
192.168.0), and then click Next
Note The network ID is that portion of the TCP/IP address that pertains
to the network
For additional information about TCP/IP networks, click the article
number below to view the article in the Microsoft Knowledge Base:
164015 ([Thành viên mới nhìn thấy link ] ) Understanding TCP/
Trang 8IP Addressing and Subnetting Basics
8 On the Zone File page, click Next, and then click Finish
Đến đây là chung ta hoàn tất việc tạo secondary DNS rồi nếu trong quá trình chay DNS secondary có lỗi sau
[code ]
Zone not loaded by DNS Server
The DNS server encountered an error while attempting to load the zone The transfer of zone data from the master server failed.[/code]
1 Log on to the primary name server computer as an administrator
2 Click Start, point to Administrative Tools, and then click DNS
3 In the console tree, click Host name (where Host name is the host name of the DNS server)
4 In the console tree, click Forward Lookup Zones
5 Under Forward Lookup Zones, right-click the zone that you want (for example, example.com), and then click Properties
6 Click the Zone Transfers tab
7 Click to select the Allow zone transfers check box, and then click one
of the following options:
* To any server
* Only to servers listed on the Name Servers tab
* Only to the following servers
Note If you click Only to the following servers, type the IP address of the secondary name server in the IP address box, and then click Add
8 Click Apply, and then click OK
9 Quit the DNS snap-in
The end !
Trang 9Mình làm bài lab như sau,giống như thực hành trên trường : Máy 1(10.0.0.1) -Switch -Máy 2(ip:10.0.0.2)
B1:cài DNS server trên 2 máy
máy 1:-chỉnh refer DNS 10.0.0.1
-chỉnh DNS suffix là dom01.local
-tiến hành cài DNS
máy 2:-chỉnh refer DNS 10.0.0.2
-chỉnh DNS suffix là dom02.local
-tiến hành cài DNS
B2:nâng cấp domain trên 2 máy
B3:mình muốn dùng máy 2 làm secondary DNS nhưng đến đây thì làm lộn xộn và kết quả là không được và không tranfer zone được do hôm đi học không nghi chú,nhờ pro nào nhớ bài lab này làm ơn chỉ giáo dùm mình,thanks