1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Đồ án hcmute) phát triển công cụ ảo hóa mạng sử dụng phần mềm

122 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 122
Dung lượng 7,56 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN PHÁT TRIỂN CÔNG CỤ ẢO HÓA MẠNG SỬ DỤNG PHẦN MỀM GVHD: TS NGUYỄN ĐĂNG QUANG SVTH: TRẦN QUANG HIỆP NGUYỄN QUỐC HOAN CAO THỊ MAI TRÂM SKL010544 Tp.Hồ Chí Minh, Năm 2023 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: MẠNG VÀ AN NINH MẠNG o0o KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: PHÁT TRIỂN CƠNG CỤ ẢO HĨA MẠNG SỬ DỤNG PHẦN MỀM Nhóm sinh viên thực hiện: Trần Quang Hiệp 18110108 Nguyễn Quốc Hoan 18110109 Cao Thị Mai Trâm 18110218 Giảng viên hướng dẫn: ThS Nguyễn Đăng Quang TP Hồ Chí Minh, tháng 12 năm 2022 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: MẠNG VÀ AN NINH MẠNG o0o KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: PHÁT TRIỂN CƠNG CỤ ẢO HĨA MẠNG SỬ DỤNG PHẦN MỀM Nhóm sinh viên thực hiện: Trần Quang Hiệp 18110108 Nguyễn Quốc Hoan 18110109 Cao Thị Mai Trâm 18110218 Giảng viên hướng dẫn: ThS Nguyễn Đăng Quang TP Hồ Chí Minh, tháng 12 năm 2022 Cộng Hịa Xã Hội Chủ Nghĩa Việt Nam Độc lập – Tự – Hạnh phúc **** ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP Họ tên: Trần Quang Hiệp MSSV: 18110108 Họ tên: Nguyễn Quốc Hoan MSSV: 18110109 Họ tên: Cao Thị Mai Trâm MSSV: 18110218 Ngành: Công nghệ thông tin Đề tài: Phát triển cơng cụ ảo hóa mạng sử dụng phần mềm Nội dung: Lý thuyết - Tìm hiểu khái niệm Docker: khái niệm, lịch sử đời, thành phần - Lợi ích hạn chế Docker, nên sử dụng Docker - Cấu trúc Docker, qui trình hoạt động hệ thống sửa dụng Docker - Khái niệm Hypervisor, so sánh khác Docker Hypervisor - Docker Image: khái niệm, cú pháp, câu lệnh - Docker Container: khái niệm, câu lệnh - Dockerfile: khái niệm, cú pháp, câu lệnh - Docker Compose: khái niệm, công dụng, chức năng, cách sử dụng - Docker Hub: khái niệm, tính - Docker Network: khái niệm, phân loại, cách sử dụng Ứng dụng - Tìm hiểu ReactJS để xây dựng giao diện người dùng, có chức sau: • Thêm thiết bị hình canvas • Liệt kê danh sách thiết bị có hình canvas • Xóa tất thiết bị • Xóa thiết bị tùy chọn • Cửa sổ tùy chọn cấu hình ban đầu (đối với PC Router) • Tùy chọn hệ điều hành (đối với PC) • Tùy chọn đặt địa IP (đối với PC Router) • Tùy chọn dịch vụ FTP, HTTP, DNS, MySQL (đối với PC) • Tự động download folder chứa dockerfile file docker-compose.yaml - Xây dựng nội dung code cho dockerfile cho loại thiết bị - Xây dựng nội dung code cho docker-compose.yaml định nghĩa services networks - Kiểm tra thực nghiệm trường hợp kết nối thiết bị Thời gian thực hiện: 15 tuần (từ 05/09/2022 đến 20/12/2022) TP Hồ Chí Minh, tháng 12 năm 2022 TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam Độc lập – Tự – Hạnh phúc **** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên sinh viên: MSSV: Ngành: Tên đề tài: Họ tên Giáo viên hướng dẫn: NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: Ưu điểm Khuyết điểm Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: TP Hồ Chí Minh, tháng 12 năm 2022 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam Độc lập – Tự – Hạnh phúc **** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên sinh viên: MSSV: Ngành: Tên đề tài: Họ tên Giáo viên phản biện: NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: Ưu điểm Khuyết điểm Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: TP Hồ Chí Minh, tháng 12 năm 2022 Giáo viên phản biện (Ký & ghi rõ họ tên) LỜI CẢM ƠN Khơng có thành cơng mà không gắn liền với nỗ lực, cố gắng, hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp Là trình phấn đấu không ngừng nghỉ bên cạnh hướng dẫn, bảo tận tình, gắn bó tình cảm sâu sắc Để hoàn thành tốt đề tài báo cáo này, chúng em xin gửi lời cảm ơn chân thành đến giảng viên, thầy Nguyễn Đăng Quang, người trực tiếp hỗ trợ chúng em suốt trình làm đề tài Chúng em cảm ơn thầy đưa lời khuyên từ kinh nghiệm thực tiễn để định hướng cho chúng em với yêu cầu đề tài chọn, giải đáp thắc mắc đưa góp ý, chỉnh sửa kịp thời giúp chúng em khắc phục nhược điểm hoàn thành tốt thời hạn đề Chúng em xin gửi lời cảm ơn chân thành quý thầy cô Khoa Đào tạo Chất lượng cao nói chung ngành Cơng nghệ thơng tin nói riêng tận tình truyền đạt kiến thức cần thiết giúp chúng em có tảng để làm nên đề tài này, tạo điều kiện để chúng em tìm hiểu thực tốt đề tài Đề tài báo cáo chúng em thực với hạn chế mặt kiến thức, kỹ thuật kinh nghiệm thực tế Do đó, q trình làm nên đề tài có thiếu sót điều khơng thể tránh khỏi nên chúng em mong nhận ý kiến đóng góp quý báu thầy để kiến thức chúng em hoàn thiện Chúng em xin chân thành cảm ơn Tp Hồ Chí Minh, tháng 12 năm 2022 Nhóm sinh viên thực Trần Quang Hiệp Nguyễn Quốc Hoan Cao Thị Mai Trâm ii DANH MỤC TỪ VIẾT TẮT API (Application Programming Interface) AWS (Amazon Web Services) CCNA (Cisco Certified Network Associate) CCNP (Cisco Certified Network Professional certification) CI/CD (Continuous Integration / Continuous Delivery) CLI (Command-line Interface) CPU (Central Processing Unit) CSS (Cascading Style Sheets) DEST (Destination) DNS (Domain Name System) ENV (Enviroment) FE (Front-end) FTP (File Transfer Protocol) HTML (Hypertext Markup Language) HTTP (Hypertext Transfer Protocol) IPV4 (Internet Protocol version 4) IPV6 (Internet Protocol version 6) JS (JavaScript) SQL (Structured Query Language) OS (Operating System) PC (Personal Computer) RAM (Random Access Memory) SRC (Source) iii UI (User Interface) VM (Virtual Machine) VPC (Virtual Personal Computer) iv Hình 2.98 Sau chạy lệnh docker compose up (TH4) Hình 2.99 Xem tình trạng container chạy port ánh xạ (TH4) Kiểm tra dịch vụ chạy container Hình 2.100 Bật dịch vụ HTTP PC1 (TH4) Hình 2.101 Kiểm tra dịch vụ PC1 (TH4) Hình 2.102 Kiểm tra dịch vụ HTTP PC1 thơng qua máy host cổng ánh xạ (TH4) 88 Đối với dịch vụ DNS kiểm tra thấy thư mục bind cài đặt container điều đồng nghĩa service DNS hoạt động Hình 2.103 Kiểm tra dịch vụ DNS PC1 (TH4) Hình 2.104 Kiểm tra dịch vụ FTP PC1 (TH4) Hình 2.105 Kiểm tra FTP PC1 từ máy host thông qua port ánh xạ (th4) Hình 2.106 Kiểm tra dịch vụ MySQL PC1 (TH4) 89 Hình 2.107 Kiểm tra dịch vụ HTTP PC2 thông qua máy host cổng ánh xạ (TH4) Hình 2.108 Kiểm tra dịch vụ MySQL PC2 (TH4) 2.3.5 Trường hợp 5: Người dùng nhập sai thông tin IP Khi cấu hình nhập địa IP, người dùng nhập sai địa IP thiết bị, dẫn đến thiết bị gán địa khơng chung lớp mạng LAN, thiết bị giao tiếp với 90 Hình 2.109 Mơ hình kết nối (TH5) Hình 2.110 Cấu hình PC1 (TH5) Hình 2.111 Cấu hình PC2 (TH5) 91 Hình 2.112 Định nghĩa Service Docker Compose (TH5) Hình 2.113 Định nghĩa Network Docker Compose (TH5) 92 Hình 2.114 PC1 khơng thể ping tới PC2 (TH5) Hình 2.115 PC2 khơng thể ping tới PC1 (TH5) 93 2.3.6 Trường hợp 6: Người dùng nhập thiếu thông tin IP Cho mơ hình kết nối bao gồm PC kết nối với thơng qua Switch Hình 2.116 Mơ hình kết nối (TH6) Với thơng tin cấu sau: PC3: - OS: Ubuntu - IP: 172.16.1.10/24 - Service: HTTP, DNS R4: - IP: 172.16.1.1/24 Dưới hình ảnh Configure PC1 Hình 2.117 Cấu hình PC3 (TH6) 94 Nhưng người dùng điền thiếu thông tin IP R4 Hình 2.118 Cấu hình R4 (TH6) Khi người dùng khơng nhấn nút Export (trong trường hợp người dùng chưa chọn Save hộp thoại Configure) Hình 2.119 Người dùng khơng thể nhấn Export (TH6) 95 PHẦN KẾT LUẬN Kết đạt 1.1 Về phần lý thuyết Sau chọn chủ đề nghiên cứu Docker, chúng em có hội tiếp cận với công nghệ Hiểu chất Docker, ưu điểm Docker, lợi ích tuyệt vời mà mang lại Qua hiểu lý Docker ngày lại trở nên phổ biến chí cịn trở thành xu hướng khơng cho Developer mà cịn System Admin Networker Phạm vi kiến thức mở rộng với công nghệ – Docker thành phần liên quan Từng khái niệm, đặc điểm câu lệnh cho thành phần Biết dùng để làm gì? Hiểu chế hoạt động Docker, cách viết Dockerfile Docker Compose Mối quan hệ thành phần Docker Từ phác họa mơ hình tổng quát Docker ứng dụng để xây dựng chương trình ảo hóa mơ hình hệ thống mạng 1.2 Về phần ứng dụng Đã xây dựng giao diện thân thiện với người dùng đơn giản gọn gàng đầy đủ chức cần có Hình ảnh trực quan, bật, dễ dàng sử dụng, thao tác nhanh gọn Phần docker viết docker file tương ứng với loại thiết bị, docker compose thiết lập thành công service network Đảm bảo với thông số mà người dùng thiết lập ban đầu Bên cạnh cịn số tính lên ý tưởng chưa thể thực như: Open file - cho phép người dùng upload file lên chương trình, Thêm hệ điều hành dịch vụ ban đầu cho thiết bị End-device, chức swap địa IP hai cổng router Thuận lợi Chúng em có tảng từ CCNA, CCNP nên khơng có q nhiều trở ngại phần triển khai mơ hình mạng 96 Có đóng góp ý kiến gợi ý từ Thầy giúp chúng em xác định mục tiêu cần nghiên cứu Có giúp đỡ, góp ý dẫn bạn để xây dựng giao diện người dùng Khó khăn Từ phần kiến thức lý thuyết Docker chúng em xây dựng chương trình ảo hóa mơ hình hệ thống mạng Tuy nhiên Docker thơi chưa đủ, để có giao diện web cho người dùng chúng em phải xây dựng dựa React Cũng thời gian khơng lập trình thường xuyên nên học lại kiến thức HTML, CSS, JS tìm hiểu thư viện hỗ trợ nên tốn nhiều thời gian Nhận xét đánh giá tổng quan Nhìn chung chúng em hồn thành mục tiêu đặt ban đầu Phần lý thuyết hoàn thành đầy đủ, phần Ứng dụng chúng em tìm hướng phát triển thêm để tối ưu chương trình, để triển khai mơ hình phức tạp nhiều dịch vụ Đánh giá mức độ hoàn thành thành viên 5.1 Trần Quang Hiệp - Thành viên nhóm chịu trách nhiệm tìm hiểu lý thuyết Docker - Đóng góp ý tưởng xây dựng phần ứng dụng, xác định đối tượng cần thực - Nghiên cứu tìm hiểu cách viết Dockerfile Docker-compose - Lên ý tưởng mơ hình kết nối - Thiết kế giao diện người dùng - Kiểm thử chương trình - Viết báo cáo 5.2 Nguyễn Quốc Hoan - Thành viên nhóm chịu trách nhiệm tìm hiểu lý thuyết Docker - Đóng góp ý tưởng xây dựng phần ứng dụng, liệt kê thuộc tính đối tượng 97 - Nghiên cứu tìm hiểu cách viết Dockerfile Docker-compose - Thực nghiệm, vẽ mơ hình kiểm tra trường hợp kết nối - Kiểm thử chương trình - Viết báo cáo 5.3 Cao Thị Mai Trâm - Thành viên nhóm chịu trách nhiệm tìm hiểu lý thuyết Docker - Đóng góp ý tưởng xây dựng phần ứng dụng, phác thảo sơ giao diện người dùng - Nghiên cứu tìm hiểu cách viết Dockerfile Docker-compose - Lên ý tưởng mơ hình kết nối - Thiết kế giao diện người dùng - Kiểm thử chương trình - Viết báo cáo, thiết kế powerpoint Nhìn chung, tất thành viên hồn thành phần phân cơng, tham gia đóng góp ý kiến xây dựng nội dung nhiên có lần bị trễ hạn so với lộ trình đề bất đồng quan điểm vượt qua để tiếp tục thực công việc cách hiệu 98 TÀI LIỆU THAM KHẢO [1] Nguyễn Văn Quy (2018), Docker - kiến thức phần https://viblo.asia/p/docker-nhung-kien-thuc-co-ban-phan-1-bJzKmM1kK9N [2] Nguyễn Văn Quy (2018), Docker - kiến thức phần https://viblo.asia/p/docker-nhung-kien-thuc-co-ban-phan-2-V3m5WyEvZO7 [3] Dương Hồi Nam (2020), Tìm hiểu Dockerfile tạo Docker Image https://viblo.asia/p/tim-hieu-ve-dockerfile-va-tao-docker-image-V3m5WWag5O [4] Nguyễn Tâm (2020), Phân biệt Docker image vs Container https://viblo.asia/p/phan-biet-docker-image-vs-container-bJzKmz4wZ9N [5] Sử dụng Dockerfile để tự động tạo image Docker https://xuanthulab.net/su-dung-dockerfile-de-tu-dong-tao-cac-image-trong-docker.html [6] Hoàng Đinh (2021), Tổng hợp kiến thức cần biết Docker Docker Swarm https://viblo.asia/p/tong-hop-kien-thuc-can-biet-ve-docker-va-docker-swarm-phan-3thanh-phan-tinh-nang-docker-RnB5pO6GlPG [7] Nguyễn Văn Minh (2020), Xây dựng docker-compose.yml file cho project bạn https://viblo.asia/p/docker-xay-dung-docker-composeyml-file-cho-project-cua-banAz45bznz5xY [8] Giang (2020), Những điều phải biết docker compose, cách sử dụng lưu ý https://bizflycloud.vn/tin-tuc/nhung-dieu-phai-biet-ve-docker-compose-cach-su-dungva-cac-luu-y-20200821120351358.htm [9] Quách Chí Cường, Docker: Tìm hiểu Docker Hub gì? https://cuongquach.com/tim-hieu-ve-docker-hub-la-gi.html 99 [10] Lê Đức Sơn (2021), Giới thiệu Docker Compose, câu lệnh thường dùng docker compose https://viblo.asia/p/gioi-thieu-ve-docker-compose-nhung-cau-lenh-thuong-dung-trongdocker-compose-bJzKmrXwZ9N [11] Uy Trần (2020), Docker Networking - Những khái niệm cách sử dụng https://viblo.asia/p/docker-networking-nhung-khai-niem-va-cach-su-dung-co-bangGJ59P2JlX2 [12] Docker docs, Docker Document https://docs.docker.com/ [13] Docker docs, Install Docker Engine on Ubuntu https://docs.docker.com/engine/install/ubuntu/ [14] Hân Thị Kim Ngọc (2020), How To Install Docker on Ubuntu https://viblo.asia/p/how-to-install-docker-on-ubuntu-RnB5pmJ7KPG [15] W3school, React Tutorial https://www.w3schools.com/REACT/DEFAULT.ASP [16] Ant Design , Ant Design Components https://ant.design/components/overview/ [17] React Flow, Uncontrolled Flow https://reactflow.dev/docs/guides/uncontrolled-flow/ [18] Redux Toolkit, Redux Toolkit Quick Start https://redux-toolkit.js.org/tutorials/quick-start [19] SweetAlert2 https://sweetalert2.github.io/ [20] Nguyễn Như Hải Triều (2019), Tìm hiểu Ant-design React https://viblo.asia/p/tim-hieu-ve-ant-design-trong-react-maGK7VQx5j2 100 [21] Dỗn Tuấn Ngơ (2020), Redux React gì? https://viblo.asia/p/redux-trong-react-la-gi-1Je5EDX0lnL [22] Phạm Tín (2019), Tìm hiểu Redux Thunk https://viblo.asia/p/tim-hieu-ve-redux-thunk-Qbq5Qkm4ZD8 [23] Nguyễn Thị Quỳnh (2018), Giới thiệu JSZip https://viblo.asia/p/gioi-thieu-ve-jszip-3Q75w2XMlWb 101 S K L 0

Ngày đăng: 06/10/2023, 10:37

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN