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

BÁO CÁO THỰC TẬP COMPILE DỊCH VỤ TRÊN HỆ ĐIỀU HÀNH LINUX

30 789 1

Đ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 30
Dung lượng 1,31 MB

Nội dung

HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG BÁO CÁO THỰC TẬP COMPILE DỊCH VỤ TRÊN HỆ ĐIỀU HÀNH LINUX Giảng viên hướng dẫn: ThS... Hồ Chí Minh với

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

BÁO CÁO THỰC TẬP

COMPILE DỊCH VỤ TRÊN HỆ ĐIỀU HÀNH LINUX

Giảng viên hướng dẫn: ThS LÊ ĐÌNH VIỆT HẢI

Sinh viên thực hiện:

Huỳnh Đắc Nhân 10520334 Nguyễn Đăng Khoa 10520 467

Lê Đoàn Thành Tâm 10520468 Hồng Minh Nhân 10520615

TP Hồ Chí Minh, tháng 8 năm 2014

Trang 2

LỜI CẢM ƠN

Để có được những kiến thức và kinh nghiệm như ngày hôm nay, nhóm em xin gửi lời cám

ơn chân thành và sâu sắc tới các thầy, các cô trong Trường Đại Học Công nghệ Thông Tin nói chung cùng các thầy cô trong khoa Mạng Máy Tính và Truyền Thông nói riêng đã tận tình giảng dạy, truyền đạt cho nhóm em những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua

Đặc biệt, nhóm em xin gởi lời cảm ơn chân thành đến Ths.Lê Đình Việt Hải - người đã trực tiếp hướng dẫn nhóm thực hiện đề tài này Trong quá trình thực tập và làm việc với thầy, nhóm em không ngừng tiếp thu thêm nhiều kiến thức bổ ích, những bài học đạo đức quý giá và có thể tự tin hoàn thành tốt đề tài của mình

Sau cùng, nhóm chúng em xin gửi lời cảm ơn chân thành tới bạn bè đã có những đóng góp

ý kiến và giúp đỡ trong quá trình thực hiện đề tài này

Mọi lời góp ý của thầy nhóm xin chân thành lắng nghe và tiếp thu

Một lần nữa, nhóm em xin chân thành cảm ơn!

TP Hồ Chí Minh, tháng 8/2014 Nhóm thực hiện đề tài

Trang 3

NHẬN XÉT

(Cơ quan thực tập)

TP Hồ Chí Minh, tháng 8/2014

Trang 5

Mục lục

CHƯƠNG 1: GIỚI THIỆU CÔNG VIỆC THỰC TẬP 1

1.1 Giới thiệu về trung tâm mạng ĐH Quốc Gia TP HCM 1

1.2 Nhiệm vụ, dịch vụ của trung tâm mạng ĐH Quốc Gia TP HCM 1

1.3 Giới thiệu về công việc thực tập 2

1.3.1 Thời gian thực tập 2

1.3.2 Công việc thực tập 2

CHƯƠNG 2: NỘI DUNG THỰC TẬP 3

2.1 Nhiệm vụ 3

2.2 Nội dung thực tập 3

2.2.1 Tìm hiểu về Hệ điều hành Linux 3

2.2.2 Compile kernel trên Linux 6

2.2.3 Compile một số dịch vụ trên trên Linux 11

2.3 Các công nghệ tiếp cận 14

2.3.1 Sơ lược về ảo hóa 14

2.3.2 Tổng quan về VMware ESX Server 15

CHƯƠNG 3: KẾT LUẬN 24

TÀI LIỆU THAM KHẢO 25

Trang 6

1

CHƯƠNG 1: GIỚI THIỆU CÔNG VIỆC THỰC TẬP

1.1 Giới thiệu về trung tâm mạng ĐH Quốc Gia TP HCM

Ban được thành lập trực thuộc Nhà Điều Hành ĐHQG, đặt tại lầu 4, phòng 401 toà Nhà Điều Hành ĐHQG TP Hồ Chí Minh với các quyền và nghĩa vụ sau:

 Thực hiện công tác quản lý mạng Đại Học Quốc Gia Tp.HCM bao gồm: quản lý các thiết bị mạng máy tính, mạng điện thoại, hệ thống cáp mạng, trình Ban Giám Hiệu các báo cáo định kỳ về tình trạng hoạt động của chúng, đề nghị hướng giải quyết sự cố liên quan đ ến chúng

 Thiết lập, theo dõi và duy trì hoạt động 24 giờ / ngày liên tục trong năm đối với dịch vụ mạng trường Phối hợp với các mạng đơn vị trong trường đảm bảo tốt cho hoạt động các dịch vụ mạng trường, bảo vệ thông tin dữ liệu trong mạng trường

1.2 Nhiệm vụ, dịch vụ của trung tâm mạng ĐH Quốc Gia TP HCM

Trung tâm mạng Đại học Quốc Gia TP Hồ Chí Minh cung cấp và quản lý các dịch

vụ mạng một cách hiệu quả cho các trường thành viên trong khối Đại học Quốc Gia như:

 Cung cấp các dịch vụ mạng máy tính tin cậy và hiệu quả cho các đơn vị và cá nhân trong trường, bao gồm: thực hiện các hoạt động thường xuyên và định kỳ như duy trì, sửa chữa và cập nhật tài liệu kiến trúc mạng máy tính trường như hệ thống chuyển mạch tại trung tâm và các chi nhánh, hệ thống máy chủ mạng trường, hệ thống cáp truyền dẫn, xử lý các yêu cầu về di chuyển, thêm, thay đổi, tài khoản sử dụng mạng trường hoặc các máy tính hay các hệ thống mạng của các đơn vị

 Cung cấp các dịch vụ điện thoại tin cậy và hiệu quả cho các đơn vị và cá nhân trong trường, bao gồm: thực hiện các hoạt động thường xuyên và định kỳ bao gồm duy trì, sửa chữa, và cập nhật tài liệu kiến trúc mạng điện thoại như tổng đài điện thoại nội bộ, hệ thống cáp điện thoại, xử lý các yêu cầu về di chuyển, thêm, thay đổi, sửa chữa cũng như hóa đơn cước, danh bạ điện thoại, …

 Hỗ trợ kỹ thuật về CNTT cho mọi đối tượng trong Đại Học Quốc Gia Tp.HCM bao gồm: thiết kế và dự toán kinh phí xây dựng các hệ thống mạng cục bộ của các đơn vị, triển khai các ứng dụng mạng, giúp nhà trường trong công tác tổ chức các lớp tập huấn CNTT cho cán bộ công nhân viên, sửa chữa và cài đặt máy vi tính

 Phối hợp với các đơn vị chức năng giúp nhà trường hoạch định kế hoạch phát triển về CNTT trong trường Đại Học Quốc Gia TP HCM bao gồm: quy hoạch

Trang 7

 Quản lý, phân bổ dịch vụ mạng công bằng, hợp lý Trực tiếp phân bổ dịch vụ mạng, ban hành các biểu mẫu liên quan, tạo điều kiện dễ dàng cho các đơn vị và

cá nhân trong trường đăng ký, thay đổi hay hủy bỏ việc sử dụng các dịch vụ mạng, tiến tới thực hiện trực tuyến qua mạng máy tính trong trường

 Phối hợp với quản trị mạng các đơn vị trường trong Đại Học Quốc Gia Tp.HCM

để duy trì các kết nối mạng trường và các dịch vụ mạng Đại Học Quốc Gia Tp.HCM và các mạng cục bộ đơn vị

1.3 Giới thiệu về công việc thực tập

Trang 8

3

CHƯƠNG 2: NỘI DUNG THỰC TẬP

2.1 Nhiệm vụ

 Tìm hiểu các tập lệnh cơ bản trong Linux

 Tìm hiểu Công nghệ ảo hóa Vmware trên Client và trên Cloud…

 Tìm hiểu và thực hiện Compile kernel trên Máy ảo và trên Server

 Nghiên cứu về IPTables, cách cấu hình mạng căn bản trong Linux

 Tìm hiểu về các dịch vụ trên Linux, cấu hình một số dịch vụ cơ bản

(OpenSSL, OpenSSH…) trên Linux 2.2 Nội dung thực tập

2.2.1 Tìm hiểu về Hệ điều hành Linux

2.2.1.1 Sơ lược

 Linux là một hệ thống Unix tự do được hình thành từ một đồ án giải trí của một sinh viên người Phần Lan : Linus Torvalds, lấy nguồn cảm hứng từ Minix, một hệ thống Unix nhỏ do Andy Tanenbaum thiết kế Tháng 10/1991 Linus Torvalds công bố version chính thức đầu tiên của Linux (version 0.02)

 Ngày nay, Linux là một hệ thống 32-bits, multi-tasking, multi-user,

mạng nó được cài trên phần lớn máy PC (có thể chung với những hệ điều hành khác) Nó hỗ trợ đủ loại chương trình khác nhau như X Windows, TCP/IP, C/C++GNU và những công cụ khác của GNU, thư điện tử, những công cụ với LateX hoặc những tiện ích cho văn phòng (ApplixWare, StartOffice)

 Sự thành công của Linux dựa vào nhiều yếu tố như :

o Linux là hệ điều hành mã nguồn mở, tương thích với một số lớn các chuẩn của Unix ở mức độ mã nguồn, bao gồm những đặc tính của POSIX, system V, và BSD

o Linux là một hệ điều hành UNIX tiêu biểu với các đặc trưng là đa người dùng, đa chương trình và đa xử lý

o Linux có giao diện đồ hoạ (GUI) thừa hưởng từ hệthống X-Window Linux hỗ trợ nhiều giao thức mạng, bắt nguồn và phát triển từ dòng BSD Thêm vào đó, Linux còn hỗ trợ tính toán thời gian thực

o Linux khá mạnh và chạy rất nhanh ngay cảkhi nhiều quá trình hoặc nhiều cửa sổ

o Linux hỗ trợ tốt cho tính toán song song và máy tính cụm (PC-cluster)

là một hướng nghiên cứu triển khai ứng dụng nhiều triển vọng hiện nay…

Trang 9

 Thư viện hệ thống xác định một tập chuẩn các hàm để các ứng dụng tương tác với nhân, và thi hành nhiều chức năng của hệ thống nhưng không cần có các đặc quyền của mô đun thuộc nhân Một hệ thống con điển hình được thi hành dựa trên thư viên hệ thống là hệ thống file Linux

 Tiện ích hệ thống là các chương trình thi hành các nhiệm vụ quản lý riêng rẽ, chuyên biệt Một số tiện ích hệ thống được gọi ra chỉ một lần để khởi động

và cấu hình phương tiện hệ thống, một số tiện ích khác, theo thuật ngữ UNIX được gọi là trình chạy ngầm (daemon), có thể chạy một cách thường xuyên (thường theo chu kỳ), điều khiển các bài toán như chấp nhận các kết nối mạng mới đến, tiếp nhận yêu cầu logon, hoặc cập nhật các file log…

2.2.1.3 Giới thiệu về Shell và Shell Scripts trong Linux

 Mục đích

Shell có 3 mục đích chính như sau:

o Tương tác (interactive use)

o Đặt biến môi trường với mỗi người sử dụng

o Lập trình

Trong đó, tương tác được coi là đơn giản và sử dụng nhiều nhất, shell sẽ đợi

người sử dụng gõ các lệnh tạo dấu nhắc, sau đó gửi tới hệ thống yêu cầu từ lệnh nhận được

Trang 10

5

Thiết lập biến môi trường: Unix shell xác định các biến để điều khiển môi

trường của người sử dụng đối với mỗi phiên sử dụng Việc đặt này sẽ xác định với hệ thống những tham số như thư mục nào sẽ được sử dụng làm thư mục chính, nơi đặt mail, những thư mục nào được sự dụng mặc định khi người dùng gọi đến các lệnh Unix,… Một số biến hệ thống có thể được đặt trong tệp khởi động (Start-up file) và được đọc khi người dùng đăng nhập

Lập trình: Shell cung cấp tập lệnh đặc biệt mà từ đó có thể tạo nên những

chương trình, khi đó được gọi là Shell script Trên thực tế hầu hết các lệnh này có thể sử dụng trong cửa sổ lệnh của Unix và ngược lại, các lệnh trong Unix đều có thể sử dụng để viết trong shell script Shell script rất tiện lợi trong việc gộp nhiều lệnh độc lập thành một và thực hiện nhiều lần

Ngoài các lệnh đơn giản của hệ thống Linux, shell còn được bổ sung thêm các cấu trúc phức tạp như điều khiển rẽ nhánh (if/case), vòng lặp(for/while) Thông thường, các hệ thống có ít nhất một loại shell và chủ yếu Bourne shell được sử dụng để viết script

Tập tin /etc/passwd sẽ xác định loại shell nào sẽ được sử dụng mặc định trong hệ thống cho mỗi phiên làm việc Trong phần cuối của dòng lệnh chứa tên người dùng là thông tin về loại shell được sử dụng Thông tin có thể gồm một trong các dạng sau:

/bin/sh Bourne shell /bin/jsh Bourne shell kết hợp thêm module điều khiển tác vụ /bin/ksh Korn shell

/bin/csh C shell

Việc viết shell (hay lập trình shell scripts) cũng dựa trên các lệnh cơ bản, các quy tắc lập trình cơ bản của ngôn ngữ C

Trang 11

6

2.2.2 Compile kernel trên Linux

2.2.2.1 Tổng quan về Kernel trong Linux

Kernel linux (hạt nhân hệ điều hành Linux) là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển hoạt động của toàn bộ hệ thống Hạt nhân được phát triển không ngừng, thường có 2 phiên bản mới nhất, một bản dạng phát triển mới nhất và một bản ổn định mới nhất Kernel được thiết kế theo dạng modules, do vậy kích thước thật sự của Kernel rất nhỏ Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải lên nếu có yêu cầu sử dụng Nhờ vậy so với các hệ điều hành khác Linux không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ lên mà không cần quan tâm nó có sử dụng không Kernel được xem là trái tim của hệ điều hành Linux, ban đầu phát triển cho các CPU Intel 80386 Điểm mạnh của loại CPU này là khả năng quản lý bộ nhớ Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy

2.2.2.2 Tại sao phải biên dịch (compile) Kernel ?

 Cập nhật phiên bản Kernel mới hơn

 Thêm các tính năng,các module mới

 Bỏ bớt các tính năng không cần thiết của kernel cũ

 Tạo 1 custom kernel

 Tận dụng hết khả năng của CPU

 Tăng cường khả năng bảo mật cho máy chủ Linux của bạn

2.2.2.3 Biên dịch kernel cho Hệ điều hành Linux

cd linux-2.4.19

Trang 12

7

 Bước 2:Chọn cấu hình biên dịch

Có 2 phương án lựa chọn:

 Make config: là phương tiện đơn giản và không đòi hỏi thêm bất cứ thư

viện nào khác để chạy công cụ

 Make menuconfig: là công cụ cần tạo GUI đơn giản

 Make xconfig: là phương tiện được dùng rộng rãi cho những hệ thống chạy

X Windows

Trang 13

8

 Bước 3: Xây dựng kernel

Lần lượt thực hiện các lệnh sau:

• make dep: tạo dependency và các includes cần thiết cho kernel

• make clean: để dọn dẹp những “objects” vụn vặt, không cần thiết

• make bzImage: tạo kernel image

Hình minh họa lệnh make bzImage

 Bước 4: Tạo và cài đặt kernel modules

Lần lượt thực hiện các lệnh sau:

• make modules: biên dịch và tạo ra các module

• make module_install: cài đặt các module vừa được biên dịch vào thư

mục /lib/modules/<kernel_version>

Trang 14

9

• Hoặc gom chung thành một lệnh: make modules modules_install

Hình minh họa lệnh make modules modules_install

 Bước 5: Cài đặt kernel

Có 2 lựa chọn:

 Cài đặt Kernel tự động

make install: thực hiện các thao tác cần thiết để thiết lập kernel mới

trên hệ thống Để cài Linux kernel mới, thực hiện lệnh:

#make install: ở chế độ super user tại thư mục chứa mã nguồn của

Linux kernel

 Cài đặt Kernel thủ công

- Tạo initrd: là công cụ để tải các driver cần thiết cho kernel trong

quá trình khởi động Cú pháp:

#/sbin/mkinitrd /boot/initrd-<kerne_v>.img<kernel_v>

- Sao chép kernel và System.map

Lần lượt thực hiện các lệnh sau:

#cp /<source>/arch/i386/boot/bzImage /boot/bzImage-2.6.23

#cp /<source>/System.map-2.6.23 /boot/System.map-2.6.23

Trang 16

11

2.2.3 Compile một số dịch vụ trên trên Linux

2.2.3.1 Giới thiệu về dịch vụ SSH

SSH (Secure Shell) là một chương trình để đăng nhập vào một máy tính thông qua mạng và thực thi các lệnh, đồng thời có thể do chuyển file SSH cung cấp một cơ chế chứng thực mạnh và đảm bảo an toàn trong liên lạc trên những kênh không an toàn Nó được thiết kế như một giải pháp thay thế cho rlogin, rsh, rcp

và rdist…

2.2.3.2 Các đặc điểm của dịch vụ OpenSSH

 Tính bí mật (Privacy) của dữ liệu thông qua việc mã hóa mạnh mẽ

 Tính toàn vẹn (Integrity) của thôn tin truyền, đảm bảo những thông tin này không bị biến đổi

 Chứng minh xác thực (Authentication) nghĩa là bằng chứng để nhận dạng bên gửi và bên nhận

 Giấy phép (Authorization) dùng để điều khiển truy cập đến tài khoản

 Chuyển tiếp (Forwarding) hoặc tạo đường hầm để mã hóa những phiên khác dựa trên giao thức TCP/IP

2.2.3.3 Các bước chuẩn bị cài đặt

 Phải cài đặt SSL, SSL cần để chạy OpenSSH trên hệ thống

 Download package source từ http://www.openssh.com

Trang 17

12

2.2.3.4 Tiến hành compile và cài đặt dịch vụ OpenSSH trên Linux

 Bước 1: Copy source được download về vào thư mục /var/tmp trước khi giải nén

Lệnh để thực hiện

[root@deep /]#cp openssh-version.tar.gz /var/tmp/

[root@deep /]#cd /var/tmp/

[root@deep tmp]#tar xzpf openssh-version.tar.gz

 Bước 2: OpenSSH cần UID và GID đúng để chạy trên hệ thống nhưng UID/GID

không thể chạy dưới quyền root, vì vậy cần tạo ra một một người dùng đặt biệt không có đặc quyền trên hệ thống để chạy sshd

 Lệnh đối với OpenNA Linux

[root@deep tmp]#groupadd -g 39 sshd > /dev/null 2>&1 || : [root@deep tmp]#useradd -c "SSH Server" -d /var/empty -g 39 –s /bin/false -u 39 sshd > /dev/null 2>&1 || :

 Lệnh đối với Red Hat Linux

[root@deep tmp]#groupadd -g 39 sshd > /dev/null 2>&1 || : [root@deep tmp]#useradd -u 39 -g 39 -s /bin/false -M -r -d var/empty sshd > /dev/null 2>&1 || :

 Bước 3: Hiệu chỉnh lại tập tin shells (vi /etc/shells), thêm một shell “/bin/false”

 Lệnh thực hiện

[root@deep tmp]# vi /etc/shells /bin/bash2

/bin/bash /bin/sh

/bin/false ← shell được thêm vào

 Bước 4: Di chuyển lại thư mục chứa source để tiến hành cấu hình và tối ưu SSH

trên hệ thống

 Lệnh thực hiện di chuyển lại thư mục chứa source

[root@deep tmp]#cd openssh-3.4p1/

Trang 18

13

 Lệnh thực hiện cấu hình và tối ưu OpenSSH

CFLAGS="-O2 -march=i686 -funroll-loops"; export CFLAGS ./configure \

prefix=/usr \ sysconfdir=/etc/ssh \ libexecdir=/usr/libexec/openssh \ mandir=/usr/share/man \

with-pam \ with-ipaddr-display \ with-ipv4-default \ with-md5-passwords \ with-zlib

 Lệnh trên cho OpenSSH biết được các cấu hình đặc biệt:

 Cho phép tính năng hỗ trợ PAM

 Sử dụng địa chỉ IP thay vì tên máy

 Sử dụng IPv4 bởi các kết nối

 Bước 6: Giải phóng không gian đĩa xóa các tập tin tar của chương trình và thư

Ngày đăng: 14/04/2015, 16:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Gerhard Mourani. Securing &amp; Optimizing Linux- The hacking Solution 3.0. Copyright © 2002 Sách, tạp chí
Tiêu đề: Securing & Optimizing Linux- The hacking Solution 3.0
[2]. Vicki Stanfield, Roderick W. Smith. Linux System Administration. Copyright © 2002 SYBEX Inc Sách, tạp chí
Tiêu đề: Linux System Administration
[3]. Shantanu Tushar, Sarath Lakshman. Linux Shell Scripting Cookbook Second Edition. Copyright © 2013 Packt Publishing Sách, tạp chí
Tiêu đề: Linux Shell Scripting Cookbook Second Edition
[4]. MuliBen-Yehuda, LinuxKernelCompilation fromsourcetorunning Khác
[5]. Devyn Collier Johnson, Linux Kernel Series Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w