TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
----------*******----------
BÀI TẬP LỚN
Linux và phần mềm nguồn mở
Giảng viên :
Cô Bành Thị Quỳnh Mai
SV thực hiện: Nguyễn Văn Lượng
MSSV: 20146959
1
Hà Nội – Tháng 8/2015
LỜI MỞ ĐẦU
Trong thời đại bùng nổ của công nghệ thông tin như hiện nay,con người
ngày càng được hưởng nhiều tiện ích từ sự hỗ trợ của các phần mềm và đặc biệt
nhất là các phần mềm mã nguồn mở. Linux là một trong số những phần mềm mã
nguồn mở được ứng dụng rộng rãi nhất được phát triển từ phần mềm Unix.
Linux ngoài việc trao cho người sử dụng quyền sử dụng miễn phí,còn có quyền
sao chép,nghiên cứu ,sửa đổi.Vì vậy ,phần mềm mã nguồn mở Linux ngày càng
phát triển có một cộng đồng lớn phát triển và sử dụng .
Nước ta đang trong quá trình hội nhập cùng với thế giới,công nghệ thông
tin của nước ta đang trong giai đoạn học hỏi, phát triển và cộng đồng sử dụng mã
nguồn mở cua nước ta đang có những bước đi đầu tiên hòa cùng với thế giới.
Trước tình hình đó,nội dung bài báo cáo dưới đây của chúng em sẽ đề cập tới “
Hướng dẫn cài đặt cấu hình ,hoạt động và ứng dụng của DNS, Web Server, mail
với sendmail và hệ thông filewall iptable trên phần mềm mã nguồn mở Linux.”
Bài báo cáo của chúng em gồm có 4 phần chính:
Phần 1 : Triển khai dịch vụ DNS.
Phần 2 : Triển khai mô hình Web Server với Apache.
Phần 3 : Dịch vụ mail với sendmail.
Phần 4 : Hệ thống firewall.
Chúng em trân thành cảm ơn sự giúp đỡ của giảng viên Bành Thị Quỳnh
Mai và các thầy cô đã cung cấp một phần tài liệu môn học để chúng em hoàn
thành phần nghiên cứu của mình.
Trong quá trình tìm hiểu thực hiện và hoàn thiện báo cáo chúng em đã
tham khảo tài liệu môn học và một số tài liệu khác, do phạm vi nghiên cứu còn
hạn hẹp nên chúng em không tránh khỏi những sai sót rất mong bạn đọc sẽ thông
cảm và đóng góp ý kiến thêm cho bài báo cáo hoàn thiện hơn.
2
Phần 1: Triển khai dịch vụ DNS
I.
DNS là từ viết tắt trong tiếng Anh của Domain Name System, là hệ thống
phân giải tên miền được phát minh năm 1984 cho Internet, chỉ một hệ
thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền
Hệ thống tên miền DNS là một hệ thống đặt tên theo thứ tự cho máy tính,
dịch vụ, hoặc bất kì nguồn lực tham gia vào Internet
Mỗi website có một tên ( là tên miền hay đường dẫn URL) và một địa chỉ
IP, Khi mở một trình duyệt web và nhập tên website, trình duyệt sẽ đến
thẳng website mà không cần phải thông qua đị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
một website 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
-
-
-
II.
-
-
Giới thiệu về dịch vụ DNS
Triển khai dịch vụ DNS
Chuyển chế độ người dử dụng cho root
# sudo su
Nhập mật khẩu người để sử dụng với quyền cao nhất
Cập nhật ubuntu
# apt-get update
Cài đặt gói BIND9
# apt-get install bin9
Cấu hình IP tĩnh bằng cách sửa file interfaces
# nano /etc/network/interfaces
Nội dung như sau
-
Khởi động lại network
3
# /etc/init.d/networking restart
-
Kiểm tra lại bằng câu lệnh ifconfig
Chỉnh sửa file named.conf.local, trong file này sẽ khai báo các file zone
thuận và zone nghịch cho tên miền đã đặt.
# nano /etc/bind/named.conf.local
Zone thuận dùng để phân giải tên sang địa chỉ IP
-
-
Zone nghịch dùng để phân giải địa chỉ IP sang tên
-
Đặt cấu hình file zone. Tạo 2 file nhom59.com.zone và db.192 từ file
db.local
# cp /etc/bind/db.local /etc/bind/nhom59.com.zone
# cp /etc/bind/db.local /etc/bind/db.192
-
Chỉnh sửa file nhom59.com.zone
# nano /etc/bind/nhom59.com.zone
4
-
Chỉnh sửa file db.192
# nano /etc/bind/db.192
-
Khởi động lại BIND9 để có hiệu lực
# service bind9 restart
Kiểm tra kết quả bằng lệnh nslookup hoặc dig
-
5
Phần 2: Triển khai mô hình Web Server bằng Apache2
Sơ lược lý thuyết.
I.
1. Apache:
- Apache là chương trình dành cho máy chủ đối thoại qua giao thức
HTTP. Apache chạy trên hệ điều hành như Unix, Linux, Windows và
một số hệ điều hành khác.
-
Khi được phát hành lần đầu Apache trở thành chương trình mã nguồn
mở duy nhất có khả năng cạnh tranh với các chương trình máy chủ
tương tự như Netscape Communications Corporation. Từ đó trở đi,
Apache không ngừng phát triển và trở thành phần mềm máy chủ
thông dụng nhất hiện nay.
- Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở
dưới sự bảo trợ của Apache Software Foundation. Apache được phát
hành với giấy phép Apache License và là một phần mềm tự do và
miễn phí.
2. Web Server
- Web Server là một máy chủ có dung lượng lớn, tốc độ cao, được dung
để lưu trữ thông tin như một ngân hang dữ liệu, chứa các website đá
được thiết kế và các thông tin khác.
- Web Server có khả năng gửi đến máy khách những trang Web thông
qua môi trường Internet qua các giao thức HTTP – giao thức được
thiết kế để gửi các file đến trình duyệt web, và các giao thức khác.
Cài đặt và cấu hình Apache
II.
Cài đặt apache2
# apt-get install apache2
-
III.
Và ấn “y” cho các câu hỏi [y/n] trong quá trình cài đặt.
Triển khai Web Server
1.Triển khai web server
- Bước 1: Trong thư mục /var/www ta tạo một thư mục để chứa một
website, ở đây ta tạo thư mục nhom59.com và trong thư mục này ta
tạo thư mục public_html để dễ quản lí, ta sử dụng lần lượt 2 câu lệnh:
6
mkdir –p /var/www/nhom59.com
mkdir –p /var/www/nhom59.com/public_html
- Bước 2: Trong thư mục /var/www/nhom59.com/public_html vừa tạo
ta tạo một file index.html chính là file mà Server sẽ tìm đến khi được
yêu cầu.
Ta dùng câu lệnh: nano
/var/www/nhom59.com/public_html/index.html
Ở đây file này được tạo như trong hình:
- Bước 3: Trong thư mục /etc/apache2/sites-available cấu hình file
nhom59.com.conf để cấu hình cho site.
Có thể dùng lệnh cp để dung một mẫu có sẵn như sau:
cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/nhom59.com.conf
Sau đó ta dùng lệnh nano /etc/apache2/sitesavailable/nhom59.com.conf để tiến hành chỉnh sửa, sửa để được
như trong hình ảnh :
- Bước 4: enable site bằng câu lệnh a2ensite nhom59.com.conf
- Bước 5: restart apache2 bằng câu lệnh service apache2 restart
7
- Bước 6: Vào trình duyệt và kiểm tra bằng cách đánh vào Address
nhom59.com hoặc www.nhom59.com. Đây là kết quả thu được:
2.
Triển khai IP Base Web Server
IP-Based: nghĩa là mỗi một host phải có 1 địa chỉ IP riêng biệt của nó.
- Bước 1: Trong thư mục /var/www tạo 2 thư mục test1 và test2 để
chứa 2 sites.
mkdir –p /var/www/test1
mkdir –p /var/www/test2
- Bước 2: Trong mỗi thư mục test1, test2 vừa tạo tạo 1 file index.html
chính là file mà Server sẽ tìm tới khi được yêu cầu.
nano /var/www/test1/index.html
nano /var/www/test2/index.html
Nội dung 2 file như sau :
8
- Bước 3: Trong thư mục /etc/apache2/sites-available tạo file
test.com.conf để cấu hình cho site.
nano /etc/apache2/sites-available/test.com.conf
Nội dung file như sau :
- Bước 4: thêm 1 địa chỉ IP tĩnh trong card mạng ở file interfaces. Cụ
thể ở đây ta thêm địa chỉ IP 192.168.3.101 ở card mạng eth0:2 để
domain test2 ping tới
9
- Bước 5: khởi động lại network để thay đổi
# /etc/init.d/networking restart
- Bước 6: enable site bằng lệnh a2ensite test.com.conf
- Bước 7: restart apache2 bằng lệnh service apache2 restart
- Bước 8: Mở trình duyệt và test thử ta được kết quả:
10
11
3. Name Based Web Server
Name Based Web Server: Với Name Based Web Server ta có thể
cấu hình nhiều host/site với chung một IP, phương pháp này dễ thực
hiện hơn so với IP Based Web Server và cũng được dung khá phổ biến
Các bước triển khai
Với cách cấu hình DNS Server như ở Phần I ta tạo thêm một Server với
tên nhom59demo.com cùng địa chỉ IP với nhom59.com.
- Bước 1: Tạo một thư mục nhom59demo trong /var/www
mkdir -p /var/www/nhom59demo
- Bước 2: Trong thư mục nhom59demo mới tạo tạo một file
index.html chứa nội dung của site.
# nano /var/www/nhom59demo/index.html
Nội dung của file như sau :
- Bước 3 : Trong thư mục /etc/apache2/sites-available tạo file
nhom59demo.com.conf bằng câu lệnh :
nano /etc/apache2/sitesavailable/nhom59demo.com.conf
File có nội dung như sau :
12
- Bước 4: thêm zone mới nhom59demo.com trong named.conf.local
với file zone là file của domain nhom59.com
- Bước 5: khởi động lại BIND9
#service bind9 restart
- Bước 6: enable site bằng lệnh a2ensite nhom59demo.com.conf
- Bước 7: restart apache2 bằng lệnh service apache2 restart
- Bước 8: Mở trình duyệt và test thử ta được kết quả:
13
4. HTTPS Web Server
Triển khai SSL lên hệ thống
- Bước 1: SSL đã được tích hợp sẵn trong Ubuntu 12.04 nên ta chỉ cần
khởi động bằng câu lệnh:
# a2enmod ssl
Sau khi khởi động SSL ta cần restart apache2 bằng câu lệnh:
# service apache2 restart
- Bước 2: Tạo file chứa chứng chỉ SSL bằng câu lệnh:
mkdir /etc/apache2/ssl
- Bước 3: Tạo key và certificate trong 2 file apache.key và apache.crt
bằng câu lệnh
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
/etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
- Bước 4: Lần lượt trả lời các câu hỏi được đưa ra. VD như trong hình:
14
- Bước 5: Chỉnh sửa file /etc/apache2/sites-available/default-ssl bằng
câu lệnh
nano /etc/apache2/sites-available/default-ssl
Nội dung được chỉnh sửa như sau :
- Bước 6 : Enable Virtual Host bằng câu lệnh : a2ensite default-ssl
- Bước 7: Restart Apache2:
service apache2 restart
- Bước 8: Test kết quả bằng cách mở trình duyệt lên và gõ
15
5. Cấu hình User Directory
Ý nghĩa: Home Folder là một share folder tự động map về máy trạm
thành ổ đĩa mạng khi User đăng nhập bất kỳ client nào.
Home directory là thư mục cất giữ dữ liệu, chương trình, ứng dụng
của một User ngoài thư mục My Documents.
Các bước cấu hình.
- Bước 1: Để tiện là cho phần này chúng ta sẽ tạo thêm một tài
khoản người dung có tên là linux bằng câu lệnh adduser linux
-
Bước 2: Dùng lệnh a2enmod userdir để khỏi động userdir.
-
Bước 3: Restart bằng lệnh service apache2 restart
-
Bước 4: Trong thư mục /home/linux tạo thư mục public_html,
trong thư mục này tạo file index.html chính là file nguồn của
site. Dùng các câu lệnh như trong hình:
-
Bước 5: Cấu hình file index.html
16
- Bước 6: Test kết quả nhận được bằng cách vào trình duyệt và
đánh địa chỉ như sau: nhom59.com/~linux
17
Phần 3: Mail server
I.
Hệ thống E-Mail
Hệ thống E-Mail thông trường gồm 3 phần chính:
- Mail User Agent(MUA) : là chương trình mà người dùng sử dụng
để đọc và gửi e-mail. Nó đọc e-mail được gửi vào mail box của
người dùng và gửi e-mail tới MTA để gửi đến nơi nhận. Các MUA
thường được sử dụng trên Linux là: elm, pine, mutt.
- Mail Tranfer Agent (MTA): hoạt động cơ bản của nó giống như một
"mail router" nó nhận e-mail từ các MUA hay từ một MTA khác,
dựa vào thông tin trong phần header của e-mail nó sẽ đưa ra xử lý
phù hợp với e-mail đó, sau đó e-mail sẽ được gửi đến một MDA
phù hợp để gửi e-mail đó. Các MTA thường được sử dụng trên
Linux là: sendmail, postfix, qmail.
- Mail Delivery Agent (MDA): nhận e-mail từ MTA và thực hiện
việc gửi e-mail đến đích thực sự.
II.
-
Cài đặt các gói cần thiết để triển khai dịch vụ mail
# apt-get install bind9 apache2 php5 postfix dovecot-core dovecot-imapd
dovecot-pop3d squirrelmail
-
-
Triển khai Mail server
Cấu hình file zone như ở phần 1. Ta sẽ có DNS cho dịch vụ mail, kiểm tra
lại
Tạo file mail từ file default có sẵn trong apache2
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mail
Chỉnh sửa nội dung file mail
# nano /etc/apache2/sites-available/mail
18
-
-
Khởi động file mail
# a2ensite mail
Khởi động lại apache2
# invoke-rc.d apache2 restart
Cấu hình lại postfix
# dpkg-reconfigure postfix
Cấu hình như sau:
19
20
-
Chỉnh sửa apache.conf
# nano /etc/squirrelmail/apache.conf
21
-
Chỉnh sửa dovecot.conf
# nano /etc/dovecot/dovecot.conf
-
Khởi động lại các gói BIND9, apache2, postfix, dovecot
# invoke-rc.d bind9 restart
# invoke-rc.d apache2 restart
# invoke-rc.d postfix restart
# invoke-rc.d dovecot restart
22
-
Truy cập vào mail.nhom59.com
-
-
Đăng nhập bằng user người dùng và mật khẩu. Soạn thư gửi đến người
khác. Cụ thể ở đây gửi đến user linux. Ngoài ra có thể tạo thêm các user
khác bằng lệnh adduser
Truy cập vào user linux để kiểm tra mail
23
24
Phần 4: Triển khai dịch vụ Firewall Iptables
I.
Giới thiệu về Firewall
- Những người dùng máy tính từ trước đến nay hầu hết đã từng nghe
qua từ Firewall(tường lửa), và thường hiểu rằng đây là một biện
pháp bảo vệ an toàn cho máy tính.
- Tường lửa được xem như một bức rào chắn giữa máy tính(hoặc
mạng cục bộ-local network) và một mạng khác như Internet, điều
khiển lưu lượng truy cập dữ liệu vào ra.
- Nếu không có tường lửa, các luồng dữ liệu vào ra mà không chịu
bất kì sự cản trở nào. Còn với tường lửa được kích hoạt, việc dữ
liệu có thể vào ra hay không sẽ do các thiết lập trên tường lửa quy
định.
II.
Cài đặt mô hình Firewall Iptables
Cài đặt gói iptables trên máy :
# apt-get install iptables
25