Tải bản đầy đủ (.docx) (27 trang)

BÁO CÁO XÂY DỰNG, QUẢN TRỊ VÀ BẢO TRÌ HỆ THỐNG THIẾT KẾ DNS SERVER DÙNG BIND TRÊN UBUNTU CHO MỘT DOANH NGHIỆP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.26 MB, 27 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>HỌC VIỆN KỸ THUẬT QUÂN SỰKHOA CÔNG NGHỆ THÔNG TIN</b>

<b>BÁO CÁO</b>

<b>XÂY DỰNG, QUẢN TRỊ VÀ BẢO TRÌ HỆ THỐNG</b>

<b>THIẾT KẾ DNS SERVER DÙNG BIND TRÊN UBUNTU CHOMỘT DOANH NGHIỆP</b>

<b>Người hướng dẫn: GV Trần Nam Khánh</b>

<b>Học viên thực hiện: Trịnh Khắc Tuấn – Lớp ANHTTT</b>

Đinh Thị Ngọc Hòa – Lớp ANHTTT Lê Thị Thủy Ngân – Lớp ANHTTT

<i> Hà Nội, tháng 11 năm 2022</i>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

<b>LỜI MỞ ĐẦU...3</b>

<b>CHƯƠNG I: TỔNG QUAN VỀ DNS SERVER VÀ BIND...4</b>

<b>I. DNS SERVER...4</b>

<b>1. Tìm hiểu về DNS Server...4</b>

<b>2. Phân loại DNS Server...6</b>

<b>3. Cách sử dụng và nguyên lý hoạt động của DNS...6</b>

<b>4. NSLookup - Cơng cụ chuẩn đốn DNS Server...9</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI MỞ ĐẦU</b>

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ếnvới mọi người, nó mang lại cho con người khả năng to lớn và làm được nhữngcông việc phi thường: tính tốn nhanh, chính xác các phép toán phức tạp, điềukhiển tự động và làm việc theo sự lập trình của con người. Sự phát triển của máytí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áttriển kinh tế của đất nước. Sức mạnh của máy tính được tăng lên nhiều lần khi cácmáy tính được kết nối thành một mạng máy tính. Với mạng máy tính tồn cầuchú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ànhtựu khoa học tiên tiến nhất trên thế giới.

Việc ứ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. 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ơinhư vậy? Đó là hệ thống tên miền (Domain Name System). Khi bạn nhập tên miềntrong web browser, yêu cầu này được gửi đến máy chủ DNS sơ cấp định nghĩatrong 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ênmiền nhanh hơn.

Bên cạnh đó, BIND cho đến nay là phần mềm DNS được sử dụng rộng rãinhất trên Internet, cung cấp một nền tảng mạnh mẽ và ổn định trên đó các tổ chứccó thể xây dựng các hệ thống máy tính phân tán với kiến thức rằng các hệ thống đótuân thủ đầy đủ các tiêu chuẩn DNS được công bố.

Để hiểu sâu hơn về cách thức thiết kế, sử dụng DSN với Bind, chúng em lựa

<b>chọn đề tài “Thiết kế DNS Server dùng Bind trên Ubuntu cho một doanhnghiệp”. </b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>CHƯƠNG I: TỔNG QUAN VỀ DNS SERVER VÀ BIND</b>

I. <b>DNS SERVER</b>

<b>1. Tìm hiểu về DNS Server1.1. Giới thiệu</b>

Dịch vụ tên miền (DNS – Domain Name Service) là một dịch vụ internet, nóánh xạ địa chỉ IP sang tên miền của các máy chủ có thực (FQDN – Full QualifiedDomain Names – tên miền đầy đủ đã được chứng nhận) và ngược lại.

Khi mở một trình duyệt Web và nhập tên website, trình duyệt sẽ đến thẳngwebsite mà không cần phải thông qua việc nhập địa chỉ IP của trang web. Quátrình "dịch" tên miền thành địa chỉ IP để cho trình duyệt hiểu và truy cập được vàowebsite là công việc của một DNS server. Các DNS trợ giúp qua lại với nhau đểdịch địa chỉ "IP" thành "tên" và ngược lại. Người sử dụng chỉ cần nhớ "tên", khôngcần phải nhớ địa chỉ IP (địa chỉ IP là những con số rất khó nhớ).

<b>1.2. Chức năng</b>

Về chức năng, DNS có thể được hiểu như một “người phiên dịch” và“truyền đạt thông tin”. DNS sẽ làm công việc dịch tên miền thành một địa chỉ IPgồm 4 nhóm số khác nhau. Ví dụ như www.ubuntu.com thành 323.64.844.799hoặc ngược lại dịch một địa chỉ IP thành tên miền.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Khi “dịch” như thế, trình duyệt sẽ hiểu và đăng nhập vào được. Và khingười dùng đăng nhập vào một website, thay vì phải nhớ và nhập một dãy số địachỉ IP của hosting, thì chỉ cần nhập tên website là trình duyệt tự động nhận diện.

Mỗi máy tính trên Internet đều có một địa chỉ IP duy nhất. Địa chỉ IP nàyđược dùng để thiết lập kết nối giữa server và máy khách để khởi đầu một kết nối.Bất kỳ khi nào, bạn truy cập vào một website tùy ý hoặc gửi một email, thì DNSđóng vai trị rất quan trọng trong trường hợp này.

Trong vô vàn trang web trên thế giới, sẽ khơng có ai có thể nhớ hết từng dãysố địa chỉ IP trong mỗi lần đăng nhập. Do đó, khái niệm tên miền được đưa ra, từđó mỗi trang web sẽ được xác định với tên duy nhất.

Tuy nhiên, địa chỉ IP vẫn được sử dụng như một nền tảng kết nối bởi cácthiết bị mạng. Đó là nơi DNS làm việc phân giải tên domain thành địa chỉ IP đểcác thiết bị mạng giao tiếp với nhau. Đồng thời, bạn cũng có thể tải một websitebằng cách nhập trực tiếp địa chỉ IP thay vì nhập tên domain của website đó.

<b>1.3. Phân loại domain name server</b>

Domain hay tên miền là địa chỉ trang web hoạt động trên Internet. Nơi màmọi người sử dụng để search trên trình duyệt để truy cập vào một website bất kỳ.Domain được thể hiện bằng các ký tự hoặc chữ số trong bảng chữ cái thay cho địa

<b>chỉ IP của máy chủ.</b>

<i>- Tên miền riêng (Primary Name Server): Mỗi một máy chủ tên miền có</i>

một tên miền riêng. Tên miền riêng này được đăng ký trên Internet.

<i>- Tên miền dự phòng – tên miền thứ hai (Secondary name server): đây là</i>

một DNS Server được sử dụng để thay thế cho Primary name server DNSServer bằng cách sao lưu lại tất cả những bản ghi dữ liệu trên Primaryname Server và nếu Primary Name Server bị gián đoạn thì nó sẽ đảmnhận việc phân giải và ánh xạ tên miền và địa chỉ IP.

Caching Name Server: Đây là một Server đảm nhiệm việc lưu trữ tất cảnhững tên miền, địa chỉ IP đã được phân giải và ánh xạ thành cơng. Nó được sửdụng trong những trường hợp sau:

- Làm tăng tốc độ phân giải bằng cách sử dụng cache

- Giảm bớt gánh nặng phân giải tên máy cho các DNS Server

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

- Giảm lưu lượng tham gia vào mạng và giảm độ trễ trên mạng (rất quantrọng).

<b>2. Phân loại DNS Server</b>

DNS server có hai loại chính, bao gồm:

<i>- Root Name Server- Local Name Server</i>

Sự khác biệt giữa hai loại DNS server là gì?

<b>2.1. Root name servers</b>

Root Name Server hay còn gọi là Name Server là một dịch vụ phân giải tênmiền gốc và quản lý tất cả các tên miền cao cấp nhất (TLD) như .com, .net, .org…sau đó sẽ phân cấp ra thành các bậc thấp hơn. Khi có một yêu cầu phiên dịch têndomain thành địa chỉ IP, DNS Root Server sẽ căn cứ vào TLD của tên domaintrong truy vấn của người dùng để chuyển hướng đến đúng địa chỉ cần truy vấn.

Trên thế giới hiện có khoảng 13 DNS Root Server, được vận hành bởi các tổchức như Verisign, Cogent, Đại học Maryland và U.S. Army Research Lab.

<b>2.2. Local name servers </b>

Local Name Server là một máy chủ định danh chỉ lưu trữ thông tin cho các máykhách cục bộ khi nó đã được truy xuất từ máy chủ tên miền lưu trữ (authority) chocác tên miền bậc thấp hơn.

Local server có thể tăng tốc hiệu quả các truy vấn cho mạng cục bộ bằng cáchcung cấp các tên miền được tìm thấy bởi các truy vấn trước đó. Loại này thườngđược duy trì bởi các doanh nghiệp, nhà cung cấp dịch vụ mạng (ISPs).

<b>3. Cách sử dụng và nguyên lý hoạt động của DNS3.1. Cách sử dụng</b>

Khi truy cập vào một tên miền nào đó, trình duyệt sẽ “nhờ” các DNS serverbiên dịch tên miền đó thành địa chỉ IP. Tuy nhiên, tốc độ biên dịch của các DNSnhanh hay chậm sẽ tùy thuộc vào loại DNS mà bạn lựa chọn sử dụng. Trongtrường hợp không chỉ định DNS server cụ thể thì sẽ sử dụng DNS server mặc địnhcủa nhà cung cấp dịch vụ mạng, hoặc bạn có thể đăng ký sử dụng DNS khác (miễn

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

phí hoặc trả phí) bằng cách nhập thơng số vào network connections. Để dùng DNSkhác, bạn cần phải thay đổi chúng trong máy tính của mình.

Các bước thay đổi DNS server đơn giản trên Windows 10:

Bước 1: Truy cập Start – Setting – chọn Network & Internet – sau đó chọn“Change adapter options”

Bước 2: Click vào Ethernet – chọn Internet Protocol Version 4 hoặc Version6

Bước 3: Chọn “Use the following DNS server addresses” điền đầy đủ thôngsố DNS server mong muốn vào hai ô “Preferred DNS server” và “Alternate DNSserver”.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Chú ý: Hacker có thể thơng qua DNS để đánh cắp thông tin cá nhân của bạn.Vậy nên, hãy kiểm tra rõ tên truy cập của các Website, tránh truy cập vào cácwebsite giả mạo, các phần mềm không rõ nguồn gốc.

<b>3.2. Nguyên lý hoạt động</b>

Tất cả mọi thứ được kết nối với internet – website, tablet, laptop, điện thoạidi động, Google Home,… đều có một địa chỉ IP riêng với một dãy các con số hoặccả số và chữ phức tạp, khó nhớ.

Nhờ DNS, bạn không cần phải ghi nhớ những con số vừa dài vừa khó này.Mỗi khi nhập tên miền, DNS Server sẽ định vị trang web và chuyển tên đó thànhđịa chỉ IP tương ứng. Vì vậy khi bạn gõ www.google.com vào trình duyệt web, bạnchỉ phải nhớ URL này thay vì con số 172.217.161.142.

Giả sử bạn muốn truy cập vào trang có địa chỉ hoatuanngan.vn:

Ngay sau khi bạn nhập tên miền hoatuanngan.vn vào trình duyệt, trình duyệtvà máy tính sẽ kiểm tra xem có địa chỉ IP liên quan đến miền trong bộ nhớ của chúng hay không.

Trường hợp máy chủ tên miền cục bộ có cơ sở dữ liệu chuyển đổi tên miền này sang địa chỉ IP tương ứng, nó sẽ nhanh chóng gửi trả lại IP của tên miền trên.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Trường hợp tên miền này khơng có trong bộ nhớ cục bộ của máy tính (bộ nhớ cache) nó sẽ mở rộng tìm kiếm lên các máy chủ ở mức Root cho đến khi tìm thấy máy chủ tên miền quản lý các tên miền có đi .vn (trong ví dụ này).

Tiếp đó, máy chủ tên miền cục bộ gửi yêu cầu đến máy chủ quản lý tên miềnViệt Nam (.vn) tìm tên miền hoatuanngan.vn

Sau khi máy chủ DNS tìm thấy tên miền hoatuanngan.vn, máy chủ sẽ trả về tên miền và địa chỉ IP tương ứng. Tiếp theo, địa chỉ IP của tên miền này sẽ được gửi trả lại cho máy chủ tên miền cục bộ.

Cuối cùng, thông tin này sẽ được máy chủ tên miền cục bộ chuyển đến máy của người truy vấn. Người truy vấn sử dụng địa chỉ IP này để kết nối đến server có địa chỉ hoatuanngan.vn.

<b>4. NSLookup - Cơng cụ chuẩn đốn DNS Server</b>

Giao thức DNS đã có đến hàng chục năm và vẫn đang thể hiện là một giao thức ổn định và tin cậy. Tuy vậy, DNS đơi khi vẫn có một số các vấn đề sự cố xảy ra. Các vấn đề này có thể bắt nguồn từ sự mất kết nối, một bản ghi DNS lỗi hoặc một số các vấn đề khác. Khi một máy chủ DNS không thực hiện theo cách mà nó đã được mong đợi thì nhiều người dùng lệnh PING để kiểm tra.

PING là một công cụ tuyệt vời cho việc chuẩn đoán lỗi DNS, tuy nhiên đôi khi lệnh PING không thể cho bạn đầy đủ thông tin về vấn đề đang mắc phải. Khi bạn cần nhiều thông tin về vấn đề DNS hơn so với những gì mà lệnh PING cung cấp thì hãy sử dụng lệnh NSLOOKUP. NSLOOKUP là một tiện ích chuẩn đốn DNS có sẵn trong Windows và UNIX.

<b>4.1. Giới thiệu chung về NSLookup</b>

Đầu tiên cần hiểu về NSLOOKUP là khi sử dụng lệnh NSLOOKUP, nó thừanhận rằng bạn đang truy vấn một miền cục bộ trên mạng riêng của mình. Bạn có thể truy vấn một miền bên ngồi, nhưng NSLOOKUP sẽ cố gắng tìm kiếm cho miền bên trong trước tiên. Ví dụ, nếu brienposey.com là một miền bên ngồi và thực hiện NSLOOKUP đối với brienposey.com, thì NSLOOKUP sẽ trả về các thông tin như được thể hiện trong hình sau:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Nếu nhìn vào hình trên, bạn sẽ thấy được rằng có một thơng báo lỗi miền non-existent cho các địa chỉ IP 147.100.100.34 và 147.100.100.5. Có một số địa chỉ của các máy chủ DNS bên trong. Điều này có nghĩa rằng máy chủ DNS đã cố gắng truy vấn một máy chủ DNS bên ngoài để giải quyết địa chỉ IP được kết hợp với miền brienposey.com.

Một trong những miền cục bộ trên mạng riêng trong ví dụ này là

production.com. Nếu thực hiện một lệnh NSLOOKUP đối với miền này thì sẽ có các kết quả như sau:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Nếu để ý phần trên của màn hình này thì bạn sẽ thấy được rằng nó có cùng các thơng báo lỗi miền non-existent như khi truy vấn một miền bên ngoài. Đầu tiên, điều này gây ra một chút hoang mang. Lý do tại sao lại có kết quả vậy sẽ đượcgiải thích trong phần sau. Từ đây bạn có thể nhập vào các lệnh NSLOOKUP khác nữa. Khi thực hiện như vậy, bạn có thể sử dụng lệnh EXIT để trả về cửa sổ lệnh.

<b>4.2. Tiện ích NS Lookup</b>

Giờ chúng ta sẽ đi sâu vào cách sử dụng lệnh NSLOOKUP để xem địa chỉ IP hoặc các địa chỉ có liên quan với miền. Như những gì chúng tơi đã đề cập ở trên, bạn có thể thực hiện việc này với tiện ích NSLOOKUP. Khi tiện ích

NSLOOKUP được mở, bạn cần khai báo NSLOOKUP máy chủ DNS nào muốn truy vấn. Để thực hiện điều đó, bạn hãy nhập vào lệnh SERVER, sau đó là địa chỉ IP của máy chủ DNS. Bạn cũng có thể nhập vào tên miền có tư cách đầy đủ của máy chủ (thừa nhận rằng nó có thể được giải quyết) với tư cách là một sự lựa chọn địa chỉ IP của máy chủ. Để thực hiện như vậy, bạn chỉ đánh vào đó tên miền mà bạn muốn truy vấn. Ví dụ, nếu nhìn vào hình C, bạn có thể thấy nơi chúng tôi đã chỉ định một máy chủ DNS riêng và sau đó truy vấn miền bên trong và bên ngoài.

Lúc này, hãy quay trở lại doanh nghiệp đê tra cứu bản ghi MX của miền. Để thực hiện như vậy, bạn cần đưa ra một lệnh yêu cầu NSLOOKUP truy vấn dựa trêncác bản ghi MX. Lệnh mà bạn phải sử dụng là:

<i>- SET QUERY = MX</i>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Việc đưa ra lệnh này tự bản thân nó sẽ khơng cho bạn bất kỳ thơng tin gì về bản ghi MX của miền, bạn phải truy vấn miền bằng cách nhập vào tên miền. NSLOOKUP hiện trả về rất nhiều thông tin liên quan đến bản ghi MX của miền.

Như những gì đã nêu ra trong bài, NSLOOKUP có thể cung cấp cho bạn mộtsố các thơng tin chuẩn đốn máy chủ DNS. Mặc dù vậy, NSLOOKUP không chỉ hạn chế trong việc cung cấp các kiểu thông tin mà chúng tôi giới thiệu mà nó có một giao diện phong phú với một tập lớn lệnh.

BIND là phần mềm nguồn mở thực hiện các giao thức Hệ thống tên miền (DNS) cho Internet, cung cấp khả năng thực hiện chuyển đổi tên thành ip.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Tên BIND là viết tắt của tên Berkeley Internet Name Domain, vì phần mềm có nguồn gốc từ đầu những năm 1980 tại Đại học California tại Berkeley. Nó là một triển khai tham chiếu của các giao thức DNS, nhưng nó cũng là phần mềm cấpsản xuất, phù hợp để sử dụng trong các ứng dụng có khối lượng lớn và độ tin cậy cao.

BIND cho đến nay là phần mềm DNS được sử dụng rộng rãi nhất trên

Internet, cung cấp một nền tảng mạnh mẽ và ổn định trên đó các tổ chức có thể xâydựng các hệ thống máy tính phân tán với kiến thức rằng các hệ thống đó tuân thủ đầy đủ các tiêu chuẩn DNS được công bố.

Đăng nhập vào máy chủ CentOS 7 của bạn bằng thông tin đăng nhập sudo hoặc root, thiết lập FQDN và thiết lập mạng cơ bản để đảm bảo rằng bạn được kết nối với Internet.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>CHƯƠNG II: CÁCH CẤU HÌNH BIND9 LÀM MÁY CHỦ DNS MẠNGRIÊNG TRÊN UBUNTU 20.04</b>

<b>II.CÁC BƯỚC THỰC HIỆN</b>

 <b>B1: Cài đặt BIND trên máy chủ DNS</b>

Trên cả hai máy chủ DNS, ns1 và ns2 thực hiện:Chạy lệnh cập nhật:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i>sudo apt update</i>

Chạy lệnh cài đặt Bind9:

<i>sudo apt install bind9 bind9utils bind9-doc</i>

 <b>B2: Cấu hình máy chủ DNS chính</b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

File cấu hình của DNS được đặt tại thư mục /etc/bind với địa chỉ chính xác là /etc/bind/named.conf

<i>- Tiến hành chỉnh sửa file named.conf.options:sudo gedit /etc/bind/named.conf.options</i>

Trên khối options, tạo một ACL (danh sách kiểm soát truy cập) mới là trusted để xác định danh sách các máy khách được phép truy vấn DNS query và thêm các địa chỉ IP của các máy chủ. Bên dưới directory, thêm các dòng cấu hình với địa chỉ IP riêng ns1.

Tiến hành lưu và đóng file lại.

<i>- Tiếp tục edit file named.conf.local:sudo gedit /etc/bind/named.conf.local</i>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Tại file này, sẽ chỉ định các file forward zone và file reserve. Vùng DNS chỉ định một phạm vi cụ thể để quản lý và xác định các bản ghi DNS.

- Tạo file forward zone:

<i>Bắt đầu tạo thêm ở địa chỉ /etc/bind/zones: sudo mkdir /etc/bind/zones</i>

Tiến hành chỉnh sửa file:

Thêm vào những dòng sau:

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Lưu và đóng tệp.

- Chuyển qua tạo file reserve zone:

<i>Dựa trên file mẫu trên db.127 zone, BIND sử dụng tệp này để lưu trữ thông </i>

tin cho giao diện loopback cục bộ; 127 là octet đầu tiên của địa chỉ IP đại diện cho

<i>localhost ( 127.0.0.1). Sao chép file vào vị trí thích hợp:sudo cp /etc/bind/db.127 /etc/bind/zones/db.192</i>

Tiến hành chỉnh sửa:

Thêm vào file như sau:

</div>

×