Phân loại DNS server và đồng bộ dữ liệu giữa các DNS server

Một phần của tài liệu Đồ án xây dựng cấu hình các ứng dụng phía server trong hệ điều hành linux fedora 5 0 (Trang 59)

3.6.1 Phân loại DNS server

Có ba loại DNS server sau: + Primary server

. Nguồn xác thực thông tin chính thức cho các domain mà nó được phép quản lý . Thông tin về tên miền do nó được phân cấp quản lý thì được lưu trữ tại đây và sau

đó có thể được chuyển sang cho các secondary server

. Các tên miền do primary server quản lý thì được tạo và sửa đổi tai primary server và được cập nhật đến các secondary server

. Primary server nên đặt gần với các client để có thể phục vụ truy vấn tên miền một cách dễ dàng và nhanh hơn.

+ Secondary server

. DNS được khuyến nghị nên sử dụng ít nhất là hai DNS server để lưu cho mỗi một zone. Primary DNS server quản lý các zone và secondary server sử dụng để lưu trữ

dự phòng cho primary server. Secondary DNS server được khuyến nghị dùng nhưng không nhất thiết phải có. Secondary server được phép quản lý domain nhưng dữ liệu về tên miền (domain), nhưng secondary server không tạo ra các bản ghi về tên miền (domain) mà nó lấy về từ primary server.

. Khi lượng truy vấn zone tăng cao tại primary server thì nó sẽ chuyển bớt tải sang cho secondary server. Hoặc khi primary server gặp sự cố không hoạt động được thì secondary server sẽ hoạt động thay thế cho đến khi primary server hoạt động trở lại. . Secondary server nên được đặt ở gần với primary server và client để có thể phục vụ

cho việc truy vấn tên miền dễ dàng hơn. Nhưng không nên cài đặt secondary server trên cùng một mạng con (subnet) hoặc cùng một kết nối với primary server. Để khi primary server có kết nối bị hỏng thì cũng không có ảnh hưởng đến secondary server.

. Primary server thường xuyên thay đổi hoặc thêm vào các zone mới. Nên DNS server sử dụng cơ chế cho phép secondary lấy thông tin từ primary server và lưu trữ nó. Có hai giải pháp lấy thông tin về các zone mới là lấy toàn bộ (full) hoặc chỉ lấy phần thay đổi (incremental)

+ Caching<only server

Tất cả các DNS server đều có khả năng lưu trữ dữ liệu trên bộ nhớ cache của máy để trả lời truy vấn một cách nhanh chóng. Nhưng hệ thống DNS còn có một loại Caching.only server. Loại này chỉ sử dụng cho việc truy vấn, lưu giữ câu trả lời dựa trên thông tin có trên cache của máy và cho kết quả truy vấn. Chúng không hề quản lý một domain nào và thông tin mà nó chỉ giới hạn những gì được lưu trên cache của server. Lúc ban đầu khi server bắt đầu chạy thì nó không lưu thông tin nào trong cache. Thông tin sẽ được cập nhật theo thời gian khi các client server truy vấn dịch vụ DNS. Nếu sử dụng kết nối mạng WAN tốc độ thấp thì việc sử dụng caching.only DNS server là giải pháp hữu hiệu cho phép giảm lưu lượng thông tin truy vấn trên đường truyền. Caching.only có khả năng trả lời các câu truy vấn đến client. Nhưng không chứa zone nào và cũng không có quyền quản lý bất kì domain nào. Nó sử dụng bộ cache của mình để lưu các truy vấn của DNS của client. Thông tin sẽ được lưu trong cache để trả lời các truy vấn đến client.

3.6.2 Sự uỷ quyền giữa các miền con (Delegating Subdomains)

Một trong các mục tiêu thiết kế hệ thống DNS là khả năng quản lý phân tán thông qua cơ chế ủy quyền (delegation). Trong một miền có thể tổ chức thành nhiều miền con, mỗi miền con có thể được ủy quyền cho một tổ chức khác và tổ chức đó chịu trách

Hình 3.4: Ví dụ hoạt động DNS

3.6.3 Đồng bộ dữ liệu giữa các DNS server( Zone transfer)

3.6.3.1 Các phương pháp đồng bộ dữ liệu giữa các DNS server

Do đề phòng rủi ro khi DNS server không hoạt động hoặc kết nối bị đứt người ta khuyên nên dùng hơn một DNS server để quản lý một zone nhằm tránh trục trặc đường truyền. Do vậy phải có cơ chể chuyển dữ liệu các zone và đồng bộ giữa các DNS server khác nhau. Có hai cách để đồng bộ dữ liệu giữa các DNS server là primary server và secondary server như: Truyền toàn bộ zone (all zone transfer) và truyền phần thay đổi (Incremental zone transfer)

+ Truyền toàn bộ zone (all zone transfer)

Khi một DNS server mới được thêm vào mạng thì nó được cấu hình như một secondary server mới cho một zone đã tồn tại. Nó sẽ tiến hành nhận toàn bộ dữ liệu từ primary server. Đối với các DNS server phiên bản đầu tiên thường dùng giải pháp lấy toàn bộ các cơ sở dữ liệu khi có các thay đổi trong zone.

+ Truyền phần thay đổi(Incremental zone)

Theo giải pháp này là chỉ truyền những những dữ liệu thay đổi của zone. Đồng bộ dữ liệu này được miêu tả chi tiết trong tiêu chuẩn RFC 1995. Nó cung cấp giải pháp hiệu quả cho việc đồng bộ những thay đổi, thêm, bớt của zone.

3.6.3.2 Cơ chế hoạt động đồng bộ dữ liệu giữa các DNS server

Với trao đổi IXFR zone thì so sánh sự khác nhau giữa số serial của nguồn dữ liệu và bản sao của nó. Nếu cả hai đều có cùng số serial thì việc truyền dữ liệu của zone sẽ không thực hiện. Nếu số serial cho dữ liệu nguồn lớn hơn số serial của secondary server thì nó sẽ thực hiện gửi những thay đổi của bản ghi nguồn (Resource record – RR) của zone ở Primary Server.

Để truy vấn IXFR thực hiện thành công và các thay đổi được gửi thì tại DNS server nguồn của zone phải được lưu giữ các phần thay đổi để sử dụng truyền đến nơi yêu cầu của truy vấn IXFR. Incremental sẽ cho phép lưu lượng truyền dữ liệu ít và thực hiện nhanh hơn.

Zone transfer sẽ xảy ra khi có những hành động sau xảy ra:

.Khi quá trình làm mới của zone đã kết thúc (refresh exprire )

.Khi secondary server được thông báo zone đã thay đổi tại nguồn quản lý zone .Khi thêm mới secondary server

.Tại secondary server yêu cầu chuyển zone

Các bước yêu cầu chuyển dữ liệu từ secondary server đến DNS server chứa zone để yêu cầu lấy dữ liệu về zone mà nó quản lý.

Bước 1: Khi cấu hình DNS server mới, thì nó sẽ gửi truy vấn yêu cầu gửi toàn bộ zone (all zone transfer request<AXFR) đến DNS server chính quản lý dữ liệu của zone

Bước 2: DNS server chính quản lý dữ liệu của zone trả lời và chuyển toàn bộ dữ liệu về zone cho secondary server (destination) mới cấu hình.

Để xác định có chuyển dữ liệu hay không thì nó dựa vào số serial được khai báo bằng bản ghi SOA.

Bước 3: Khi thời gian làm mới (refresh interval) của zone đã hết, thì DNS server nhận dữ liệu sẽ truy vấn yêu cầu làm mới zone tới DNS server chính chứa dữ liệu zone Bước 4: DNS server chính quản lý dữ liệu sẽ trả lời truy vấn và gửi lại dữ liệu. Trả lời truy vấn dữ liệu gồm số serial của zone tại DNS server chính.

Bước 5: DNS server nhận dữ liệu về zone và sẽ kiểm tra số serial trong trả lời và quyết định xem có cần truyền dữ liệu không.

+ Nếu giá trị của số serial của Primary Server bằng với số serial lưu tại nó thì sẽ kết thúc luôn. Và nó sẽ thiết lập lại với các thông số cũ lưu trong máy.

+ Nếu giá trị của số serial tại Primary Server lớn hơn giá trị serial hiện tại DNS nhận dữ liệu. Thì nó kết luận zone cần được cập nhật và cần đồng bộ dữ liệu giữa hai DNS server

Bước 6: Nếu DNS server nhận kết luận rằng zone cần phải lấy dữ liệu thì nó sẽ gửi yêu cầu IXFR tới DNS server chính để yêu cầu truyền dữ liệu của zone.

+ Nếu DNS server chính có hỗ trợ việc gửi những thay đổi của zone thì nó sẽ gửi những phần thay đổi của nó (Incremental zone transfer of the zone).

+ Nếu DNS server chính không hỗ trợ thì nó sẽ gửi toàn bộ zone (Full AXFR transfer of the zone )

3.7 Gói phần mềm Bind

Chương trình server của DNS là một daemon named hoạt động ở port 53. Trong quá trình khởi động, named đọc các tập tin dữ liệu rồi chờ các yêu cầu phân giải qua cổng xác định trong tập tin /etc/services. Khi nhận được một yêu cầu từ resolver, đầu tiên named dùng giao thức UDP để truy vấn. Nếu dùng giao thức UDP phân giải không có kết quả, thì sau đó named sẽ dùng giao thức TCP.

3.7.1 Tìm kiếm và cài đặt gói Bind

Gói phần mềm để cài đặt cho máy chủ DNS đối với hệ điều hành Linux Fedora 5.0 có tên là: “bind<9.3.2<4.1.i386.rpm”. Trong đó, tên của gói là bind tiếp theo là số phiên bản của gói phần mềm và cuối cùng là đuôi mở rộng là: “rpm”.

BIND viết tắt của Berkeley Internet Name Domain, đó là một nhóm chuyên cung cấp và quản lý các phần mềm cho DNS chạy trong hệ điều hành Linux. Chương trình nổi tiếng nhất mà BIND thiết lập được đó là: named, dùng để trả lời các câu truy vấn cơ sở dữ liệu DNS từ các máy ở xa.

Để có được gói này, có thể download từ mạng Internet qua trang web: http:// www. isc.org hoặc từ trang FTP có địa chỉ: 204.152.184.27. Tuy nhiên, để đảm bảo các gói phần mềm tương thích với nhau và có thể chạy nhịp nhàng nên sử dụng phần mềm có trong bộ đĩa CD.ROM hệ điều hành Linux Fedora 5.0 thường nằm trong đĩa thứ nhất. Việc cài đặt gói phần mềm này cũng rất đơn giản, các bước tiến hành như cách cài đặt gói phần mềm DHCP như đã nói ở chương 2.

3.7.2 Khởi động DNS Server

Dùng lệnh chkconfig để khởi động BIND ở lần đầu tiên:

[root@dhxd tmp]# chkconfig named on

Những lần sau không cần phải sử dụng lệnh này mà dùng lệnh start trong tập lệnh của

gói named như sau:

[root@dhxd tmp]# /etc/init.d/named start

Hình 3.5: Điều khiển BIND qua các lệnh

Để có thêm các lệnh điều khiển khác nữa nhấn phím Enter trên bàn phím sau khi đã gõ chkconfig dhcpd hoặc /etc/init/dhcpd sẽ xuất hiện hộp thoại như hình trên.

Trong đó:

Start: Khởi động lại DNS server, câu lệnh này chỉ có tác dụng khi máy chủ DNS đã được boot (khởi động lần đầu) và hiện đang tạm dừng hoặc không hoạt động.

Stop: Dừng hẳn sự hoạt động của máy chủ DNS, lệnh này sẽ dừng tất cả các dịch vụ và hoạt động bên trong hệ thống máy chủ DNS.

Restart: Khởi động lại quá trình hoạt động của các dịch vụ của máy chủ DNS, lệnh này có tác dụng với cả hai trường hợp là máy chủ DNS đang hoạt động hoặc máy chủ DNS đã dừng hẳn. Bởi quy trình hoạt động của lệnh này là không cấn kiểm tra trạng thái hoạt động của hệ thống như thế nào mà nó sẽ thực hiện theo đúng quy trình đã lập sẵn là: dừng hẳn hệ thống sau đó khởi động lại. Có thể nói lệnh này là tổng hợp của hai lệnh start và stop. Câu lệnh này rất có tác dụng khi cấu hình của máy chủ DNS có sự thay đổi, khi đó để máy chủ có thể hoạt động chính xác thay vì việc khởi động lại cả máy chủ thì chỉ cần dùng lệnh này là máy chủ DNS sẽ tự động cập nhật những sự thay đổi giúp hệ thống hoạt động chính xác.

Bên cạnh việc điều khiển bằng cách sử dụng các câu lệnh, còn một cách khác đó là sử dụng công cụ trong cửa sổ “tool service configuration” như hình dưới đây:

Hình3.6: Cửa sổ điều khiển BIND

Chức năng và cách sử dụng của các nút điều khiển DNS server tương tự như DHCP server và đã được trình bày chi tiết ở chương 2.

3.8 Cấu hình DNS Server

Trước khi cấu hình 1 name server phải trải qua các bước sau: Đăng ký một domain name

Tạo một danh sách những tên và địa chỉ IP tương ứng Tạo tập tin /etc/named.conf

Tạo những tập tin dữ liệu cho zone 3.8.1 Tập tin “/etc/named.conf”

Tập tin này chứa những thông tin quan trọng được sử dụng bởi daemon named khi daemon này hoạt động. Nội dung của tập tin này như sau:

// generated by named9bootconf.pl options {

directory "/var/named"; /*

* to talk to, you might need to uncomment the query9source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default.

*/

// query9source address * port 53; };

//

// a caching only nameserver config //

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow9update { none; }; }; zone "0.0.127.in9addr.arpa" IN { type master; file "named.local"; allow9update { none; }; }; include "/etc/rndc.key"; Trong đó:

Options: Định nghĩa những cấu hình toàn cục cho DNS server. Cú pháp:

Options {

[directory path_name;]

[forwarders {in_addr1; inaddr2;…};]

[allow_query {address_match_list};]

[allow9update {ip9addr1; ip9addr2…;};]

Directory <đường dẫn thư mục chứa các file CSDL của DNS>

Forwarders: danh sách địa chỉ IP của các name server mà nó sẽ gửi yêu cầu truy vấn khi cần

Allow<query: danh sách địa chỉ IP được phép truy vấn CSDL DNS

Notify: mặc định được set là “yes”, khi có sự thay đổi trên CSDL thì name server sẽ gửi thông báo về sự thay đổi này cho các name server trong danh sách name server được liệt kê trong record NS và các name server được khai báo trong tùy chọn also. notify

Also<notify: địa chỉ IP của các name server sẽ được gửi thông báo khi có sự thay đổi trên CSDL DNS.

Allow<update: quy định việc các máy trong miền có được phép cập nhật DNS động hay không, mặc định việc này bị cấm đối với tất cả các máy.

Zone: Định nghĩa một zone để quản lý CSDL cho miền hay miền con. Cú pháp: Zone [domain9name] IN { Type master/slave/hint/stub; File path_name; }; Type:

Master: server có bản copy chính CSDL

Slave: server lưu một bản sao CSDL từ master. Nếu một tập tin được chỉ ra nó sẽ sao chép toàn bộ zone master về.

Stub: tương tự như slave nhưng chỉ sao chép record NS từ Master chứ không phải toàn bộ dữ liệu.

Hint: zone chỉ ra những root name server. Masters: địa chỉ IP của master name server. File: tập tin định nghĩa CSDL

3.8.2Cấu hình Primary Name Server Các bước cấu hình một primary name server:

Định nghĩa zone trong file /etc/named.conf

Tạo tập tin CSDL phân giải tên máy tính thành địa chỉ IP Tạo tập tin CSDL phân giải địa chỉ IP thành tên máy tính 3.8.2.1 Tạo tập tin “/etc/named.conf”

Lấy ví dụ tạo một file cấu hình cho miền dhxd.com như sau:

Directory “/var/named”; }; Zone “.” IN { Type hint; File “named.ca”; }; Zone “localhost” IN { Type master; File “localhost.zone”; Allow9update {none;}; }; Zone “0.0.127.in9addr.arpa” IN { Type master; File “named.local”; Allow9update {none;}; }; Zone “dhxd.com” IN { Type master; File “named.host”; }; Zone “0.168.192.in9addr.arpa” IN { Type master; File “named.rev”; };

3.8.2.2 Tạo tập tin phân giải thuận (phân giải tên thành địa chỉ IP)

@ IN SOA cntt.dhxd.com. root.dhxd.com.(

2005032901; 3H; 1H; 1W; 1D) IN NS cntt.dhxd.com. IN MX 0 mail.dhxd.com. Cntt IN A 192.168.0.1 Mail IN A 192.168.0.1 www IN CNAME cntt.dhxd.com.

3.8.2.3 Tạo tập tin phân giải nghịch (phân giải IP thành tên máy)

@ IN SOA cntt.dhxd.com. root.dhxd.com.(

2005032901; 3H; 1H; 1W; 1D) IN NS cntt.dhxd.com. IN MX 0 mail.dhxd.com. 1 IN PTR cntt.dhxd.com. 101 IN PTR kt001.dhxd.com.

3.8.3 Cấu hình Secondary Name Server

Tương tự như cấu hình Primary Name Server nhưng có một số điểm khác:

Không tạo các file CSDL cho zone. Các file này sẽ được sao chép từ Primary Name Server.

Trong tập tin /etc/named.conf thay thế thuộc tính type là master thành slave Cung cấp địa chỉ IP của Primary Name Server.

Dưới đây là file /etc/named.conf cấu hình Secondary Name Server cho domain

dhxd.com Options { Directory “/var/named”; }; Zone “.” IN { Type hint; File “named.ca”; }; Zone “localhost” IN { Type master; File “localhost.zone”; Allow9update {none;}; }; Zone “0.0.127.in9addr.arpa” IN { Type master; File “named.local”; Allow9update {none;}; }; Zone “dhxd.com” IN {

Type slave; Masters {192.168.0.1;}; File “slvnamed.host”; }; Zone “0.168.192.in9addr.arpa” IN { Type slave; Masters {192.168.0.1;}; File “slvnamed.rev”; }; 3.9 Cấu hình Client

Đối với máy Linux, vào tập tin /etc/resolv.conf thêm vào 2 dòng sau:

nameserver < name server IP> domain <domain name>

Đối với Windows thì chỉ cần thêm vào phần cấu hình IP địa chỉ của name server 3.10 Chạy thử

CHƯƠNG IV

CẤU HÌNH WEB SERVER APACHE

4.1 Giới thiệu về Web server và Apache

Một phần của tài liệu Đồ án xây dựng cấu hình các ứng dụng phía server trong hệ điều hành linux fedora 5 0 (Trang 59)

Tải bản đầy đủ (PDF)

(95 trang)