Với sự phát triển của các máy chủ phục vụ, đặc biệt là nhu cầu sử dụng Web, tính quan trọng của DNS và FTP. Giả sử nếu 1 ngày nào đó các dịch vụ đó không còn tồn tại nữa, thì internet sẽ bị ảnh hưởng nghiêm trọng, và có thể nghiêm trọng là bị tê liệt. Mời các bạn cùng tham khảo để nắm chi tiết nội dung của đồ án.
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT – HÀN QUẢN TRỊ MẠNG (5) DEPLOY WEB SERVER, FTP SERVER, AND DNS SERVER SERVICES ON WINDOWS NANO SERVER Sinh viên thực hiện: Nguyễn Tường Nguyên 19IT5 Trần Thị Thu Phương 19IT6 Trương Sĩ Phúc 19IT6 Võ Đình Ngun Phúc 19IT6 Nhóm : Giảng viên hướng dẫn : 05 ThS. Lê Kim Trọng Đà nẵng, tháng 11 năm 2021 ĐẠI HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG VIỆT HÀN KHOA KHOA HỌC MÁY TÍNH DEPLOY WEB SERVER, FTP SERVER, AND DNS SERVER SERVICES ON WINDOWS NANO SERVER QUẢN TRỊ MẠNG (5) Đà nẵng, tháng 11 năm 2021 LỜI CẢM ƠN Để thực hiện và hồn thành tốt đồ án này, em đã nhận được sự giúp đỡ và hướng dẫn rất tận tình của các thầy cơ thuộc Khoa Cơng nghệ Thơng tin Và Truyền thơng – Đại học Việt Hàn. Em xin cảm ơn các thầy cơ thuộc bộ mơn chun ngành đã cung cấp cho chúng em các thơng tin, kiến thức vơ cùng q báu và cần thiết trong suốt thời gian q để em có thể thực hiện và hồn thành đồ án của mình. Đặc biệt em xin chân thành cảm ơn thành thầy Lê Kim Trọng người đã trực tiếp hướng dẫn chúng em trong thời gian thực hiện đồ án này Cuối cùng, xin chân thành cảm ơn các bạn trong ngành cơng nghệ thơng tin đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được giúp chúng tơi trong q trình nghiên cứu và thực hiện đề tài. Do giới hạn về mặt thời gian và kiến thức cũng như kinh nghiệm thực tiễn nên đề tài khơng tránh khỏi những sai sót. Em rất mong nhận được sự thơng cảm của q thầy cơ và mong đón nhận những góp ý của thầy cơ và các bạn Em xin chân thành cảm ơn! LỜI NHẬN XÉT Table of Contents MỞ ĐẦU Với sự phát triển của các máy chủ phục vụ, đặc biệt là nhu cầu sử dụng Web, tính quan trọng của DNS và FTP. Giả sử nếu 1 ngày nào đó các dịch vụ đó khơng cịn tồn tại nữa, thì internet sẽ bị ảnh hưởng nghiêm trọng, và có thể nghiêm trọng là bị tê liệt. Nắm bắt được cần thiết của các dịch vụ trên, được sự hướng dẫn của ThS. Lê Kim Trọng, nhóm em đã quyết định chọ đề tài "Triển khai web server, FTP server, DNS Server trên Windows Nano Server" CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI I GIỚI THIỆU Nano server: Nano Server tự hào có cài đặt nhỏ hơn 92 phần trăm so với tùy chọn cài đặt giao diện đồ họa người dùng Windows Server (GUI). Ngồi ra, những lý do thuyết phục sau có thể khiến bạn bắt đầu chạy Nano cho các lượng cơng việc Windows Server. Hệ điều hành Baremetal có nghĩa là người dùng sẽ phải ít cập nhật và khởi động lại. Bởi vì người dùng phải vào các vai trị máy chủ từ bên ngồi Nano, nên máy chủ sẽ có một bề mặt tấn cơng giảm nhiều khi so với GUI Windows Server. Nano nhỏ đến mức nó có thể được chuyển dễ dàng qua các máy chủ, trung tâm dữ liệu và các trang web vật lý. Nano lưu trữ các khối lượng cơng việc Windows Server phổ biến nhất bao gồm máy chủ HyperV. Nano được thiết kế để quản lý hồn tồn từ xa. Tuy nhiên, Nano bao gồm một giao diện quản lý cục bộ tối thiểu được gọi là "Nano Server Recovery Console" cho phép thực hiện các tác vụ cấu hình ban đầu Docker Docker là nền tảng cung cấp cho các cơng cụ, service để các developers, adminsystems có thể phát triển, thực thi, chạy các ứng dụng với containers. Hay nói một cách khác nó là một nền tảng để cung cấp cách để building, deploy và run các ứng dụng một cách dễ dàng trên nền tảng ảo hóa "Build once, run anywhere". Hay nói một cách dễ hiểu như sau: Khi chúng ta muốn chạy app thì chúng ta phải thiết lập mơi trường chạy cho nó. Thay vì chúng ta đi cài mơi trường chạy cho nó thì chúng ta sẽ chạy docker. Ứng dụng Docker chạy trong vùng chứa (container) có thể được sử dụng trên bất kỳ hệ thống nào: máy tính xách tay của nhà phát triển, hệ thống trên cơ sở hoặc trong hệ thống đám mây. Và là một cơng cụ tạo mơi trường được "đóng gói" (cịn gọi là Container) trên máy tính mà khơng làm tác động tới mơi trường hiện tại của máy, mơi trường trong Docker sẽ chạy độc lập. Docker có thể làm việc trên nhiều nền tảng như Linux, Microsoft Windows và Apple OS X IIS IIS là viết tắt của cụm từ Internet Information Services. Khái niệm này chỉ những phần mềm được đính kèm với các phiên bản Window. Chúng có tác dụng cung cấp các dịch vụ cho máy chủ chạy trên Window. Để phân tán các thơng tin lên mạng Internet. Gồm nhiều dịch vụ khác như Web Server, FTP Server… FTP FTP (viết tắt của File Transfer Protocol, dịch ra là "Giao thức truyền tập tin") thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet mạng ngoại bộ hoặc Intranet mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách) DNS Mỗi máy tính, thiết bị mạng tham gia vào mạng Internetđều giao tiếp với nhau bằng địa chỉ IP (Internet Protocol) . Để thuận tiện cho việc sử dụng và dễ nhớ ta dùng tên (domain name) để xác định thiết bị đó. Hệ thống tên miền (Domain Name System) được sử dụng để ánh xạ tên miền thành địa chỉ IP Vì vậy, khi muốn liên hệ tới các máy, chúng chỉ cần sử dụng chuỗi ký tự dễ nhớ (domain name) như: www.microsoft.com, www.ibm.com , thay vì sử dụng địa chỉ IP là một dãy số dài khó nhớ Ban đầu, khi DNS chưa ra đời, người ta sử dụng một file tên Host.txt, file này sẽ lưu thơng tin về tên host và địa chỉ của host của tất cả các máy trong mạng, file này được lưu ở tất cả các máy để chúng có thể truy xuất đến máy khác trong mạng. Khi đó, nếu có bất kỳ sự thay đổi về tên host, địa chỉ IP của host thì ta phải cập nhật lại tồn bộ các file Host.txt trên tất các má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 10 Setup firewall cho phép ping đến Inbound Firewall rules > Virtual Machine Monitoring (Echo Request – ICMPv4 – In) Nhấn F4 để đổi sang trạng thái allow 26 27 Remote powershell, nanoServer không hỗ trợ GUI, chỉ thao tác bằng lệnh, do đó dung lượng của NanoServer rất nhẹ khoảng 1GB khi đã cài đặt IIS + DNS Server Remote powershell bằng cách dùng powershell trên máy khác và tiến hành remote vào windows nano server để thực hiện các lệnh trên nano server Có thể dùng powershell ISE để dễ thao tác 28 EnterPSSession ComputerName 192.168.5.4 Credential ~\Administrator Sau khi remote thành cơng, sẽ có phần IP hoặc hostname trước phần nhập lệnh $s = NewPSSession ComputerName "192.168.5.4" Credential ~\Administrator Lệnh trên dùng để khởi tạo session và gán session đó vào biến $s CopyItem ToSession $s Path C:\Config\applicationHost.config Destination C:\Windows\System32\inetsrv\config\ Lệnh dung để copy file vào nanoServer, muốn copy file từ nanoServer về máy thì thay ToSession thành FromSession Cấu hình website trên IIS o ImportModule IISAdministration dùng để Import các module IIS o GetIISSite để lấy các trang web đã thêm vào IIS o RemoveIISSite Name "Nhom05FTP" Dùng để xóa trang web có tên là Nhom05FTP 29 o NewIISSite Name "Nhom05" BindingInformation "*:80:" PhysicalPath "C:\webserver" Dùng để thêm 1 trang web vào IIS, hiện tại đang thêm 1 trang web tên Nhom05, đang lắng nghe trên http cổng 80 và tất cả các hostname, với đường dẫn vật lý là C:\webserver Cấu hình DNS Server o EnableWindowsOptionalFeature Online FeatureName DNS ServerFullRole Dùng để bật tính năng DNSServerFullRole (DNS Server) o GetWindowsOptionalFeature Online Liệt kê tất cả các tính o GetDnsServer o AddDnsServerPrimaryZone ZoneName nhom05.org ZoneFile nhom05.org.dns o AddDnsServerResourceRecordA Name www ZoneName nhom05.org IPv4Address 192.168.5.4 o AddDnsServerSecondaryZone Name "nhom05.org" ZoneFile "nhom05.org.dns" MasterServers 192.168.5.4 o RemoveDnsServerZone "nhom05.org" PassThru Verbose 30 Cấu hình DNS để windows nano server có thể đi phân giải tên miền internet o GetDNSClient o SetDnsClientServerAddress InterfaceIndex 2 ServerAddresses ("8.8.8.8","8.8.4.4") o ipconfig /all o ping google.com Kết quả của website + DNS Các máy trạm máy trạm windows server 2016, windows sử dụng network adapter 2 1 máy trạm windows 7 sử dụng network adapter 31 II TRIỂN KHAI TRÊN GOOGLE ENGINE Thông tin về máy ảo của google Engine RAM: 4GB CPU: 2 cores Disk: 50GB Cấu hình website Sử dụng Docker để tạo 1 mơi trưởng máy ảo khác Cài đặt docker o Mở powershell với quyền administator o [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 o RegisterPSRepository Default o InstallModule Name DockerMsftProvider Force o InstallPackage Name docker ProviderName DockerMsftProvider o RestartComputer Force Pull image từ docker hub về o Docker pull mcr.microsoft.com/windows/nanoserver:10.0.14393.2363 o Docker pull nanoserver/iisphp o Docker pull nanoserver/iis Chạy nền container từ image o Docker run it d mcr.microsoft.com/windows/nanoserver:10.0.14393.2363 32 o Docker ps a Để xem tất cả container đã tạo Truy cập vào windows nano server docker o Docker exec it powershell Tạo website IIS cơ bản o Sử dụng dockercompose để build và up container đơn giản o Tạo cấu trúc thư mục như sau 33 o Ở file Dockerfile tạo 1 image mới copy các file ở thư mục website vào máy ảo FROM nanoserver/iis:latest # Metadata indicating an image maintainer #LABEL maintainer="ntnguyen.19it5@vku.udn.vn" # Creates an HTML file and adds content to this file COPY ./website c:/inetpub/wwwroot o Ở file dockercompose.yml có nội dung như sau: version: "3.3" services: iisbasic: container_name: iisbasic build: context: ./ dockerfile: Dockerfile image: nanoserver/iisbasic ports: 80:80 34 tty: true networks: default: external: name: nat o Build và up image lên: dockercompose up –build d o Docker ps để xem docker container đã chạy chưa Thêm PHP vào IIS o Tạo cấu trúc thư mục như sau 35 o Ở file Dockerfile có nội dung như sau: FROM nanoserver/iisphp:latest # Metadata indicating an image maintainer #LABEL maintainer="ntnguyen.19it5@vku.udn.vn" # Creates an HTML file and adds content to this file COPY ./website c:/inetpub/wwwroot o Ở file dockercompose có nội dung như sau: version: "3.3" services: iisphp: container_name: iisphp build: context: ./ dockerfile: Dockerfile image: nanoserver/iiswebsitephp:latest ports: 8080:80 tty: true 36 networks: default: external: name: nat o Ở file index.php o Build và up image lên: dockercompose up –build d o Vào localhost:8080/index.php Trỏ tên miền về VPS o Sử dụng CloudFlare để quản lý tên miền dễ dàng hơn o Thêm record A vào o Giờ có thể truy cập vào website qua tên miền http://qtmnhom05.uknteam.site http://qtmnhom05.uknteam.site:8080 37 38 CHƯƠNG IV: KẾT LUẬN Kết quả đạt được Thao tác với CLI nhiều hơn thay vì thao tác với GUI ở trên windows server Hiểu biết thêm về NanoServer Thành thạo docker cli nhiều hơn Kết quả chưa đạt được: Chưa thể triển khai FTP Server (vì windows nano server bị lỗi, khơng update IISAdministator, đặt câu hỏi stackoverflow: (https://stackoverflow.com/questions/70179598/update iisadministrationwithpowershell) 39 DANH MỤC THAM KHẢO https://www.phamquangloc.vn/2020/06/referencecaidatnanoserver2016 trongvongmotnotnhac.html https://docs.microsoft.com/enus/virtualization/windowscontainers/quick start/setupenvironment?tabs=WindowsServer https://github.com/nanoserver/iis/blob/master/Dockerfile https://techgenix.com/deploydnswindowsservernano/ https://docs.microsoft.com/enus/windowsserver/getstarted/powershellon nanoserver https://docs.microsoft.com/enus/previous versions/windows/desktop/legacy/mt708805(v=vs.85) https://docs.microsoft.com/enus/windowsserver/getstarted/iisonnanoserver https://docs.microsoft.com/enus/powershell/module/iisadministration/? view=windowsserver2019ps https://stackoverflow.com/questions/39988844/dockercomposeupvsdocker composeupbuildvsdockercomposebuildnocach 40 ... nghiêm trọng là bị tê liệt. Nắm bắt được cần thiết của các dịch vụ? ?trên, được sự hướng dẫn của ThS. Lê Kim Trọng, nhóm em đã quyết định chọ đề tài "Triển? ?khai? ?web? ?server, ? ?FTP? ?server, ? ?DNS? ?Server? ?trên? ?Windows? ?Nano? ?Server" CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI... Network apdater 3 (172.16.5.1) dung cho phịng kế tốn Nano? ?Server Sử dụng network adapter 2 (192.168.5.4) Nanoserver được xem như là 1? ?server? ?cục bộ Các chức năng đã? ?triển? ?khai? ?trên? ?nano? ?server o Web? ?Server? ?(IIS) o DNS? ?Server Cách cài? ?windows? ?nano? ?server. ..Đà nẵng, tháng 11 năm 2021 ĐẠI HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG VIỆT HÀN KHOA KHOA HỌC MÁY TÍNH DEPLOY? ?WEB? ?SERVER, ? ?FTP? ?SERVER, ? ? AND? ?DNS? ?SERVER? ?SERVICES ON WINDOWS? ?NANO? ?SERVER QUẢN TRỊ MẠNG (5)