Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
226,19 KB
Nội dung
ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH KHOA KỸ THUẬT MẠNG MÁY TÍNH & TRUYỀN THÔNG 🙦🕮🙤 ĐỒ ÁN NHÓM MÔN HỌC: NỀN TẢNG HỆ THỐNG MÁY TÍNH Tên đề tài: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH LINUX GVHD : NGUYỄN KIM TUẤN LỚP : CR 250 G NHÓM : 14 Thành viên 1 : Nguyễn Lâm Việt Hoàng – MSSV 2545 Thành viên 2 : Nguyễn Nhật Huy – MSSV 0989 Thành viên 3 : Đoàn Văn Duy Hưng – MSSV 1174 Đà Nẵng, 11/2023 MỞ ĐẦU Chúng ta đang được sống trong một thời đại tri thức, thời đại của sự biến đổi và phát triển không ngừng của công nghệ Công nghệ tạo nên cuộc sống và làm thay đổi cuộc sống của chúng ta Công nghệ thông tin là những nền tảng để tạo nên công nghệ làm thay đổi cuộc sống Như chúng ta đã biết công nghệ thông tin làm thay đổi cuộc sống của chúng ta rất nhiều, nó tác động và làm thay đổi về tất cả mọi mặt đời sống của chúng ta như quản lý, điều khiển công việc, phục vụ công việc, giải trí, viễn thông, trao đổi, … Đó là những gì mà công nghệ thông tin đã mang lại cho chúng ta Và còn nhiều hơn nữa nền công nghệ đó đang ngày càng phát triển và hoàn thiện hơn Nhưng bên cạnh những lợi ích mà nó mang lại thì cũng có những khó khăn được đặt ra đó chính là phải có những con người vận hành nền công nghệ đó, các thiệt bị chuyên dụng hiện đại, chi phí đầu tư cho công nghệ… Tất cả những điều đó đã làm cho việc hoách toán chi phí ứng dụng công nghệ vào sẳn xuất được khai thác và tận dụng triệt để Như chúng ta đã biết bên cạnh những lợi ích mà các thiết bị và phần mềm công nghệ mang lại pục vụ cho sản xuất thì nó có giá thành và chi phí rất cao Vì vậy đòi hỏi người dung fcunxg như các doanh nghiệp cần có một chính sách hợp lý để sử dụng được công nghệ Điều đó đã tọa nên sự phát triển của cộng đồng mã người mở để cho con người tiếp cận công nghệ một cachs thuận lợi nhất mà không cần phải tốn nhiều chi phí nhiều cho đầu từ công nghệ Linux là một phần mềm hệ điều hành mã nguồn mở được cộng đồng IT thế giới phát triển liên tục và không ngừng trên inter net, xét một cách toàn bộ thì Linux hơn hẳn các sản phẩm trên thị trường hiện nay, bởi tính miễn phí và tính năng của nó có rất nhiều ứng dụng phục vụ cho công việc, mỗi ứng dụng lại có rất nhiều người viết nên do đó hiệu năng ứng dụng và sự lựa chọn cho người dung rất lớn Có thể thấy với hướng phát triển triển tin học ở nước ta hiện nay, đối với người dùng thông thường việc sử dụng linux vẫn là một điều khó, nhưng với những người nghiên cứu và tìm hiểu tin học thì việc sử dụng hệ điều hành mã nguồn mở là điều kiện tốt để nâng cao sự hiểu biết của mình 1 Lý do chọn đề tài - Lý do khách quan: Hiện nay, công nghệ thông tin đang có vai trò cực kỳ quan trọng không thể thiếu trong quá trình quản lý, điều hành các hoạt động sản xuất kinh doanh của mỗi doanh nghiệp Do vậy, việc xây dựng được một hệ thông mạng với đầy đủ các dịch vụ cần thiết phục vụ kinh doanh là điều rất cần thiết Ngoài các yếu tố phần cứng và nguồn nhân lực quản trị thì yếu tố phần mềm cũng đóng vai trò rất quan trọng khi xây dựng một hệ thống mạng Nói đến phần mềm một vấn đề lớn ở nước ta là bản quyền, chi phí mua bản quyền các dịch vụ để hoàn tất một hệ thống mạng là rất lớn Để tiết kiệm một khoản chi phí lớn, người ta dần chuyển sang các sản phẩm dịch vụ từ mã nguồn mở Ngoài việc chạy ổn định, ít bị tấn công, có một cộng đồng phát triển rất lớn thì ưu điểm lớn nhất và đáng quan tâm nhất của mã nguồn mở đó là không tốn phí Vì những lý do trên, nhóm đã thực hiện đề tài này - Lý do chủ quan: Nhóm chúng em thực hiện đề tài nhằm mục đích tìm hiểu rõ hơn về kiến thức mới trong ngành Công nghệ phần mềm, có thêm những hiểu biết về hệ điều hành mã nguồn mở, để từ đó phục vụ cho quá trình học cũng như có những lợi ích cho công việc sau khi tốt nghiệp ra trường 2 Mục tiêu đề tài - Tìm hiểu về hệ điều hành mã nguồn mở Linux - Tìm hiểu về các bản phân phối của hệ điều hành Linux: - Debian 12 (Bullseye) - Ubuntu 23.04 - Red Hat Enterprise Linux 9 - CentOS Stream 9 - Fedora 37 - Tìm hiểu về một số dịch vụ mạng trên hệ điều hành Linux: - DSN - DHCP - SAMBA - FTP - Webserver - LDAP -Tìm hiểu về các giai đoạn và các thế hệ phát triển của hệ điều hành Linux MỤC LỤC PHẦN I: TÌM HIỂU TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX 1 1.1 Tổng quan về hệ điều hành Linux 1 1.1.1 Khái niệm về hệ điều hành Linux 1 1.1.2 Lịch sử phát triển của hệ điều hành Linux 1 1.2 Ưu và Nhươc điểm của hệ điều hành Linux 2 1.2.1 Ưu điểm của hệ điều hành Linux 2 1.2.2 Nhược điểm của hệ điều hành Linux 3 1.3 Các bản phân phối của Linux .4 1.4 Tính năng và Ứng dụng của hệ điều hành Linux 6 1.4.1 Các tính năng của hệ điều hành Linux 6 1.4.2 Các ứng dụng của hệ điều hành Linux 7 1.5 Lợi ích của hệ điều hành Linux 7 PHẦN II: TÌM HIỂU MỐT SỐ DỊCH VỤ MẠNG TRÊN LINUX 9 2.1 Dịch vụ mạng DNS trên hệ điều hành Linux .9 2.1.1 Giới thiệu chung về DNS 9 2.1.2 Cấu hình dịch vụ mạng DNS trên hệ điều hành Linux 9 2.2 Dịch vụ mạng DHCP trên hệ điều hành Linux 11 2.2.1 Giới thiệu chung về DHCP 11 2.2.2 Cấu hình dịch vụ mạng DHCP trên hệ điều hành Linux .11 2.3 Dịch vụ mạng SAMBA trên hệ điều hành Linux .13 2.3.1 Giới thiệu chung về SAMBA 13 2.3.2 Cấu hình dịch vụ mạng SAMBA trên hệ điều hành Linux 13 2.4 Dịch vụ mạng FTP trên hệ điều hành Linux 15 2.4.1 Giới thiệu chung về FTP .15 2.4.2 Cấu hình dịch vụ mạng FTP trên hệ điều hành Linux 15 2.5 Dịch vụ mạng Webserver trên hệ điều hành Linux 17 2.5.1 Giới thiệu chung về Webserver 17 2.5.2 Cấu hình dịch vụ mạng Webserver trên hệ điều hành Linux 17 2.6 Dịch vụ mạng LDAP trên hệ điều hành Linux 19 2.6.1 Giới thiệu chung về LDAP 19 2.6.2 Cấu hình dịch vụ mạng LDAP trên hệ điều hành Linux .19 PHẦN III: TÌM HIỂU CÁC THẾ HỆ CỦA HỆ ĐIỀU HÀNH LINUX 21 3.1 Giai đoạn phát triển của hệ điều hành Linux 21 3.2 Các thế hệ của hệ điều hành Linux 21 PHẦN I: TÌM HIỂU TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX 1.1 Tổng quan về hệ điều hành Linux 1.1.1 Khái niệm về hệ điều hành Linux Hệ điều hành Linux là một hệ điều hành mã nguồn mở dựa trên Unix Nó được phát triển bởi Linus Torvalds và cộng đồng của ông từ năm 1991 Linux được sử dụng rộng rãi trên các máy chủ, máy trạm, thiết bị nhúng và thiết bị di động Linux là một hệ điều hành đa nhiệm, đa người dùng Nó cung cấp một môi trường cho các ứng dụng chạy và tương tác với nhau Linux cũng cung cấp các dịch vụ cơ bản như quản lý tập tin, quản lý thiết bị, và quản lý tài nguyên 1.1.2 Lịch sử phát triển của Linux Linux là một HĐH dạng UNIX (Unix-like Operating System) chạy trên máy PC với bộ điều khiển trung tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý trung tâm tương thích AMD, Cyrix Linux ngày nay còn có thể chạy trên các máy Macintosh hoặc SUN Sparc Linux được viết lại toàn bộ từ con số không, tức là không sử dụng một dòng lệnh nào của Unix để tránh vấn đề bản quyền của Unix Tuy nhiên hoạt động của Linux hoàn toàn dựa trên nguyên tắc của hệ điều hành Unix Vì vậy nếu một người nắm được Linux, thì sẽ nắm được UNIX Giữa các hệ thống Unix sự khác nhau cũng không kém gì giữa Unix và Linux Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần lan, bắt đầu xem xét Minix, một phiên bản của Unix làm ra với mục đích nghiên cứu cách tạo ra một hệ điều hành Unix chạy trên máy PC với bộ vi xử lý Intel 80386 Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo trên comp.os.minix của Internet về dự định của mình về Linux Tháng 01/1992, Linus cho ra version 0.12 với shell và C compiler Linus không cần Minix nữa để recompile HDH của mình Linus đặt tên HDH của mình là Linux.Năm 1994, phiên bản chính thức 1.0 được phát hành Quá trình phát triển của Linux được tăng tốc bởi sự giúp đỡ của chương trình GNU (GNU‟s Not Unix), đó là chương trình phát triển các Unix có khả năng chạy trên nhiều platform Phiên bản mới nhất của Linux kernel là 2.6.25, có khả năng điều khiển các máy đa bộ vi xử lý (hiện tại Linux hỗ trợ máy tính có tối đa 16 CPUs) Linux kernel 2.6.25 cũng đồng thời nâng cấp hệ thống file Ext4 (phiên bản cũ là Ext3), giúp hỗ trợ dung lượng block lớn hơn - từ 4K lên 64K và rất nhiều các tính năng khác Quản trị hệ điều hành Linux Các phiên bản của Hệ điều hành Linux được xác định bởi hệ thống số dạng X.YY.ZZ Nếu YY là số chẵn thì phiên bản ổn định, YY là số lẻ thì phiên bản thử nghiệm 1|Page 1.2 Ưu và Nhươc điểm của hệ điều hành Linux 1.2.1 Ưu điểm Kinh tế: Đó là một đặc điểm không thể bỏ qua của Linux Tuy nhiên đối với Linux đó vẫn chưa là tất cả Hệ điều hành này còn rất nhiều ưu điểm khác mà không một hệ điều hành nào có Chính những đặc điểm này mới là nguyên nhân khiến cho Linux ngày càng trở nên phổ biến không chỉ ở Việt Nam mà cả ở trên thế giới Linh hoạt, uyển chuyển: Linux là một Hệ điều hành mã nguồn mở nên chúng ta có thể tùy ý sửa chữa theo như mình thích (tất nhiên là trong khả năng kiến thức của mỗi người) Chúng ta có thể chỉnh sửa Linux và các ứng dụng trên đó sao cho phù hợp với mình nhất Mặt khác do Linux được một cộng đồng rất lớn những người làm phần mềm cùng phát triển trên các môi trường, hoàn cảnh khác nhau nên tìm một phiên bản phù hợp với yêu cầu của mỗi người sẽ không phải là một vấn đề quá khó khăn Tính linh hoạt của Linux còn được thể hiện ở chỗ nó tương thích được với rất nhiều môi trường Hiện tại, ngoài Linux dành cho server, PC…nhân Linux còn được nhúng vào các thiết bị điều khiển như máy tính palm, robot…Phạm vi ứng dụng của Linux được xem là rất rộng rãi Độ an toàn cao: Trước hết, trong Linux có một cơ cấu phân quyền hết sức rõ ràng Chỉ có "root" (người dùng tối cao) mới có quyền cài đặt và thay đổi hệ thống Ngoài ra Linux cũng có cơ chế để một người dùng bình thường có thể tạm thời chuyển sang quyền "root" để thực hiện một số thao tác Điều này giúp cho hệ thống có thể chạy ổn định và tránh phải những sai sót dẫn đến đổ vỡ hệ thống Hệ điều hành Windows gần đây, cơ chế phân quyền này cũng đã bước đầu được áp dụng, nhưng so với Linux thì vẫn kém chặt chẽ hơn) Ngoài ra chính tính chất "mở" cũng tạo nên sự an toàn của Linux Nếu như một lỗ hổng nào đó trên Linux được phát hiện thì nó sẽ được cả cộng đồng mã nguồn mở cùng sửa và thường thì chỉ sau 24h sẽ có thể cho ra bản sửa lỗi Mặt khác đối với những Hệ điều hành mã nguồn đóng như Windows, chúng ta không thể biết được người ta viết gì, và viết ra sao mà chỉ biết được chúng chạy như thế nào Vì vậy nếu như Windows có chứa những đoạn mã cho phép tạo những "back door" để xâm nhập vào hệ thống của chúng ta thì chúng ta cũng không thể biết được Đối với người dùng bình thường như chúng 2|Page ta vấn đề này có vẻ như không quan trọng nhưng đối với một hệ thống tầm cỡ như hệ thống quốc phòng thì vấn đề như thế này lại mang tính sống còn Các nhân viên an ninh không được phép để lộ một kẽ hở nào, dù là nhỏ nhất vì nó liên quan đến an ninh của cả một quốc gia Và một lần nữa các phần mềm mã nguồn mở nói chung và Linux nói riêng lại là sự lựa chọn số 1 Trong Linux mọi thứ đều công khai, người quản trị có thể tìm hiểu tới mọi ngõ ngách của hệ điều hành Điều đó cũng có nghĩa là độ an toàn được nâng cao Thích hợp cho quản trị mạng: Được thiết kế ngay từ đầu cho chế độ đa người dùng, Linux được xem là một hệ điều hành mạng rất giá trị Nếu như Windows tỏ ra là một Hệ điều hành thích hợp với máy tính Desktop thì Linux lại là hệ điều hành thống trị đối với các Server Đó là do Linux có rất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ điều hành mạng: tính bảo mật cao, chạy ổn định, các cơ chế chia sẻ tài nguyên tốt… Giao thức TCP/IP mà chúng ta vẫn thấy ngày nay chính là một giao thức truyền tin của Linux (sau này mới được đưa vào Windows) Chạy thống nhất trên các hệ thống phần cứng: Dù cho có rất nhiều phiên bản Linux được các nhà phân phối khác nhau ban hành nhưng nhìn chung đều chạy khá ổn định trên mọi thiết bị phần cứng, từ Intel 486 đến những máy Core 2 Duo, từ những máy có dung lượng RAM chỉ 4MB Hệ điều hành Linux những máy có cấu hình cực mạnh (tất nhiên là tốc độ sẽ khác nhau nhưng về nguyên tắc vẫn có thể chạy được) Nguyên nhân là Linux được rất nhiều lập trình viên ở nhiều môi trường khác nhau cùng phát triển (không như Windows chỉ do Microsoft phát triển) và chúng ta sẽ bắt gặp nhiều người có "cùng cảnh ngộ" như mình và dễ dàng tìm được các driver tương ứng với thiết bị của mình Tính chất này hoàn toàn trái ngược với Windows Mỗi khi có một phiên bản Windows mới ra đời thì bao giờ kèm theo đó cũng là một cơn khát về phần cứng vì hệ điều hành mới thường không hỗ trợ các thiết bị quá cũ 1.2.2 Nhược điểm Dù cho hiện nay Linux đang có tốc độ phát triển nhanh hơn hẳn Windows nhưng khách quan mà nói so với Windows, Linux vẫn chưa thể đến với người sử dụng cuối Đó là do Linux vẫn còn có những nhược điểm cố hữu: Đòi hỏi người dùng phải thành thạo: Trước kia việc sử dụng và cấu hình Linux được xem là một công việc chỉ dành cho những kĩ thuật viên CNTT Hầu như mọi công việc đều thực hiện trên các dòng lệnh và phải cấu hình 3|Page nhờ sửa trực tiếp các file Mặc dù trong những phiên bản gần đây, các Hệ điều hành Linux đã có những cải tiến đáng kể, nhưng so với Windows tính thân thiện của Linux vẫn còn là một vấn đề lớn Đây là một trong những nguyên nhân chủ yếu khiến Linux mặc dù có rất nhiều đặc tính kỹ thuật tốt nhưng vẫn chưa đến được với người dùng cuối Tính tiêu chuẩn hóa: Linux được phát hành miễn phí nên bất cứ ai cũng có thể tự mình đóng gói, phân phối theo những cách riêng Hiện tại có khá nhiều bản Linux phát triển từ một nhân ban đầu cùng tồn tại như: RedHat, SuSE, Knoppix… Người dùng phải tự so sánh xem bản nào là phù hợp với mình Điều này có thể gây khó khăn cho người dùng, nhất là những người còn có kiến thức về tin học hạn chế Số lượng các ứng dụng chất lượng cao trên Linux còn hạn chế Quản trị hệ điều hành Linux Mặc dù Windows có sản phẩm nào thì Linux cũng gần như có phần mềm tương tự, (VD: OpenOffice trên Linux tương tự như MSOffice, hay GIMP tương tự như Photoshop ) Tuy nhiên chất lượng những sản phẩm này là chưa thể so sánh được với các sản phẩm viết cho Windows Phần cứng: một số nhà sản xuất phần cứng không có driver hỗ trợ Linux: Do hiện nay Linux chưa phổ biến bằng Windows nên nhiều nhà sản xuất không hỗ trợ các driver chạy trên Linux Tuy nhiên chúng ta vẫn có thể tìm thấy các driver này trên internet do cộng đồng mã nguồn mở viết Trên cơ sở nhìn nhận một cách khách quan các ưu, nhược điểm của Hệ điều hành Linux cũng như xem xét xu hướng phát triển tin học ở nước ta có thể thấy, Đối với người dùng thông thường việc chuyển từ Windows sang Linux trong ngày một ngày hai là chưa thể Tuy nhiên đối với những người làm tin học, đặc biệt là đối với sinh viên, việc tìm hiểu và nghiên cứu Linux và phần mềm mã nguồn mở là một điều kiện rất tốt để nâng cao hiểu biết của mình Linux dẫu sao vẫn là một hệ điều hành rất có giá trị: chi phí thấp, linh hoạt, ổn đinh, và bảo mật cao 1.3 Các bản phân phối của Linux Các bản phân phối linux hiện nay Hiện nay linux có nhiều bản phân phối khác nhau, một phần là bởi vì tính chất nguồn mở của nó Sau đây là một số bản phân phối chủ yếu: Ubuntu 23.04 4|Page Ubuntu 23.04 là bản phân phối Linux mới nhất của Canonical, được phát hành vào ngày 20 tháng 4 năm 2023 Đây là bản cập nhật thứ hai cho Ubuntu 23.0, được phát hành vào ngày 20 tháng 1 năm 2023 Ubuntu 23.04 có một số tính năng mới, bao gồm: GNOME 43, phiên bản mới nhất của môi trường máy tính để bàn GNOME Linux Kernel 5.19, phiên bản mới nhất của nhân Linux Nhiều cải tiến về hiệu suất và bảo mật Ubuntu 23.04 được hỗ trợ trong 9 tháng, đến ngày 18 tháng 1 năm 2024 Debian 12 (Bullseye) Debian 12 là bản phân phối Linux mới nhất của Debian Project, được phát hành vào ngày 18 tháng 8 năm 2022 Đây là bản cập nhật thứ hai cho Debian 11 (Bullseye), được phát hành vào ngày 14 tháng 8 năm 2021 Debian 12 có một số tính năng mới, bao gồm: GNOME 42, phiên bản mới nhất của môi trường máy tính để bàn GNOME Linux Kernel 5.18, phiên bản mới nhất của nhân Linux Nhiều cải tiến về hiệu suất và bảo mật Debian 12 được hỗ trợ trong 3 năm, đến ngày 18 tháng 8 năm 2025 Red Hat Enterprise Linux 9 Red Hat Enterprise Linux 9 là bản phân phối Linux mới nhất của Red Hat, được phát hành vào ngày 17 tháng 8 năm 2022 Đây là bản cập nhật thứ hai cho Red Hat Enterprise Linux 8, được phát hành vào ngày 27 tháng 5 năm 2019 Red Hat Enterprise Linux 9 có một số tính năng mới, bao gồm: GNOME 42, phiên bản mới nhất của môi trường máy tính để bàn GNOME Linux Kernel 5.18, phiên bản mới nhất của nhân Linux Nhiều cải tiến về hiệu suất và bảo mật Red Hat Enterprise Linux 9 được hỗ trợ trong 5 năm, đến ngày 17 tháng 8 năm 2027 CentOS Stream 9 5|Page CentOS Stream 9 là bản phân phối Linux mới nhất của CentOS Project, được phát hành vào ngày 17 tháng 8 năm 2022 Đây là bản cập nhật thứ hai cho CentOS Stream 8, được phát hành vào ngày 27 tháng 5 năm 2019 CentOS Stream 9 là bản phân phối Linux dựa trên Red Hat Enterprise Linux 9 Nó được thiết kế để trở thành một nền tảng ổn định và đáng tin cậy cho các doanh nghiệp và tổ chức CentOS Stream 9 được hỗ trợ trong 5 năm, đến ngày 17 tháng 8 năm 2027 Fedora 37 Fedora 37 là bản phân phối Linux mới nhất của Fedora Project, được phát hành vào ngày 20 tháng 7 năm 2023 Đây là bản cập nhật thứ hai cho Fedora 36, được phát hành vào ngày 20 tháng 7 năm 2022 Fedora 37 có một số tính năng mới, bao gồm: GNOME 43, phiên bản mới nhất của môi trường máy tính để bàn GNOME Linux Kernel 5.19, phiên bản mới nhất của nhân Linux Nhiều cải tiến về hiệu suất và bảo mật Fedora 37 được hỗ trợ trong 12 tháng, đến ngày 20 tháng 7 năm 2024 Ngoài các bản phân phối Linux được đề cập ở trên, còn có nhiều bản phân phối Linux khác có sẵn Một số bản phân phối Linux phổ biến khác bao gồm: Arch Linux Gentoo Linux Manjaro Linux OpenSUSE Zorin OS Khi lựa chọn một bản phân phối Linux, bạn cần cân nhắc các yếu tố sau: - Mức độ kinh nghiệm: Một số bản phân phối Linux được thiết kế cho người dùng mới, trong khi những bản phân phối khác được thiết kế cho người dùng nâng cao - Mục đích sử dụng 1.4 Tính năng và Ứng dụng của hệ điều hành Linux 1.4.1 Các tính năng của Linux Linux là một hệ điều hành mã nguồn mở, đa nhiệm và đa người dùng Nó được phát triển bởi Linus Torvalds và cộng đồng của ông từ năm 1991 Linux được sử dụng rộng rãi trên các máy chủ, máy trạm, thiết bị nhúng và thiết bị di động Linux có nhiều tính năng nổi bật, bao gồm: 6|Page - Mở rộng: Linux có một cộng đồng phát triển lớn và năng động, cung cấp nhiều công cụ và tài nguyên cho các nhà phát triển - Tùy chỉnh: Linux có thể được tùy chỉnh để phù hợp với nhu cầu của các nhà phát triển - Tính linh hoạt: Linux có thể được sử dụng để phát triển nhiều loại ứng dụng, từ ứng dụng web đến ứng dụng di động Nhìn chung, Linux là một hệ điều hành mạnh mẽ và linh hoạt có thể mang lại nhiều lợi ích cho cá nhân, doanh nghiệp và các nhà phát triển PHẦN II: TÌM HIỂU MỘT SỐ DỊCH VỤ MẠNG TRÊN LINUX 2.1 Dịch vụ mạng DNS trên hệ điều hành Linux 2.1.1 Giới thiệu chung về DNS DNS (Domain Name System) là một hệ thống phân giải tên miền, dịch tên miền thành địa chỉ IP và ngược lại DNS là một dịch vụ mạng quan trọng, giúp người dùng dễ dàng truy cập các trang web và ứng dụng bằng tên miền thay vì phải nhớ địa chỉ IP.Trên hệ điều hành Linux, dịch vụ mạng DNS được cung cấp bởi gói phần mềm bind Phiên bản mới nhất của bind là bind9 Quy trình phân giải tên miền: Khi một máy khách muốn truy cập một trang web hoặc ứng dụng, nó sẽ gửi một truy vấn DNS đến máy chủ DNS Máy chủ DNS sẽ tìm kiếm thông tin về trang web hoặc ứng dụng đó trong cơ sở dữ liệu của mình Nếu tìm thấy, máy chủ DNS sẽ trả về địa chỉ IP của trang web hoặc ứng dụng đó cho máy khách Nếu máy chủ DNS không tìm thấy thông tin về trang web hoặc ứng dụng đó trong cơ sở dữ liệu của mình, nó sẽ gửi truy vấn đến một máy chủ DNS khác Quá trình này sẽ tiếp tục cho đến khi tìm thấy thông tin cần thiết 2.1.2 Cấu hình dịch vụ mạng DNS trên hệ điều hành Linux Để cấu hình dịch vụ mạng DNS trên hệ điều hành Linux, bạn cần chỉnh sửa tập tin cấu hình named.conf Tập tin này nằm trong thư mục /etc/bind Tập tin named.conf có cấu trúc như sau: options { }; zone "example.com" { 9|Page }; - Phần options chứa các tùy chọn cấu hình chung cho dịch vụ mạng DNS - Phần zone chứa cấu hình cho một miền cụ thể Các tùy chọn cấu hình chung cho dịch vụ mạng DNS bao gồm: - allow-transfer: Cho phép các máy chủ DNS khác truy cập cơ sở dữ liệu DNS - allow-recursion: Cho phép các máy khách DNS khác yêu cầu truy vấn ngược từ máy chủ DNS - listen-on: Chỉ định các giao diện mạng mà máy chủ DNS sẽ lắng nghe - max-transfer-time-in: Thời gian tối đa mà một máy chủ DNS khác có thể yêu cầu truy cập cơ sở dữ liệu DNS - recursion: Cho phép máy chủ DNS trả lời các truy vấn ngược - server-id: ID của máy chủ DNS - version: Phiên bản của dịch vụ mạng DNS Cấu hình cho một miền cụ thể bao gồm các thông tin sau: - type: Loại miền Các loại miền phổ biến bao gồm master, slave và stub - file: Đường dẫn đến tập tin chứa thông tin về miền - allow-update: Cho phép các máy chủ DNS khác cập nhật thông tin về miền - masters: Danh sách các máy chủ DNS chính cho miền - slaves: Danh sách các máy chủ DNS phụ cho miền Lưu ý khi cấu hình dịch vụ mạng DNS trên hệ điều hành Linux Khi cấu hình dịch vụ mạng DNS trên hệ điều hành Linux, bạn cần lưu ý các điểm sau: - Tên miền phải được viết theo đúng quy tắc - Địa chỉ IP phải được viết theo đúng định dạng - Các thông tin cấu hình phải chính xác Để khởi động dịch vụ mạng DNS, bạn sử dụng lệnh sau: systemctl start named Để dừng dịch vụ mạng DNS, bạn sử dụng lệnh sau: systemctl stop named Để kiểm tra trạng thái của dịch vụ mạng DNS, bạn sử dụng lệnh sau: systemctl status named Một số câu lệnh hữu ích cho dịch vụ mạng DNS 10 | P a g e Một số câu lệnh hữu ích cho dịch vụ mạng DNS bao gồm: - named-checkconf: Kiểm tra tính hợp lệ của tập tin cấu hình named.conf - named-checkzone: Kiểm tra tính hợp lệ của một miền cụ thể - named-debugging: Bật chế độ gỡ lỗi cho dịch vụ mạng DNS Kết luận: Dịch vụ mạng DNS là một dịch vụ mạng quan trọng, giúp người dùng dễ dàng truy cập các trang web và ứng dụng bằng tên miền Trên hệ điều hành Linux, dịch vụ mạng DNS được cung cấp bởi gói phần mềm bind 2.2 Dịch vụ DHCP trên hệ điều hành Linux 2.2.1 Giới thiệu chung về DHCP DHCP (Dynamic Host Configuration Protocol) là một giao thức mạng cho phép các máy khách tự động nhận được địa chỉ IP, subnet mask, router và các thông tin cấu hình mạng khác từ máy chủ DHCP Trên hệ điều hành Linux, dịch vụ mạng DHCP được cung cấp bởi gói phần mềm dhcpd Phiên bản mới nhất của dhcpd là dhcpd-4.4.3 Hệ thống DHCP bao gồm hai thành phần chính: - Máy chủ DHCP: Máy chủ DHCP là máy chủ cung cấp thông tin cấu hình mạng cho các máy khách - Máy khách DHCP: Máy khách DHCP là máy tính nhận thông tin cấu hình mạng từ máy chủ DHCP Quy trình hoạt động của DHCP Khi một máy khách DHCP khởi động, nó sẽ gửi một yêu cầu DHCPDISCOVER đến mạng Máy chủ DHCP nhận được yêu cầu này sẽ gửi một phản hồi DHCPOFFER cho máy khách Máy khách sẽ chọn một trong các phản hồi DHCPOFFER và gửi một yêu cầu DHCPREQUEST đến máy chủ DHCP Máy chủ DHCP nhận được yêu cầu này sẽ gửi một phản hồi DHCPACK cho máy khách 2.2.2 Các loại máy chủ DHCP Có hai loại máy chủ DHCP chính: - Máy chủ DHCP tĩnh: Máy chủ DHCP tĩnh là máy chủ lưu trữ thông tin cấu hình mạng cố định cho các máy khách - Máy chủ DHCP động: Máy chủ DHCP động là máy chủ cấp phát địa chỉ IP động cho các máy khách 11 | P a g e Các thông tin cấu hình DHCP bao gồm: - Địa chỉ IP: Địa chỉ IP là một địa chỉ duy nhất trên mạng để nhận dạng một máy tính - Subnet mask: Subnet mask là một giá trị được sử dụng để phân biệt giữa các mạng khác nhau trên cùng một mạng con - Router: Router là một thiết bị chuyển mạch mạng giúp kết nối các mạng khác nhau - DNS server: DNS server là một máy chủ phân giải tên miền, dịch tên miền thành địa chỉ IP và ngược lại - Domain name: Domain name là tên miền của một máy tính hoặc mạng - Lease time: Lease time là thời gian mà máy khách được phép sử dụng địa chỉ IP được cấp phát Để cấu hình dịch vụ mạng DHCP trên hệ điều hành Linux, bạn cần chỉnh sửa tập tin cấu hình dhcpd.conf Tập tin này nằm trong thư mục /etc/dhcp Tập tin dhcpd.conf có cấu trúc như sau: option domain-name "example.com"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.254; default-lease-time 3600; max-lease-time 7200; } - Phần option domain-name chỉ định tên miền của máy chủ DHCP - Phần subnet chỉ định thông tin về một mạng con - Phần range chỉ định phạm vi địa chỉ IP được cấp phát cho các máy khách - Phần default-lease-time chỉ định thời gian mặc định mà máy khách được phép sử dụng địa chỉ IP được cấp phát - Phần max-lease-time chỉ định thời gian tối đa mà máy khách được phép sử dụng địa chỉ IP được cấp phát Lưu ý khi cấu hình dịch vụ mạng DHCP trên Linux Khi cấu hình dịch vụ mạng DHCP trên hệ điều hành Linux, bạn cần lưu ý các điểm sau: - Tên miền phải được viết theo đúng quy tắc - Địa chỉ IP và subnet mask phải là địa chỉ IP và subnet mask hợp lệ 12 | P a g e - Phạm vi địa chỉ IP phải nằm trong phạm vi địa chỉ IP của mạng con - Thời gian cấp phát địa chỉ IP phải phù hợp với nhu cầu sử dụng Để khởi động dịch vụ mạng DHCP, bạn sử dụng lệnh sau: systemctl start dhcpd Để dừng dịch vụ mạng DHCP, bạn sử dụng lệnh sau: systemctl stop dhcpd Để kiểm tra trạng thái của dịch vụ mạng DHCP, bạn sử dụng lệnh sau: systemctl status dhcpd Một số dòng lệnh hữu ích cho dịch vụ mạng DHCP Dưới đây là một số câu lệnh hữu ích cho dịch vụ mạng DHCP trên hệ điều hành Linux: - systemctl start dhcpd: Khởi động dịch vụ mạng DHCP - systemctl stop dhcpd: Dừng dịch vụ mạng DHCP - systemctl restart dhcpd: Khởi động lại dịch vụ mạng DHCP - systemctl enable dhcpd: Bật dịch vụ mạng DHCP khi khởi động hệ thống - systemctl disable dhcpd: Tắt dịch vụ mạng DHCP khi khởi động hệ thống Kết luận: DHCP là một dịch vụ mạng quan trọng, giúp tự động hóa việc cấp phát địa chỉ IP và các thông tin cấu hình mạng khác cho các máy khách Trên hệ điều hành Linux, dịch vụ mạng DHCP được cung cấp bởi gói phần mềm dhcpd Để cấu hình dịch vụ mạng DHCP, bạn cần chỉnh sửa tập tin cấu hình dhcpd.conf 2.3 Dịch vụ mạng SAMBA trên hệ điều hành Linux 2.3.1 Giới thiệu chung về SAMBA SAMBA là một ứng dụng máy chủ mạng cho phép chia sẻ tệp, máy in và các tài nguyên khác giữa các máy tính chạy các hệ điều hành khác nhau SAMBA được sử dụng phổ biến để kết nối các máy tính chạy Windows với các máy tính chạy Linux SAMBA là viết tắt của SMB Server, nơi SMB là Server Message Block, một giao thức mạng được sử dụng để chia sẻ tệp và máy in SAMBA được phát triển bởi Andrew Tridgell và được phát hành lần đầu tiên vào năm 1992 SAMBA là một phần mềm mã nguồn mở và miễn phí 2.3.2 Cấu hình dịch vụ mạng SAMBA trên hệ điều hành Linux Để cấu hình dịch vụ mạng SAMBA trên hệ điều hành Linux, bạn cần chỉnh sửa tập tin cấu hình smb.conf Tập tin này nằm trong thư mục /etc/samba Tập tin smb.conf có cấu trúc như sau: 13 | P a g e [global] # Global settings workgroup = WORKGROUP server string = Samba Server netbios name = SERVER security = user # Share definitions [share] path = /share available = yes valid users = @users - Phần global chứa các tùy chọn cấu hình chung cho dịch vụ mạng SAMBA - Phần share chứa cấu hình cho một phân vùng chia sẻ Các tùy chọn cấu hình chung cho dịch vụ mạng SAMBA bao gồm: - workgroup: Tên miền của mạng - server string: Tên máy chủ - netbios name: Tên máy chủ NetBIOS - security: Chế độ bảo mật Để cấu hình dịch vụ mạng SAMBA cho một miền cụ thể, bạn cần thêm phần [domain] vào tập tin cấu hình smb.conf Phần domain chứa các tùy chọn cấu hình cho miền đó - security: Chế độ bảo mật cho miền - netbios name: Tên máy chủ NetBIOS cho miền - preferred master: Cấu hình máy chủ chính cho miền - domain master: Cấu hình máy chủ phụ cho miền - domain logons: Cấu hình cho phép người dùng đăng nhập vào miền Để khởi động dịch vụ mạng SAMBA, bạn sử dụng lệnh sau: systemctl start smb Để dừng dịch vụ mạng SAMBA, bạn sử dụng lệnh sau: systemctl stop smb Để kiểm tra trạng thái của dịch vụ mạng DHCP, bạn sử dụng lệnh sau: systemctl status smb Một số câu lệnh hữu ích cho dịch vụ mạng SAMBA 14 | P a g e Ngoài các lệnh đã đề cập ở trên, bạn cũng có thể sử dụng các lệnh sau để quản lý dịch vụ mạng SAMBA: - smbpasswd: Thay đổi mật khẩu người dùng Samba - testparm: Kiểm tra tính hợp lệ của tập tin cấu hình smb.conf - smbstatus: Hiển thị trạng thái của dịch vụ mạng SAMBA - nmblookup: Tìm kiếm máy tính trên mạng Kết luận SAMBA là một dịch vụ mạng quan trọng, giúp chia sẻ tệp, máy in và các tài nguyên khác giữa các máy tính chạy các hệ điều hành khác nhau Trên hệ điều hành Linux, dịch vụ mạng SAMBA được cung cấp bởi gói phần mềm samba Để cấu hình dịch vụ mạng SAMBA, bạn cần chỉnh sửa tập tin cấu hình smb.conf 2.4 Dịch vụ FTP trên hệ điều hành Linux 2.4.1 Giới thiệu chung về FTP (cơ sở lý thuyết) FTP là viết tắt của File Transfer Protocol, là một giao thức mạng được sử dụng để truyền file giữa các máy tính trên mạng FTP sử dụng mô hình client- server, trong đó máy tính cung cấp dịch vụ được gọi là server FTP, còn máy tính yêu cầu dịch vụ được gọi là client FTP Tính năng chính của FTP: - Truyền file theo hướng giao tiếp hai chiều: Client FTP có thể tải file từ server FTP Server FTP có thể tải file từ client FTP - FTP sử dụng hệ thống bảo mật người dùng và mật khẩu để kiểm soát truy cập - FTP hỗ trợ truyền file theo nhiều giao thức khác nhau, bao gồm ASCII, binary, và UTF-8 2.4.2 Cấu hình dịch vụ mạng FTP trên hệ điều hành Linux Để cấu hình dịch vụ mạng FTP trên hệ điều hành Linux, chúng ta cần thực hiện các bước sau: 1 Cài đặt gói phần mềm FTP 2 Chỉnh sửa tệp cấu hình của dịch vụ FTP 3 Khởi động dịch vụ FTP Để cài đặt gói phần mềm FTP, chúng ta sử dụng lệnh sau: sudo apt-get install vsftpd 15 | P a g e Chỉnh sửa tệp cấu hình của dịch vụ FTP Tệp cấu hình của dịch vụ FTP là /etc/vsftpd.conf Chúng ta có thể sử dụng trình soạn thảo văn bản để chỉnh sửa tệp này Dưới đây là một số tùy chọn cấu hình chung cho dịch vụ mạng FTP: - anonymous_enable: Tùy chọn này cho phép truy cập FTP cho người dùng ẩn danh - local_enable: Tùy chọn này cho phép truy cập FTP cho người dùng địa phương - userlist_enable: Tùy chọn này cho phép xác định người dùng được phép truy cập FTP - userlist_deny: Tùy chọn này cho phép xác định người dùng bị cấm truy cập FTP - chroot_local_user: Tùy chọn này cho phép giới hạn quyền truy cập của người dùng địa phương trong thư mục gốc của họ - chroot_list_enable: Tùy chọn này cho phép xác định người dùng địa phương được giới hạn trong một thư mục cụ thể - allow_writeable_chroot: Tùy chọn này cho phép người dùng địa phương ghi vào thư mục gốc của họ - anon_root: Thư mục gốc cho người dùng ẩn danh - local_root: Thư mục gốc cho người dùng địa phương - listen_address: Địa chỉ IP mà dịch vụ FTP sẽ lắng nghe - port: Cổng mà dịch vụ FTP sẽ lắng nghe Để cấu hình dịch vụ FTP cho một miền cụ thể, chúng ta có thể sử dụng tùy chọn chroot_list_enable Tùy chọn này cho phép chúng ta xác định các miền được giới hạn trong một thư mục cụ thể Ví dụ, để giới hạn miền example.com trong thư mục /var/ftp/example.com, chúng ta sử dụng lệnh sau: chroot_list_enable=yes chroot_list_file=/etc/vsftpd.chroot_list Thêm dòng sau vào tệp /etc/vsftpd.chroot_list: example.com Để khởi động dịch vụ FTP, chúng ta sử dụng lệnh sau: sudo service vsftpd start Để dừng dịch vụ FTP, chúng ta sử dụng lệnh sau: 16 | P a g e