Dịch vu dns trên linux

Lời mở đầu Ngày nay, với sự phát triển của khoa học kỹ thuật, máy tính trở nên phổ biến với mọi người, nó mang lại cho con người khả năng to lớn và làm được những công việc phi thường : tính toán nhanh, chính xác các phép toán phức tạp, điều khiển tự động và làm việc theo sự lập trình của con người. Máy tính ra đời không chỉ là công cụ giải phóng sức lao động, hỗ trợ tối đa trong sản xuất mà còn là phương tiện học tập, giải trí bổ ích trong đời sống của mọi người. Sự phát triển của máy tính cũng như công nghệ thông tin sẽ mang lại những thành tựu to lớn cho sự phát triển kinh tế của đất nước. Là phương tiện tiếp cận nhanh nhất đến các thành tựu của khoa học kỹ thuật. Sức mạnh của máy tính được tăng lên nhiều lần khi các máy tính được kết nối thành một mạng máy tính. Là cơ sở hạ tầng cho phép truyền dữ liệu, trao đổi thông tin và điều khiển từ xa, tạo nên một môi trường giao tiếp, liên kết mọi người vượt qua hạn chế về khoảng cách. Với mạng máy tính toàn cầu chúng ta có thể dễ dàng tiếp cận với thế giới bên ngoài, tiếp cận với những thành tựu khoa học tiên tiến nhất trên thế giới. Hiện nay, ứng dụng công nghệ thông tin trong sản xuất và phát triển kinh tế là mục tiêu hàng đầu của đất nước. Mạng Internet trở thành một lĩnh vực nghiên cứu, phát triển và ứng dụng cốt lõi của công nghệ thông tin, bao gồm rất nhiều vấn đề từ kiến trúc, đến nguyên lý thiết kế, cài đặt và mô hình ứng dụng, các dịch vụ trên mang. Mạng viễn thông nói chung và máy tính và mạng máy tính nói riêng là công cụ không thể thiếu trong hoạt động của bộ máy nhà nước, các doanh nghiệp, trường học, . và rất nhiều các lĩnh vực sản xuất khác. Nó đóng vai trò như cầu nối để trao đổi thông tin giữa các chính phủ, các tổ chức xã hội và giữa mọi người với nhau. Với môt sự kết hợp rông rãi như vậy đặt ra vấn đề cái gì giúp con người có thể truy cập tới các trang web dễ dàng để tìm hiểu trao đổi thông tin từ khắp mọi nơi như vậy? Đó là hệ thống tên miền ( Domain Name System ).Khi cần truy cập đến một web site trên Internet, bạn có thể gõ địa chỉ IP của site hoặc gõ tên DNS. Vì các địa chỉ IP rất khó nhớ, nên DNS là một dịch vụ đáng giá. Nó giúp con người dùng tên để truy cập Internet. Máy chủ DNS được đặt trên Internet để chuyển địa chỉ IP thành tên miền. Nhà cung cấp dịch vụ Internet có thể thực hiên được điều này hoặc kết nối với máy chủ DNS để làm chuyện này. Khi bạn nhập tên miền trong web browser, yêu cầu này được gửi đến máy chủ DNS sơ cấp định nghĩa trong cấu hình của web browser. Máy chủ DNS chuyển tên thành địa chỉ IP và trả địa chỉ IP cho hệ thống, dể giúp người sử dụng truy cập tới các web thông qua tên miền nhanh hơn. Trong thời gian học tập tại trung tâm đào tao Bách Khoa Npower, dưới sự hướng dẫn của các thầy giáo chuyên ngành quản trị mạng đặc biêt là thầy Nguyễn Thanh Toàn, em đã chọn đề tài "Dịch vu DNS trên LINUX " cho đồ án môn học SERVER. Mục đích của đề tài là tìm hiểu kỹ về dịch vụ DNS để cài đặt và cấu hình DNS trên Linux. Với các tài liệu thu thập được em đã hoàn thành đồ án về dịch vu DNS trên LINUX bao gồm những kiến thức cơ bản về dịch vụ DNS , cách phân bố dữ liệu quản lý domain name, cơ chế phân giải tên, phân loại Domain Name Server , Resource Record (RR), cài đặt và cấu hình dịch vụ DNS.

doc54 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4382 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Dịch vu dns trên linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
phª b×nh cña ThÇy ®Ó §å ¸n ®­îc hoµn thiÖn h¬n. Sinh viªn Lª ThÞ Thanh HiÒn Lời nhận xét ……………………………………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Lời mở đầu Ngày nay, với sự phát triển của khoa học kỹ thuật, máy tính trở nên phổ biến với mọi người, nó mang lại cho con người khả năng to lớn và làm được những công việc phi thường : tính toán nhanh, chính xác các phép toán phức tạp, điều khiển tự động và làm việc theo sự lập trình của con người. Máy tính ra đời không chỉ là công cụ giải phóng sức lao động, hỗ trợ tối đa trong sản xuất mà còn là phương tiện học tập, giải trí bổ ích trong đời sống của mọi người. Sự phát triển của máy tính cũng như công nghệ thông tin sẽ mang lại những thành tựu to lớn cho sự phát triển kinh tế của đất nước. Là phương tiện tiếp cận nhanh nhất đến các thành tựu của khoa học kỹ thuật. Sức mạnh của máy tính được tăng lên nhiều lần khi các máy tính được kết nối thành một mạng máy tính. Là cơ sở hạ tầng cho phép truyền dữ liệu, trao đổi thông tin và điều khiển từ xa, tạo nên một môi trường giao tiếp, liên kết mọi người vượt qua hạn chế về khoảng cách. Với mạng máy tính toàn cầu chúng ta có thể dễ dàng tiếp cận với thế giới bên ngoài, tiếp cận với những thành tựu khoa học tiên tiến nhất trên thế giới. Hiện nay, ứng dụng công nghệ thông tin trong sản xuất và phát triển kinh tế là mục tiêu hàng đầu của đất nước. Mạng Internet trở thành một lĩnh vực nghiên cứu, phát triển và ứng dụng cốt lõi của công nghệ thông tin, bao gồm rất nhiều vấn đề từ kiến trúc, đến nguyên lý thiết kế, cài đặt và mô hình ứng dụng, các dịch vụ trên mang. Mạng viễn thông nói chung và máy tính và mạng máy tính nói riêng là công cụ không thể thiếu trong hoạt động của bộ máy nhà nước, các doanh nghiệp, trường học, ... và rất nhiều các lĩnh vực sản xuất khác. Nó đóng vai trò như cầu nối để trao đổi thông tin giữa các chính phủ, các tổ chức xã hội và giữa mọi người với nhau. Với môt sự kết hợp rông rãi như vậy đặt ra vấn đề cái gì giúp con người có thể truy cập tới các trang web dễ dàng để tìm hiểu trao đổi thông tin từ khắp mọi nơi như vậy? Đó là hệ thống tên miền ( Domain Name System ).Khi cần truy cập đến một web site trên Internet, bạn có thể gõ địa chỉ IP của site hoặc gõ tên DNS. Vì các địa chỉ IP rất khó nhớ, nên DNS là một dịch vụ đáng giá. Nó giúp con người dùng tên để truy cập Internet. Máy chủ DNS được đặt trên Internet để chuyển địa chỉ IP thành tên miền. Nhà cung cấp dịch vụ Internet có thể thực hiên được điều này hoặc kết nối với máy chủ DNS để làm chuyện này. Khi bạn nhập tên miền trong web browser, yêu cầu này được gửi đến máy chủ DNS sơ cấp định nghĩa trong cấu hình của web browser. Máy chủ DNS chuyển tên thành địa chỉ IP và trả địa chỉ IP cho hệ thống, dể giúp người sử dụng truy cập tới các web thông qua tên miền nhanh hơn. Trong thời gian học tập tại trung tâm đào tao Bách Khoa Npower, dưới sự hướng dẫn của các thầy giáo chuyên ngành quản trị mạng đặc biêt là thầy Nguyễn Thanh Toàn, em đã chọn đề tài "Dịch vu DNS trên LINUX " cho đồ án môn học SERVER. Mục đích của đề tài là tìm hiểu kỹ về dịch vụ DNS để cài đặt và cấu hình DNS trên Linux. Với các tài liệu thu thập được em đã hoàn thành đồ án về dịch vu DNS trên LINUX bao gồm những kiến thức cơ bản về dịch vụ DNS , cách phân bố dữ liệu quản lý domain name, cơ chế phân giải tên, phân loại Domain Name Server , Resource Record (RR), cài đặt và cấu hình dịch vụ DNS. Chương I. GIỚI THIỆU HỆ THỐNG TÊN MIỀN DNS I. Tên miền là gì ? Mạng máy tính toàn cầu (Internet ) bao gồm hàng tỷ máy tính nối mạng với nhau, mỗi máy tính cần có một địa chỉ xác định trên mạng. Hiện nay địa chỉ dùng trên mạng là địa chỉ IP. Mỗi máy tính được cấp phát một địa chỉ IP và địa chỉ này là duy nhất. Địa chỉ IP hiện đang đang được sử dụng phổ biến hiện nay là IPv4 có 32 bit chia thành 4 phần. Mỗi phần là 8 bít( tương đương là 1 byte) cách đếm từ trái qua phải. Các phần cách nhau bằng một dấu chấm (.) và biểu diễn ở dạng thập phân đầy đủ là 12 con số. Mỗi phần là 3 con số. Ví dụ một địa chỉ Internet : 146.123.110.224. Vì mạng máy tính toàn cầu hiện nay đang phát triển mạnh mẽ nên nhu cầu về địa chỉ IP ngày càng tăng. Địa chỉ IP sắp tới được sử dụng là IPv6 có 128 bit. dài gấp 4 lần IPv4. Phiên bản Ipv4 có khả năng cung cấp 232 = 4 294 967 296 địa chỉ. Phiên bản IPv6 có khả năng cung cấp 2128 địa chỉ. Hiện nay nước ta đang triển khai thử nghiệm IPv6. Ví dụ: Máy chủ Web Server của VDC đang chứa Báo Quê Hương có địa chỉ là 203.162.0.12 và tên miền của nó là home.vnn.vn. Thực tế người sử dụng muốn truy nhập đến trang báo điện tử Quê Hương thì không cần biết đến địa chỉ IP mà chỉ cần tên miền của nó là home.vnn.vn .Thì hệ thống tên miền sẽ trả lời lại địa chỉ IP cho máy tính của bạn. Tên Miền là một danh từ dịch theo kiểu nghĩa của từng từ một (Word by Word ) từ tiếng Anh (Domain name). Thực chất tên miền là sự nhận dạng vị trí của một máy tính trên mạng Internet nói cách khác tên miền là tên của mạng lưới, tên của các máy chủ trên mạng Internet. Mỗi địa chỉ bằng chữ này phải tương ứng với địa chỉ IP của nó. II. Hệ thống tên miền là gì (Domain Name System) 1. Lịch sử phát triển hệ thống tên miền Hiện nay các máy tính nối mạng toàn cầu liên lạc với nhau , tìm đường trên mạng và nhân diện nhau bằng địa chỉ IP. Về phía người sử dụng để có thể sử dụng được các dịch vụ trên mạng họ phải nhớ được địa chỉ của các máy chủ cung cấp dịch vụ này. Do người sử dụng phải nhớ được địa chỉ IP với dạng chữ số dài như vậy khi nối mạng là rất khó khăn vì thế có nhu cầu một địa chỉ thân thiện, mang tính gợi mở và dễ nhớ hơn cho người sử dụng đi kèm.Và từ yêu cầu đó đã hình thành hệ thống tên miền. Ban đầu với mạng máy tính còn nhỏ của Bộ quốc phòng Mỹ thì chỉ cần một tệp HOSTS.txt chứa các thông tin về chuyển đổi địa chỉ và tên mạng. Tuy nhiên khi mạng máy tính ngày càng phát triển thì với một tệp HOSTS.txt là không khả thi. Tập tin HOSTS.TXT có các nhược điểm sau: Lưu lượng mạng và máy chủ duy trì tập tin HOSTS.TXT bị quá tải do hiệu ứng cổ chai. Xung đột tên: không thể có 2 máy tính có cùng tên trong tập tin HOSTS.TXT. Tuy nhiên do tên máy không phân cấp và không có gì đảm bảo đẻ ngăn chặn việc tạo 2 tên trùng nhau vì không có cơ chế ủy quyền quản lý tập tin nên có nguy cơ bị xung đột tên. Không đảm bảo sự toàn vẹn: việc duy trì 1 tập tin trên mạng lớn rất khó khăn. Ví dụ như khi tập tin HOSTS.TXT vừa cập nhật chưa kịp chuyển đến máy chủ thì ở xa đã có sự thay đổi địa chỉ trên mạng rồi. Tóm lại việc sủ dụng tập tin HOSTS.TXT không phù hợp cho mạng lớn vì thiếu cơ chế phân tán và mở rộng. Do đó, dịch vụ DNS ra đời nhằm khắc phục các nhược điểm này. Thiết kế cấu trúc của dịch vụ DNS ra đời nhằm khắc phục các nhược điểm này. Do vậy đến năm 1984 Paul Mockpetris thuộc viện USC’s Information Sciences Institute phát triển một hệ thống quản lý tên miền mới lấy tên là Hệ thống tên miền – Domain Name System và ngày càng phát triển. Lưu ý: Hiện tại trên các máy chủ vẫn sủ dụng được tập tin hosts.txt đẻ phân giải tên máy tính thành địa chỉ IP (trong Linux là ect/hosts ). 2. Mục đích của hệ thống tên miền (DNS) Hệ thống tên miền bao gồm một loạt các cơ sở dữ liệu chứa địa chỉ IP và các tên miền tương ứng của nó. Mỗi tên miền tương ứng với một địa chỉ IP cụ thể. Hệ thống tên miền trên mạng Internet có nhiệm vụ chuyển đổi tên miền sang địa chỉ IP và ngược lại từ địa chỉ IP sang tên miền. Hệ thống DNS ra đời nhằm mục đích giúp người sử dụng dùng một tên dễ nhớ và mang tính gợi mở và đồng thời nó giúp cho hệ thống Internet dễ dàng sử dụng để liên lạc và ngày càng phát triển. Hệ thống DNS là hệ thống sử dụng cơ sở dữ liệu phân tán và phân cấp hình cây do đó việc quản lý sẽ dễ dàng hơn và cũng rất thuận tiên cho việc chuyển đổi từ tên miền sang địa chỉ IP và ngược lại. Tên miền là những tên gợi nhớ như home.vnn.vn hoặc www.cnn.com. Nó thân thiện hơn địa chỉ IP giúp cho người sử dụng dễ dàng nhớ vì nó ở dạng chữ mà người bình thường có thể hiểu và sử dụng hàng ngày. III. Cấu trúc của hệ thống tên miền (DNS) 1. Cấu trúc cơ sở dữ liệu Cơ sở dữ liệu của hệ thống DNS là hệ thống cơ sở dữ liệu phân tán và phân cấp hình cây (hierarchical) . Hình 1.1 Sơ đồ tổ chức DNS. Với Root server là đỉnh của cây và sau đó các miền (domain) được phân nhánh dần xuống dưới và phân quyền quản lý. Khi một máy khách (client) truy vấn một tên miền nó sẽ đi lần lượt từ root phân cấp xuống dưới để đến DNS quản lý domain cần truy vấn. Tổ chức quản lý hệ thống tên miền trên thế giới là The Internet Coroperation for Assigned Names and Numbers (ICANN) .Tổ chức này quản lý mức cao nhất của hệ thống tên miền (mức root) do đó nó có quyền cấp phát các tên miền ở mức cao nhất gọi là Top-Level-Domain. Cấu trúc của dữ liệu được phân cấp hình cây, root quản lý toàn bộ sơ đồ và phân quyền quản lý xuống dưới và tiếp đó các tên miền lại được chuyển xuống cấp thấp hơn (delegale) xuống dưới. Hệ thống tên miền(DNS) cho phép phân chia tên miền để quản lý và nó chia hệ thống tên miền thành zone và trong zone quản lý tên miền được phân chia đó. Các zone chứa thông tin vê miền cấp thấp hơn, có khả năng chia thành các zone cấp thấp hơn và phân quyền cho các DNS server khác quản lý. Ví dụ : Zone “.vn” thì do DNS server quản lý zone “.vn” chứa thông tin về các bản ghi có đuôi là “.vn” và có khả năng chuyển quyền quản lý (delegate) các zone cấp thấp hơn cho các DNS khác quản lý như “.fpt.vn” là vùng (zone) do fpt quản lý. Hệ thống cơ sở dữ liệu của DNS là hệ thống dữ liệu phân tán hình cây như cấu trúc đó là cấu trúc logic trên mạng Internet. 2. Cấu trúc của tên miền a)Cách đặt tên miền -Tên miền sẽ có dạng : Label.label.label….label -Độ dài tối đa của một tên miền là 255 ký tự. -Mỗi một label tối đa là 63 ký tự bao gồm cả dấu “.” -Label phải được bắt đầu bằng chữ số và chỉ được chứa chữ, số, dấu trừ (-) . b) Các loại tên miền Các loại tên miền như: Com : Tên miền này được dùng cho các tổ chức thương mại. Edu : Tên miền này được dùng cho các cơ quan giáo dục, trường học. Net : Tên miền này được dùng cho các tổ chức mạng lớn. Gov : Tên miền này được dùng cho các tổ chức chính phủ. Org : Tên miền này được dùng cho các tổ chức khác. Int : Tên miền này dùng cho các tổ chức quốc tế. Info : Tên miền này dùng cho việc phục vụ thông tin. Arpa : Tên miền ngược. Mil : Tên miền dành cho các tổ chức quân sự, quốc phòng. Mã các nước trên thế giới tham gia vào mạng internet, các quốc gia này được qui định bằng hai chữ cái theo tiêu chuẩn ISO-3166 Ví dụ : Việt Nam là .vn , Singapo là .sg , Mỹ là .us , Anh là .uk , Nhật Bản là .jp, Trung Quốc là .cn … Vì sư quá tải của những domain name đã tồn tại, do đó đã phát sinh nhưng top level domain mới tên miền mới là : Travel : Tên miền dành cho tổ chức du lịch. Post : Tên miền dành cho các tổ chức bưu chính. Asts : Những tổ chức liên quan tới nghệ thuật và kiến trúc. Nom : Những địa chỉ cá nhân và gia đình. Rec : Những tổ chức có tính chất giải trí và thể thao. Fim : Những tổ chức kinh doanh thương mại. Các tên miền dưới mức root này đươc gọi là Top –Level – Domain . Mỗi nước có một top-level domain. Ví dụ top-level domain của Việt Nam là vn , mỗi nước khác nhau trên thế giới có cơ chế tổ chức phân cấp domain khác nhau tùy thuộc vòa mỗi nước. Như tổ chức domain của Việt Nam : Hình 1.2 : Tổ chức domain của Việt Nam. c) Cấu trúc tên miền : Tên miền được phân thành nhiều cấp như: Gốc (Domain root): Nó là đỉnh của nhánh cây của tên miền. Nó xác định kết thúc của domain. Nó thể diễn đơn giản chỉ là dấu chấm “.” Tên miền cấp một (Top-level-domain) : Là gồm vài kí tự xác định một nước, khu vực hoặc tổ chức. Nó đươc thể hiện là “.com” Tên miền cấp hai (Second-level-domain): Nó rất đa dạng rất đa dạng có thể là tên một công ty, một tổ chức hay một cá nhân. Tên miền cấp nhỏ hơn (Subdomain): Chia thêm ra của tên miền cấp hai trở xuống thường được sử dụng như chi nhánh, phòng ban của một cơ quan hay chủ đề nào đó. Như phone.fpt.vn là một phòng của công ty Fpt. Ví dụ: có tên miền www.thanglong.edu.vn. Tên miền sẽ được đọc từ trái qua phải. Mục đầu tiên (www) là tên của máy tính. Tiếp theo là tên miền cấp 3 (thanglong) , tên miền được đăng kí với cơ quan quản lý tên miền ở dưới cấp vn là trung tâm thông tin mạng Internet Viet Nam(VNNIC). Tên miền đứng thứ 2 từ bên phải là tên miền ở mức 2 (com) tên miền này miêu tả chức năng của tổ chức sở hữu tên miền ở mức 3. Trong ví dụ này tổ chức lấy tên miền ở mức hai la “edu” có nghĩa là tổ chức thuộc về giáo dục. Cuối cùng là tên miền “.vn”, tên miền này chỉ ra toàn bộ miền này thuộc quyền quản lý của mạng Internet Việt Nam. Một số chú ý khi đặt tên miền: Tên miền nên đặt giới hạn từ cấp 3 đến cấp 4 vì nhiều hơn nữa việc nhớ tên và quản trị khó khăn. Sử dụng tên miền là phải duy nhất trong mạng Internet Nên đặt tên đơn giản gợi nhớ và tránh phức tạp. 3. Máy chủ quản lý tên miền (Domain name server-dns) Máy chủ quản lý tên miền (dns) theo từng khu vực, theo từng cấp như: một tổ chức, một công ty hay một vùng lãnh thổ. Máy chủ đó chứa thông tin dữ liệu về địa chỉ và tên miền trong khu vực , trong cấp mà nó quản lý dùng để chuyển giữa tên miền và địa chỉ IP đồng thời nó cũng có khả năng hỏi các máy chủ quản lý tên miền khác hoặc cấp cao hơn nó để có thể trả lời được các truy vấn về những tên miền không thuộc quyền quản lý của nó và cũng luôn sẵn sàng trả lời các máy chủ khác về các tên miền mà nó quản lý. Máy chủ cấp cao nhất là Root Server do tổ chức ICANN quản lý: Là server quản lý toàn bộ cấu trúc của hệ thống tên miền. Root Server không chứa dữ liệu thông tin về cấu trúc hệ thống DNS mà nó chỉ chuyển quyền (delegate) quản lý xuống cho các server cấp thấp hơn và do đó root server có khả năng định đường đến của một domain tại bất kì đâu trên mạng. Hiện nay trên thế giới có khoảng 13 root server quản lý toàn bộ hệ thống Internet. Dưới đây là các thông tin về 13 root : Hình 1.3: Vị trí của 13 Root name trên bản đồ thế giới. Một DNS server có thể nằm bất cứ vị trí nào trên mạng Internet nhưng được cấu hình logic để phân cấp chuyển tên miền cấp thấp hơn xuống cho các DNS server khác nằm bất cứ vị trí nào trên mạng Internet. Nhưng tốt nhất là đặt DNS tại vị trí nào gần với các client để dễ dàng truy vấn đến đồng thời cũng gần với vị trí của DNS server cấp cao hơn trực tiếp quản lý nó. Chương II. CƠ SỞ DỮ LIỆU DNS SERVER Resource Record (RR) RR là mẫu thông tin dùng để mô tả các thông tin vè cơ sở dữ liệu DNS, các mẫu thông tin này được lưu trong file cơ sở dữ liệu DNS. I. Bản ghi SOA (Start of Authority ) Trong mỗi tập tin CSDL phải có một và chỉ một record SOA (Start of Authority). Record SOA chỉ ra rằng máy chủ name server là nơi cung cấp thông tin tin cậy từ dữ liệu có trong zone. Cú pháp của SOA : [domain name] IN SOA [dns-server] [email-address] ( serial number; refresh number; retry number; expire number; time-to-live number ) domain name : tên domain mà DNS quản lý (Vd: hqhcm.gov). dns-server: tên server quản lý miền. email-address: địa chỉ email của admin. Serial number: áp dụng cho mọi dữ liệu trong zone và là một số nguyên. Trong ví dụ, giá trị này bắt đầu từ1 nhưng thông thường người ta sửdụng theo định dạng thời gian như1997102301. Định dạng này theo kiều YYYYMMDDNN, trong đó YYYY là năm, MM là tháng, DD là ngày và NN 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 nó sẽ so sánh số này và số serial của nó, nếu số serial của máy secondary nhỏ hơn số của primary tức là dữ liệu zone trên Primary đã được thay đổi, như vậy máy secondary sẽ sao chép dữ liệu mới từ máy Primary thay cho dữ liệu đang có hiện hành. Refresh number: 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. Giá trị này thay đổi tùy theo tần suất thay đổi dữ liệu trong zone. Retry number : 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ư 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 mô tả trong retry). Thông thường giá trị này nhỏ hơn giá trị refresh. Expire number: 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 primary thì dữ liệu zone trên máy secondary sẽ bị quá hạn, lúc này máy secondary sẽ không trả lời mọi truy vấn về zone này nữa. Giá trị expire này phải lớn hơn giá trị refresh và retry. 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 đượ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 trên mạng. Hình 1.4 : Bản ghi SOA II. A (Address) và CNAME (Canonical Name) Record A (address) ánh xạ tên vào địa chỉ. Record CNAME (canonical name) tạo tên bí danh alias trỏ vào một tên canonical. Tên canonical là tên host trong record A hoặc trỏ vào 1 tên canonical khác. 1.Bản ghi kiểu A Bản ghi kiểu A được dùng để khai báo ánh xạ giữa tên của một máy tính trên mạng và địa chỉ IP của một máy tính trên mạng. Bản ghi kiểu A có cú pháp như sau: [ Domain ] IN A Ví dụ : Home.vnn.vn IN A 203.162.0.12 Theo ví dụ trên, tên miền home.vnn.vn được khai với bản ghi kiểu A trỏ đến địa chỉ 203.162.0.12 sẽ là tên của máy tính này. Một tên miền có thể được khai nhiều bản ghi kiểu A khác nhau để trỏ đến các địa chỉ IP khác nhau. Như vậy có thể có nhiều máy tính có cùng tên trên mạng. Ngược lại một máy tính có một địa chỉ IP có thể có nhiều tên miền trỏ đến, tuy nhiên chỉ có duy nhất một tên miền được xác định là tên của máy, đó chính là tên miền được khai với bản ghi kiểu A trỏ đến địa chỉ của máy. 2. Bản ghi CNAME Bản ghi CNAME cho phép một máy tính có thể có nhiều tên. Nói cách khác bản ghi CNAME cho phép nhiều tên miền cùng trỏ đến một địa chỉ IP cho trước. Để có thể khai báo bản ghi CNAME , bắt buộc phải có bản ghi kiểu A để khai báo tên của máy. Tên miền được khai báo trong bản ghi kiểu A trỏ đến địa chỉ IP của máy được gọi là tên miền chính (canonical domain ).Các tên miền khác muốn trỏ đến máy tính này phải được khai báo là bí danh của tên máy (alias domain). Bản ghi CNAME có cú pháp như sau : alias-domain IN CNAME canonical domain Ví dụ : www.vnn.vn IN CNAME home.vnn.vn Tên miền www.vnn.vn sẽ là tên bí danh của tên miền home.vnn.vn, hai tên miền www.vnn.vn sẽ cùng trỏ đến địa chỉ IP 203.162.0.12 III.MX (Mail Exchange) DNS dùng record MX trong việc chuyển mail trên mạng Internet. Ban đầu chức năng chuyển mail dựa trên 2 record: record MD (mail destination) và record MF (mail forwarder) records. MD chỉ ra đích cuối cùng của một thông điệp mail có tên miền cụ thể. MF chỉ ra máy chủ trung gian sẽ chuyển tiếp mail đến được máy chủ đích cuối cùng. Tuy nhiên, việc tổ chức này hoạt động không tốt. Do đó, chúng được tích hợp lại thành một record MX. Khi nhận được mail, trình chuyển mail (mailer) dựa vào record MX để quyết định đường đi của mail. Record MX chỉ ra một mail exchange cho một miền – Mail Exchange là một máy chủ xử lý (chuyển mail đến mail box cục bộ hay là một mail gateway chuyền sang một giao thức chuyển mail khác như UUCP) hoặc chuyển tiếp mail đến một mail exchanger khác (trung gian) gần với mình nhất để đến máy chủ đích cuối cùng hơn dùng giao thức SMTP (Simple Mail Transfer Protocol). Để tránh việc gửi mail bị lặp lại, Record MX có thêm một giá trị bổ sung ngoài tên miền của mail exchanger là 1 số thứ tự tham chiếu. Đây là số nguyên không dấu 16 bit (0-65535) chỉ ra thứ tự ưu tiên của các mail exchanger. Cú pháp record MX : [domain name] IN MX [độ-ưu-tiên] [ tên-mail-server] Ví dụ : Để các thư điện tử có cấu trúc user@vnn.vn được gửi đến trạm chuyển tiếp thư điện tử có tên mail.vnn.vn, trên cơ sở dữ liệu cần khai báo bản ghi MX như sau: Vnn.vn IN MX 10 mail.vnn.vn Các thông số được khai báo trong bản ghi MX nêu trên gồm có: vnn.vn : là tên miền được khai báo để sử dụng như địa chỉ thư điện tử. mail.vnn.vn: là tên của trạm chuyển tiếp thư điện tử, nó thực tế là tên của máy tính dùng làm máy trạm chuyển tiếp thư điện tử. 10: Là giá tri ưu tiên, giá trị ưu tiên có thể là một số nguyên bất kì từ 1 đến 225, nếu giá trị ưu tiên này càng nhỏ thì trạm chuyển tiếp thư điện tử được khai báo sau đó sẽ là trạm chuyển tiếp thư điện tử được chuyển đến đầu tiên. Ví dụ nếu khai báo : Vnn.vn IN MX 10 mail.vnn.vn Vnn.vn IN MX 20 backupmail.vnn.vn Thì tất cả các thư điện tử có cấu trúc địa chỉ user@vnn.vn trước hết sẽ được gửi đến trạm chuyển tiếp thư điện tử mail.vnn.vn. Chỉ trong trường hợp máy chủ mail.vnn.vn không thể nhận thư thì các thư này mới chuyển đến trạm chuyển tiếp thư điện tử backupmail.vnn.vn . IV. Bản ghi NS Bản ghi NS dùng để khai báo máy chủ tên miền cho một tên miền. Nó cho biết các thông tin về tên miền quản lý, do đó yêu cầu có tối thiểu hai bản ghi NS cho mỗi tên miền. Cú pháp: [domain name] IN NS [DNS server] ( IN NS ) Ví dụ: Vnnic.net.vn IN NS dns1.vnnic.net.vn Vnnic.net.vn IN NS dns2.vnnic.net.vn Với khai báo trên, tên miền vnnic.net.vn sẽ do máy chủ tên miền có tên dns.vnnic.net.vn quản lý. Điều này có nghĩa, các bản ghi như A, CNAME, MX … của tên miền cấp dưới của nó sẽ được khai báo trên máy chủ dns1.vnnic.net.vn. và dns2.vnnic.net.vn. V. Bản ghi PTR PTR (Pointer) Record PTR dùng để ánh xạ địa chỉ IP thành tên máy. Cú pháp: [IP-address] IN PTR [host-name] Hệ thống DNS không những thực hiện việc chuyển đổi từ tên miền sang địa chỉ IP mà còn thực hiện chuyển đổi địa chỉ IP sang tên miền. Bản ghi PTR cho phép thực hiện chuyển đổi địa chỉ IP sang tên miền. VD: 101.57.162.203.in-addr.arpa IN PTR www.vnnic.net.vn Bản ghi PTR trên cho phép tìm tên miền www.vnnic.net.vn khi biết địa chỉ IP (203.162.57.101) mà tên miền trỏ tới. VI.AAAA. Ánh xạ tên máy (host name) vào địa chỉ IP version 6. [tên máy tính] IN AAAA [địa chỉ IPv6] VII. SRV. Cung cấp cơ chế định vị dich vụ, Active Directory sủ dụng Resource Record này để xác định domain controllers, global catalog servers, Lightweight Directory Access Protocol (LDAP) server. Các file trong SVR: - Tên miền (domain name). - Tên dịch vụ service. - Giao thức sử dụng. - TTL và Class. - Priority. - Weight (hỗ trợ load balancing). - Port (cổng dịch vụ). - Target chỉ định FQDN cho host hỗ trọ dịch vụ. Chương III. HOẠT ĐỘNG CỦA DNS SERVER TRONG LINUX I. Phân loại DNS server Có ba loại DNS server sau: Primary server. Secondary server. Caching Name Server. 1. 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 đượ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. Server này có nhiệm vụ phân giải tất cả các máy trong miền hay zone. 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. 2. 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ỉ phần thay đổi (incremental). Khi Secondary Name Server được khởi động nó sẽ tìm Primary Name Server nào mà nó được phép lấy dữ liệu về máy. Nó sẽ copy lại toàn bộ CSDL DNS của Primary Name Server mà nó được phép transfer (quá trình này gọi là quá trình Zone Transfer). Theo 1 chu kỳ nào đó do người quản trị quy định thì Secondary Name Server sẽ sao chép và cập nhật CSDL từ Primary Name Server. Quá trình Zone transfer như sau: HÌnh 1.5 : Các bước của một quá trình Zone transfer 3. 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ập theo thời gian khi các client server truy vấn dịch vụ DNS. Nếu bạn 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 để làm tăng tốc độ phân giải và giảm gánh nặng phân giải tên máy . Quy trình truy vấn và cache lại trên máy tính như sau : Hình 1.6 : Bảng cache II. Đồng bộ dữ liệu giữa các DNS server( Zone transfer) 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 ta 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). 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. 2. Cơ chế hoạt động đồng bộ dữ liệu giữa các DNS server Với trao đổi IXFR zone thì 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ý: - 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. - 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. - 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. - 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. - 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 - 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. - DNS server chính sẽ trả lời với việc gửi những thay đổi của zone hoặc toàn bộ 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 ). III. Cơ chế phân giải tên 1. Phân giải tên thành IP Root name server: là máy chủ quản lý các nameserver ở mức top-level domain. Khi có truy vấn về một tên miền nào đó thì Root Name Server phải cung cấp tên và địa chỉ IP của name server quản lý top-level domain (thực tế là hầu hêt các root server cũng chính là máy chủ quản lý top-level domain) và đến luợt các name server của top-level domain cung cấp danh sách các name servercó quyền trên các second-level domain mà tên miền này thuộc vào. Cứ như thế đến khi nào tìm đuợc máy quản lý tên miền cần truy vấn. Qua trên cho thấy vai trò rất quan trong của root name server trong quá trình phân giải tên miền. Nếu mọi root name server trên mạng Internet không liên lạc được thì nơi yêu cầu phân giải đều không thực hiện đuợc. Hình vẽ duới mô tả quá trình phân giải grigiri.gbrmpa.au trên mang Internet. Hình 1.7: Quá trình phân giải. Client sẽ gửi yêu cấu cần phân giải địa chỉ IP của máy tính có tên girigiri.gbrmpa.gov.au đến name server cục bộ. Khi nhận yêu cầu từ resolver, Nameserver cục bộ sẽ phân tích tên này và xét xem tên miền này có do mình quản lý hay không. Nếu như tên miền do Server cục bộ quản lý, nó sẻ trả lời địa chỉ IP của tên máy đó ngay cho resolver. Ngược lại, server cục bộ sẽ truy vấn đến một Root Name Server gần nhất mà nó biết được. Root Name Server sẽ trả lời địa chỉ IP của Name Server quản lý miền au. Máy chủ name server cục bộ lại hỏi tiếp name server quản lý miền au và được tham chiếu đến máy chủ quản lý miền gov.au. Máy chủ quản lý gov.an chỉ dẫn máy name server cục bô tham chiều đến máy chủ quản lý miền gbrmpa.gov.au. Cuối cùng máy name server cục bộ truy vấn máy chủ quản lý miền gmrmpa.gov.au và nhận được câu trả lời. Truy vấn có thể ở 2 loại : Truy vấn đệ quy (Recursive query) : Khi name server nhận được truy vấn dạng này, nó bắt buộc phải trả về kết quả tìm được hoặc thông báo lỗi nếu như truy vấn này không phân giải được. Nameserver không thể tham chiếu truy vấn đến một name server khác. Namesserver có thể gửi truy vấn dạng đệ quy hoặc tương tác đến nameserver khác nhưng nó phải thực hiện cho đến khi nào có kết quả mới thôi. Truy vấn tương tác : khi nameserver nhận được truy vấn dạng này, nó trả lời cho resolver với thông tin tốt nhất mà nó có đc vào thời điểm đó. Bản thân nameserver không thực hiện bất cứ một truy vấn nào thêm. Thông tin tốt nhất trả về có thể lấy từ dữ liệu cục bộ (kể cả cache). Trong trường hợp nameserver không tìm thấy trong dữ liệu cục bộ nó sẽ trả về tên miền và địa chỉ IP của nameserver gần nhất mà nó biết. Hình 1.8 : Sơ đồ truy vấn tương tác 2. Phân giải tên IP thành tên máy Ánh xạ địa chỉ IP thành tên máy tính đuợc dùng để diễn dịch các tập tin log cho dễ đọc hơn. Nó còn đuợc dùng trong một số truờng hợp chứng thực trên hệ thồng UNIX (kiểm tra các tập tin .rhost hay host.equiv ). Trong không gian tên miền đã nói ở trên dữ liệu bao gồm cả địa chỉ IP đuợc đuợc lập chỉ mục theo tên miền. Do đó một tên miền đã cho việc tìm ra địa chỉ IP khá dễ dàng. Để có thể phân giải tên máy của một địa chỉ IP, trong không gian tên miền nguời ta bổ sung thêm một nhánh tên miền mà đuợc lập chỉ mục theo địa chỉ IP. Phần không gian này có tên miền là in-arpa.arpa. Mỗi nút trong miền in-addr.arpa có một tên nhãn là chỉ số thập phân của địa chỉ IP. Ví Dụ: Miền in-addr.arpa có thể có 256 subdomain. Tuơng ứng 256 giá trị từ 0 đến 255 của byte đầu tiên trong địa chỉ IP. Trong mỗi Subdomain lại có 256 subdomain còn nữa ứng với byte thứ 2. Cứ như thế và đến byte thứ 4 có các bản ghi cho tên miền đầy đủ của các máy tính hoặc các mạng có địa chỉ IP tuơng ứng. Hình 1.9 : Sơ đô phân giải tên thành địa chỉ IP. Lưu ý: khi đọc tên miền địa chỉ IP sẽ xuất hiện theo thứ tự ngược Ví dụ nếu địa chỉ Ip của máy winnine.corp.hp.com là 15.16.192.152, khi ánh xạ vào miền in-addr.arpa sẽ là 152.192.16.15.in-addr.arpa. IV. Hoạt động của Name Server trong Linux DNS name server khi hoạt động sẽ phát sinh ra một deamon có tên là named. Trong quá trình khởi động, named đọc các tập tin dữ liệu rồi chờ 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ả, sau đó named sẽ dùng giáo thức TCP. Một số đặc điểm cần ghi nhớ trong quá trình truy vấn giữa Client và Server. Truy vấn từ Client đến Server sử dụng cổng nguồn là 1023 và cổng đích là 53. Server trả lời truy vấn về cho sử dụng cổng nguồn là 53, cổng đích lớn hơn 1023. Truy vấn và trả lời giữa các server sử dụng giáo thứ UDP cổng nguồn và đích đều là 53, với TCP truy vấn của server sẽ sử dụng còng > 1023. V. Một số khái niệm cơ bản. 1. Domain name và zone. Một miền gồm nhiều thực thể nhỏ hơn gọi là miền con (subdomain). Ví dụ: Miền ca bao gồm nhiều miền con như : ab.ca, on.ca, pc.ca (như hình vẽ dưới đây). Bạn có thể ủy quyền một số miền con cho nhưng DNS Server khác quản lý. Những miền và miền con mà DNS Server được ủy quyền quản lý gọi là zone. Như vậy, một zone có thể bao gồm một miền hay nhiều miền con. Hình sau đây mô tả sự khác nhau giữ zone và domain. Hình 1.10 : Zone và Domain Các loại Zone: Primary zone: cho phép đọc và ghi cơ sở dữ liệu. Secondary zone: cho phép đọc bản sao cơ sở dư liệu. Stub Zone: chứa bản sao cơ sở dữ liệu của zone nào đó, nó chỉ chứa một vài RR. 2. Fully Qualified Domain Name (FQDN) Mỗi nút trên cây có một tên gọi (không chứa dấu chấm) dài tối đa 63 ký tự. Tên rỗng dành riêng cho gốc (root) cao nhất và biểu diễn bởi dấu chấm. Một tên miền đầy đủ của một nút chính là chuỗi tuần tự các tên gọi của nút hiện tại đi ngược lên nút gốc, mỗi tên gọi cách nhau bởi dấu chấm. Tên miền có xuất hiện dấu chấm sau cùng được gọi là tên tuyệt đối (absolute) khác với tên tương đối là tên không kết thúc bằng dấu chấm. Tên tuyệt đối cũng được xem là tên miền đầy đủ đã được chứng nhận (Fully Qualified Domain Name – FQDN). 3. Sự ủy quyền giữa các miền con (Delegating Subdomains) Hình 1.11 :Sự ủy quyền 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 nhiệm duy trì thông tin trong miền con này. Khi đó, miền cha chỉ cần một con trỏ trỏ đến miền con này để tham chiếu khi có các truy vấn. 4. Forwarders. Là kỹ thuật cho phép Name Server nội bộ chuyển yêu cầu truy vấn cho các Name Server khác để phân giải các miền bên ngoài. Ví dụ: Trong Hình 1.8, ta thấy khi Internal DNS Servers nhận yêu cầu truy vấn của máy trạm nó kiểm tra xem có thể phân giải được yêu cầu này hay không, nếu không thì nó sẽ chuyển yêu cầu này lên Forwarder DNS server (multihomed) để nhờ name server này phân giải dùm, sau khi xem xét xong thì Forwarder DNS server (multihomed) sẽ trả lời yêu cầu này cho Internal DNS Servers hoặc nó sẽ tiếp tục forward lên các name server ngoài Internet. Hịnh 1.12 Quá trình forward 5. Stub zone. Là zone chứa bảng sao cơ sở dữ liệu DNS từ master name server, Stub zone chỉ chứa các resource record cần thiết như: A, SOA, NS,một hoặc vài địa chỉ của master name server hỗ trợ cơ chế cập nhật Stub zone, cơ chế chứng thực name server trong zone và cung cấp cơ chế phân giải tên miền được hiệu quả hơn, đơn giản hóa công tác quản trị. Hình 1.13 : Stub zone. 6. Dynamic DNS Dynamic DNS là phương thức ánh xa tên miền tới địa chỉ IP có tần xuất thay đổi cao. Dịch vụ DNS động (Dynamic) cung cấp một chương trình đặc biệt chạy trên máy tính người sủ dụng dịch vụ dynamic DNS gọi là Dynamic DNS Client. Chương trình này gám sát sự thay đổi địa chỉ IP tại host và liên hệ với hệ thống DNS mỗi khi địa chỉ IP của host thay đổi và sau đó update thông tin vào cơ sở dữ liệu DNS về sự thay đổi địa chỉ đó. DNS client đăng ký và cập nhật resource record của nó bằng cách gủi dynamic update. 7. Active Directory- integrated zone. Sử dụng Active Directory- integrated zone có một số thuận lợi sau: DNS zone lữu trữ trong Active Directory, nhờ cơ chể này mà dữ liệu được bảo mật hơn. Sử dụng cơ chể nhân bản của Active Direcory để cập nhận và sao chép cơ sở dữ liệu DNS. Sử dựng Secure dynamic update. Sử dụng nhiều master name server để quản lý tên miền hay vì sử dụng một master name server. Chương IV. CẤU HÌNH CỦA NAME SERVER TRONG LINUX I.Cài đặt BIND Hầu hết các phiên bản của RedHat và Fedora Linux cung cấp package BIND.*.Rpm (đối với FC là bind-9.2.3-13.*.rpm)… Một số package của BIND trong Fedora: bind-9.2.3-13i.386.rpm: Là package chính của DNS Server. bind-libs-9.2.3-13.386.rpm : Cung cấp các thư viện trợ giúp cho DNS Server. bind-utils-9.2.3-13.386.rpm : Cung cấp tiện ích tích hợp cho DNS Server. system-config-bind-2.0.2-5.386.rpm : Cung cấp giao diện cấu hình DNS Server trên môi trương XWindows. caching-nameserver-7.2-12.386.rpm : Là package cung cấp các file mẫu hỗ trợ cấu hình Caching nameserver và cấu hình dịch vụ DNS. caching-nameserver-ltsp-7.2-k12ltsp.5.2.0.386.rpm: là package cung cấp các file cấu hình mẫu cho Zone ltsp. bind-chroot-9.2.3-13.i383.rpm : Là package cung cấp một số tính năng bảo mật mới để giới hạn truy xuất file cấu hình của dịch vụ DNS. Ta dùng lệnh rpm –ivh để cài đặt các package trên. II. Cài đặt và cấu hình DNS 1 Một số file cấu hình quan trọng. RedHat/Fedora BIND hoạt động trong hệ thống dưới dạng tiến trình named do user có tên named làm chủ sở hữu. Để tăng tình năng bảo mật trong hệ thồng Fedora, BIND cung cấp thêm package bind-chroot-9.2.3-13.i386.rpm để giới hạn việc truy xuất vào các file cấu hình của named, khi ta cài chroot package thì named xem thu mục /var/named/chroot là thư mục gốc, các file /var/named/chroot/var/named.conf là tập tin khai báo zone, /var/named/chroot/var/named là thư mục lưu trữ file cơ sở dữ liệu. Khi ta dung chroot thì tất cả các file cấu hình named đều được đưa vào thư mục /var/nameg/chroot. Nếu ta không sử dụng package này nghĩa là ta loại bỏ bind-chroot-9.2.3-13.i386.rpm thì các file mô tả thông tin cấu hình DNS được lưu lại. /var/named/chroot/etc/named.conf /var/named/chroot/var/named /etc/rndc.key, /etc/rndc.conf là các file hỗ trọ cho vấn đề chứng thực trong named. 1. Tập tin var/named/chroot/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 named-bootconf.pl options [ ; chỉ định các tùy chọn. directory "/var/named"; Thư mục lưu trữ file cơ sở dữ liệu của zone. /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source 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"; allow-update [ none; ]; ]; zone "0.0.127.in-addr.arpa" IN [ type master; file "named.local"; allow-update [ none; ]; ]; include "/etc/rndc.key"; 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] (notify yes/no (also-notify [ip_addr1, ip_addr2….;] (allow-update [ip-addr1; ip-addr2…;] Directory 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 (domain-name) 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 2. Cấu hình zone file Tạo tập tin cơ sở dữ liệu phân giải tên máy thành địa chỉ IP (tập tin phân giải thuận ). Tạo tập tin cơ sở dữ liệu phân giải địa chỉ IP thành tên máy (tập tin phân giải ngược ). Sau đây là tuần tự các bước: Bước 1: Tạo tập tin cơ sở dữ liệu phân giải tên máy thành địa chỉ IP . Tạo tập tin cơ sở dữ liệu phân giải tên thành địa chỉ IP. Tập tin này lưu danh sách tất cả những máy tính trong miền. Nó được dung để phân giải tên máy (host name) thành địa chỉ IP. $ TTL 86400 @ IN SOA localhost. root.localhost. ( 2001112800; 10800; 1800; 36000; 86400) IN NS localhost. Bước 2: Tạo tập tin cơ sở dữ liệu phân giải địa chỉ IP thành tên máy (tập tin phân giải ngược ). $ TTL 86400 @ IN SOA localhost.. root.localhost. ( 2001112800; 10800; 1800; 36000; 86400) IN NS localhost. 1 IN PTR localhost. Bước 3: Cấu hình DNS Client. Cấu hình DNS Client nhằm sủ dụng công cụ nslookup kiểm tra những name Server vùa cấu hình. Trong Linux, nhưng thông số cấu hình DNS client được lưu trong tập tin /etc/resolv.conf . Tập tin đó dùng để quyết định DNS Server cụ thể cần phải truy vấn và cách bổ sung phần tên miền cho phần tên của máy. Nôi dung của tập tin đó có dạng sau: Đối với máy Linux ta vào tập tin /etc/resolv.conf thêm vào 2 dòng sau : nameserver domain Trong đó : nameserver : dùng để định nghĩa máy chủ DNS mà resolver sẽ gủi yêu cầu phân giải tên hoặc địa chỉ IP khi có nhu cầu. Sau từ khóa nameserver là địa chỉ IP của Name Server. domain : sẽ được nối thêm vào sau tên máy tính khi resolver gủi yêu cầu đến server. Bước 4: Khởi động và kiểm tra hoạt động của dịch vụ DNS Khi đã hoàn thành các thao tác cần thiết cấu hình cho máy chủ DNS, ta khởi động dịch vụ bằng lệnh: service named restart. Rồi ta tiếp tục kiểm tra để khẳng định những cấu hình này đã đúng hay còn sai sót những điểm nào. Một công cụ đắc lực giúp kiểm tra cấu hình DNS là nslookup hoặc lênh host. # service named restart # nslookup >www.localhost Server: localhost Address: localhost IP Kiểm tra các Record của miền bằng lệnh: >Set type=any >domain_name 2. Ví dụ cấu hình DNS Bước 1: Tạo tập tin /var/name/chroot/etc/name.conf cấu hình một file cho miền detai.com như sau: zone “detai.com” IN { type master; file “detai.com”; ;} zone “5.168.192.in-addr.arpa.” IN { type master; file “192.168.5.db”; ;} Bước 2: Tạo tập tin phân giải thuận Tên của tập tin là: detai.com $ TTL 86400 @ IN SOA ns.detai.com. root.detai.com. ( 2001112800; 10800; 1800; 36000; 86400) IN NS ns.detai.com. IN MX 10 mail.detai.com. ns IN A 192.168.5.19 www IN CNAME ns.detai.com. mail IN A 192.168.5.19 Bước 3: Tạo tập tin phân giải nghịch Tên của tập tin là: 192.168.5.db $ TTL 86400 @ IN SOA ns.detai.com. root.detai.com. ( 2001112800; 10800; 1800; 36000; 86400) IN NS ns.detai.com. IN MX 10 mail.detai.com. 19 IN PTR ns.detai.com. Bước 4: Cấu hình Client Nội dung của tập tin /etc/resolver Namerserver 192.168.5.19 Domain detai.com Bước 5: Khởi động và kiểm tra hoạt động của dịch vụ DNS # Service named restart # nslookup IV. 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 /var/named/chroot/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. Ví dụ : Dưới đây là file /var/named/chroot/etc/named.conf cấu hình Secondary Name Server cho domain detai.com zone “detai.com” IN { type slave; file “slaves/detai.com”; masters {192.168.5.19 ; port 53; } ;} zone “5.168.192.in-addr.arpa.” IN { type slave; file “slaves/192.168.5.db”; masters {192.168.5.db ; port 53; } ;} V. Cấu hình DNS delegation Hình 1.10 Thông thường miền cha cung cấp các domain con cho miền con dưới hình thức ủy quyền cho miền con tự quản lý và tổ chức cơ sở dữ liệu cho miền con (thuật ngữ này thường được gọi là delegation domain), hoặc miền cha tạo hosting domain cho miền con (theo cách này thì miền cha phải tổ chức và quản lý cơ sở dữ liệu cho miền con). Dựa vào sơ đồ trên ta thực hiện các thao tác cơ sau đẻ thực hiền công việc cung cấp subdomain qua cơ chế ủy quyền cho các nameserver quản lý cở sở dữ liệu của miền con. Tại nameserver quản lý cơ sở dữ liệu của miền con. Tại nameserver quản lý cơ sở dữ liệu cho miền com.vn ta có thông tin sau đẻ thực hiện cơ chế ủy quyền cho hai miền con là vinamilk.com.vn và honda.com.vn và cho 1 server vinamilkserv và hondaserv quản lý: Vinamilkserv IN A Vinamilk IN A vinamilkserv.com.vn Trong đó IPaddress 1 là địa chỉ của nameserver quản lý cơ sở dữ liệu cho miền vinamilk.com.vn. Sau đó ta cần mô tả RR PTR cho vinamilkserv trong file mô tả cơ sở dữ liệu chơ zone ngịch. IN PTR vinamilkserv.com.vn Tương tự ta có thể ủy quyền miền Honda.com.vn cho hondaserv Hondaserv IN A Honda IN NS hondaserv.com.vn Trong đó ipaddress 2 là địa chỉ Ip của nameserver quản lý cơ sở dữ liệu cho miền Honda.com.vn Sau đó ta cần mô tả RR PTR cho hondaserv trong file mô tả cơ sở dữ liệu cho zone ngịch. IN PTR hondaserv.com.vn Lưu ý: ở miền con ta cần mô tả forwarders (ipaddress;… ) lên miền cho đẻ miền con nhờ nameserver của miền cho phân giải tên miền bên ngoài cho miền con. Kết luận Dịch vụ DNS ra đời giúp cho việc truy cập tới các web site từ bất cứ đâu được đễ dàng hơn. Thay vì nhớ địa chỉ IP , dịch vụ DNS phân giải địa chỉ IP thành tên máy, giúp cho viêc tìm hiểu, trao đổi thông tin một cách đơn giản linh hoạt. Qua quá trình tìm hiểu dưới sụ hướng dẫn của thầy Nguyễn Thanh Toàn và tham khảo ý kiến đóng góp của các thầy giáo bộ môn và các bạn tập thẻ S0809G, em hoàn thành đồ án môn Server “DNS trên LINUX” đã trình bày rõ các vấn đền sau: Giới thiệu về DNS. Các dữ liệu chứa trên DNS (Resource Record). Hoạt động của DNS Server trên LINUX. Cấu hình DNS. Trong quá trình thực hiện cũng có một số vấn đề xảy ra nhưng đã được khác phục. Ưu điểm của dịch vụ: Giúp người dùng dễ dàng nhớ và truy cập tài nguyên mạng. An toàn và tin cậy. Việc quản trị tập trung và dễ dàng hơn. Mục tiêu của đồ án: Giới thiệu cơ chế tổ chức và quản lý dịch vụ DNS trên môi trường LINUX. Tài Liệu tham khảo Tailieu.vn Quantrinmang.com Hê điều hành LINUX - trường Bách khoa Npower Chứng chỉ quản trị mang LINUX Trường ĐH Tự Nhiên Phụ lục

Các file đính kèm theo tài liệu này:

  • docthanh_hien_s0809g_dns_tren_linux_0325.doc