Tải bản đầy đủ (.doc) (63 trang)

Xây dựng hệ thống máy chủ dns, web, mail trên nền linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.01 MB, 63 trang )

z

Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
Trờng
Trờng đại học vinh
Khoa công nghệ thông tin



Nguyễn võ dũng

Xây dựng hệ thống máy
chủ dns, web, mail trên nền
linux

đồ án tốt nghiệp đại học
kỹ s công nghệ thông tin

Mục lục
Mục lục.............................................................................................................1
lời cảm ơn.......................................................................................................4
Nguyễn Võ Dũng

Trang 1


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
lời nói đầu......................................................................................................5
CHƯƠNG 1: TổNG QUAN Về DNS, WEB, MAIL........................................6
1.1. Hệ thống tên miền( Domain Name System)........................................6
1.1.1. Khái niệm hệ thống tên miền...........................................................6


1.1.2. Không gian tên miền........................................................................6
1.1.3. Máy chủ tên miền............................................................................8
1.1.4. Trình phân giải.................................................................................9
1.1.5. Các loại bản ghi tài nguyên (Resource Record)..............................9
1.1.5.1.
Bản ghi SOA (Start of Authority).............................................9
1.1.5.2.
Bản ghi NS (Name Server)......................................................11
1.1.5.3.
B¶n ghi A (Address)...............................................................11
1.1.5.4.
B¶n ghi CNAME (Canonical Name ).....................................11
1.1.5.5.
B¶n ghi MX (Mail Exchanger)...............................................11
1.1.5.6.
Bản ghi PTR (Pointer)............................................................11
1.1.6. Hoạt động của DNS.......................................................................12
1.2. Tỉng quan vỊ Web..............................................................................13
1.2.1. Giao thøc HTTP (HyperText Transfer Protocol)...........................13
1.2.2. Web Server và cách hoạt động.......................................................13
1.2.3. Web Client.....................................................................................15
1.2.4. Web tĩnh.........................................................................................15
1.2.5. Web động.......................................................................................15
1.3. Tổng quan về Mail..............................................................................16
1.3.1. Khái niệm về th điện tử..................................................................16
1.3.2. Những giao thức mail.....................................................................16
1.3.2.1.
Giao thức SMTP (Simple Mail Transfer Protocol).................16
1.3.2.2.
Giao thøc POP3 (Post Office Protocol version 3)...................17

1.3.2.3.
Giao thức IMAP (Internet Message Access Protocol)............17
1.3.3. Những thành phần trong hệ thống mail.........................................18
1.3.4. Những chơng trình mail.................................................................18
1.3.4.1.
MUA (Mail User Agent)........................................................18
1.3.4.2.
MTA (Mail Transfer Agent)...................................................18
1.3.4.3.
MDA (Mail Delivery Agent)..................................................18
1.3.5. Hoạt động của Mail Server............................................................19
CHƯƠNG 2: CàI ĐặT Và CấU HìNH Hệ THốNG MáY CHđ..............21
2.1. Giíi thiƯu hƯ thèng m¸y chđ DNS, Web, Mail.................................21
2.2. DNS Server-Bind.................................................................................22
2.2.1. Giới thiệu Bind...............................................................................22
2.2.2. Cài đặt BIND..................................................................................23
2.2.3. Cấu hình DNS Server.....................................................................23
2.2.3.1.
Cài đặt tên máy.......................................................................23
2.2.3.2.
Cấu hình IP.............................................................................24
2.2.3.3.
Cấu hình named.conf..............................................................24
2.2.3.4.
Các tệp tin cơ sở dữ liệu vùng (zone file)...............................28
2.2.3.5.
Cấu hình DNS Client..............................................................33
2.2.3.6.
Mét sè c«ng cơ kiĨm tra DNS................................................35
2.3. Web Server-Apache............................................................................36

2.3.1. Giíi thiƯu Apache..........................................................................36
Ngun Vâ Dịng

Trang 2


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
2.3.2. Cài đặt Apache...............................................................................37
2.3.3. Cài đặt tên máy và cấu hình IP......................................................38
2.3.4. Cấu hình Apache............................................................................40
2.3.4.1.
Cấu hình Apache cơ bản.........................................................41
2.3.4.2.
ánh xạ đờng dẫn cục bộ (Alias).............................................44
2.3.4.3.
VirtualHost.............................................................................47
2.3.4.4.
Giám sát Web server..............................................................50
2.3.5. Máy chủ Web hỗ trợ PHP..............................................................50
2.3.5.1.
Giới thiệu PHP........................................................................50
2.3.5.2.
Cài đặt PHP............................................................................51
2.3.5.3.
Cấu hình Apache hỗ trợ PHP..................................................51
2.4. Mail Server..........................................................................................51
2.4.1. Cài đặt tên máy và cấu hình IP......................................................51
2.4.2. SMTP server với Postfix................................................................53
2.4.2.1.
Giới thiệu Postfix....................................................................53

2.4.2.2.
Cài đặt Postfix........................................................................54
2.4.2.3.
Cấu hình Postfix.....................................................................54
2.4.3. POP3/IMAP server với Dovecot....................................................56
2.4.3.1.
Giới thiệu Dovecot..................................................................56
2.4.3.2.
Cài đặt Dovecot......................................................................57
2.4.3.3.
Cấu hình Dovecot...................................................................57
2.4.4. Webmail server với SquirrelMail...................................................63
2.4.4.1 Giới thiệu SquirrelMail..............................................................63
2.4.4.2 Cài đặt website...........................................................................63
2.4.4.3 Cài đặt, cấu hình SquirrelMail...................................................63
2.4.4.4 Kiểm tra duyệt mail...................................................................66
kết luận.........................................................................................................68
tài liệu tham khảo...................................................................................70

Nguyễn Võ Dũng

Trang 3


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux

lời cảm ơn
Em xin chân thành cảm ơn đến các thầy cô trong khoa Công nghệ thông
tin những ngời ®· gióp ®ì em trong thêi gian qua. Em xin cảm ơn thầy giáo
Nguyễn Quang Ninh đà tận tình giúp đỡ em trong quá trình nghiên cứu và hoàn

thành đồ án. Cảm ơn đến bạn bè và ngời thân đà tạo điều kiện và động viên để
bản đồ án này hoàn thành tốt đẹp.
Do thời gian tiếp xúc với hệ điều hành máy chủ Linux cha nhiều, cùng với
sự hiểu biết của bản thân còn hạn chế nên đề tài chắc không tránh khỏi thiếu sót.
Em mong nhận đợc sự góp ý của các thầy cô và các bạn để đề tài đợc hoàn thiện
hơn.

lời nói đầu
Nguyễn Võ Dũng

Trang 4


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
Ngày nay, Công nghệ thông tin đang phát triển một cách chóng mặt. Tất
cả các sản phẩm công nghệ thông tin đều đợc đăng ký bảo hộ quyền tác giả và
gần nh đều đợc thơng mại hoá. Sẽ là một chi phí khổng lồ nếu tất cả các sản
phẩm công nghệ thông tin trong cơ quan, tập đoàn kinh tế đều phải đi mua. Sự ra
đời của mà nguồn mở đà giảm đi đáng kế, nếu không nói là rất lớn về lợi ích kinh
tế cho cơ quan, tổ chức bởi các sản phẩm mà nguồn mở đều có giá thành rất thấp,
thậm chí là con số 0.
Để đảm bảo về các vấn đề kinh tế, an ninh, quốc phòng và cả vấn đề học
tập, Chính phủ, Bộ Giáo dục, Bộ TT&TT Việt Nam đà kêu gọi tất cả các cơ quan,
doanh nghiệp trong nớc sử dụng mà nguồn mở.
Linux là một hệ điều hành mà nguồn mở. Nó là một hệ điều hành với các
khả năng đa nhiệm, đa tác vụ, đa ngời dùng. Linux đang là đe doạ lớn nhất đối
với Microsoft Windows khi rất nhiều các tổ chức chính phủ và doanh nghiệp trên
thế giới tuyên bố đoạn tuyệt với Windows để chuyển sang dùng Linux. Hệ điều
hành Linux đợc dùng trong hầu hết hệ thống máy chủ của các trờng đại học, cao
đẳng, trong các cơ quan, cũng nh các tập đoàn kinh tế.

Linux cung cấp tất cả các dịch vụ mạng quan trọng. Giá thành thấp, tính
năng và sức mạnh vợt trội tiếp tục đa Linux là hệ thống máy chủ đợc u tiên.
Chính vì những lí do trên, xây dựng hệ thống mạng sử dụng hệ điều hành
Linux là rất cần thiết đối với mỗi tổ chức, doanh nghiệp. Các dịch vụ mạng DNS,
Web, Mail đóng vai trò sống còn trong mỗi hệ thống mạng. Thấy đợc những giá
trị to lớn trên, em đà làm đồ án với đề tài Xây dựng hệ thống máy chủ DNS,
Web, Mail trên nền Linux. Đồ án gåm 2 ch¬ng:
Ch¬ng 1: Tỉng quan vỊ DNS, Web, Mail
Ch¬ng 2: Cài đặt và cấu hình hệ thống máy chủ

CHƯƠNG 1: TỉNG QUAN VỊ DNS, WEB, MAIL
1.1. HƯ thèng tªn miền( Domain Name System)
1.1.1. Khái niệm hệ thống tên miền
Hệ thèng tªn miỊn(Domain Name System hay DNS) bao gåm mét loạt các
cơ sở dữ liệu chứa địa chỉ IP và các tên miền tơng ứng cuả nó. Mỗi tên miền tơng
ứng với một địa chỉ bằng số cụ thể. Hệ thống tên miền trên có nhiệm vụ chuyển
đổi tên miền sang địa chỉ IP và ngợc lại từ địa chỉ IP sang tên miền. Trong những
ngày đầu tiên của mạng Internet, tất cả các tên máy và địa chỉ IP t¬ng øng cđa
Ngun Vâ Dịng
Trang 5


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
chúng đợc lu giữ trong tệp hosts.txt, tệp này đợc trung tâm thông tin mạng NIC
( Network information Center ) ở Mỹ lu giữ. Tuy nhiên khi hệ thống Internet phát
triển, việc lu giữ thông tin trong một tệp không thể đáp ứng nhu cầu phân phối và
cập nhật. Do đó, hệ thống tên miền DNS đà phát triển dới dạng các cơ sở dữ liệu
phân bố, mỗi cơ sở dữ liệu này sẽ quản lý một phần trong hệ thống tên miền
- DNS là một cơ sở dữ liệu(CDSL) phân tán.
- DNS hoạt động theo mô hình Client-Server:

+ Server (Name Server): gọi là máy chủ phục vụ tên.
+ Client (Resolver): gọi là trình phân giải tên.
- DNS đợc thi hành nh một giao thức tầng Application trong mô hình
TCP/IP.
1.1.2. Không gian tên miền
Để cung cấp một cấu trúc phân cấp cho cơ sơ dữ liệu DNS ngời ta cung
cấp một lợc đồ đánh tên đợc gọi là không gian tên miền (Domain Namespace).
DNS phân bổ theo cơ chế phân cấp tơng tự nh sự phân cấp của hệ thống
tập tin Unix/Linux. CSDL của DNS là một cây đảo ngợc. Mức trên cùng đợc gọi
là root và đợc kí hiƯu b»ng dÊu “.”. Møc tiÕp theo lµ top-level-domain, chóng ®¹i
diƯn cho kiĨu cđa tỉ chøc nh com, edu, org… hoặc có thể là một định danh địa lý
mức quốc gia.
Mỗi nút trên cây cũng lại là gốc của 1 cây con. Chiều sâu của cây tối đa là
127 cấp. Mỗi tên miền đợc có tối đa 63 ký tự bao gồm cả dấu .. Tên miền đợc
đặt bằng các ký tù (a-z A-Z 0-9) vµ ký tù “-“. Mét tên miền đầy đủ có chiều dài
không vợt quá 255 ký tù.

Ngun Vâ Dịng

Trang 6


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux

Mỗi cây con là một phân vùng con trong toàn bộ CSDL DNS gọi là
Domain.
Mỗi Domain có thể phân chia thành các phân vùng con nhỏ hơn gọi là các
miền con Subdomain.
Địa chỉ tên miền (domain name) tổng quát:
host.subdomain.domain

+ host: tên máy.
+ subdomain: tên miền phụ.
+ domain (top-level-domain): tên miền chính.
Một số top-level-domain thông dụng:
.com : Các tổ chức, công ty thơng mại.
.org : Các tổ chức phi lợi nhuận.
.net : Các trung tâm hỗ trợ về mạng.
.edu : C¸c tỉ chøc gi¸o dơng.
.gov : C¸c tỉ chøc thc chính phủ.
...
Mỗi nớc có một top-level-domain riêng gồm 2 ký tù.
VD: .vn :ViÖt Nam, .us :Mü, .ca :Canada, .kr : Hàn Quốc, . . .
1.1.3. Máy chủ tên miền
Máy chủ tên miền (Name Server hay DNS Server) là máy chủ chứa cơ sở
dữ liệu dùng cho việc chuyển đổi giữa tên miền và địa chỉ IP. Nh cách phân cấp
của hệ thống tên miền, tơng ứng với mỗi cấp và mỗi loại tên miền có máy chủ tên
Nguyễn Võ Dũng

Trang 7


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
miền phục vụ tên miền ở cấp đó và loại tên miền đó. Máy chủ tên miền ở mức
root (root name server) quản lý những top-level-domain trên Internet. Tên máy
và địa chỉ IP của những máy chủ này đợc c«ng bè cho mäi ngêi biÕt. ë møc
quèc gia sÏ có máy chủ tên miền quản lý domain ở mức quốc gia.
Các loại Name Server:
1. Primary Name Server: Mỗi miền phải có một Primary Name
Server( Master Server). Ngời quản trị DNS sẽ tổ chức những tập tin CSDL trên
Primary Name Server. Server này có nhiệm vụ phân giải tất cá c¸c m¸y trong

miỊn hay vïng.
2. Secondary Name Server: Secondary (hay slave) Name Server đợc sử
dụng để sao lu CSDL cho Primary Name Server. Cã thĨ cã mét hay nhiỊu
Secondary Name Server. Theo mét chu kú, Secondary sÏ sao chÐp nh÷ng tÖp
CSDL tõ Primary Name Server.
3. Caching Name Server: Caching Name Server không có bất kỳ tệp CSDL
nào. Nó đợc sử dụng để phân giải tên máy trên những mạng ở xa thông qua
những Name Server khác.
Làm tăng tốc độ phân giải bằng cách sử dụng cache.
Giảm bớt gánh nặng phân giải tên máy cho name server.
Giảm việc lu thông trên những mạng lớn.
1.1.4. Trình phân giải
Trình phân giải (Resolver) là những client truy xuất name server. Những
chơng trình trên máy cần những thông tin về tên miền đều dùng resolver.
Resolver đảm trách việc:
Hỏi name server (Querying a name server).
Phân giải kết quả (Interpreting responses).
Trả kết quả về cho chơng trình đà yêu cầu.(Returning the information to
the programs that requested it).
Resolution (Phân giải)
Name server không những chỉ cung cấp cho ta những dữ liệu về những
zone mà nó đợc ủy quyền, nó còn có thể đi tìm thông tin qua domain name space
mà không đợc ủy quyền để lấy dữ liệu, quá trình này gọi là phân giải tên(name
resolution hay resolution).
 Root Name Server
Ngun Vâ Dịng

Trang 8



Xây dựng hệ thống máy chủ DNS, Web, Mail trên nỊn Linux
Root name server cã vai trß rÊt quan träng trong việc phân giải. Quá trình
phân giải đợc bắt đầu từ những root name server, điều này làm cho root name
server quyết định quá trình hoạt động của DNS, vì vậy nếu tất cả các Internet root
name server đều bị hỏng thì quá trình phân giải trong Internet sẽ bị đình trệ, do
đó để tránh tình trạng này ngời ta thiết lập đến 13 root name server phân bố trên
những vïng kh¸c nhau. 2 ë MILNET (the U.S. military's portion of the Internet),
1 ë SPAN (NASA’s internet), 2 ë ch©u Âu, và 1 ở Nhật Bản.
1.1.5. Các loại bản ghi tài nguyên (Resource Record)
Tất cả các nhập mục trong tệp cơ sở dữ liệu DNS đợc gọi là các bản ghi tài
nguyên( resoure record). Các loại bản ghi tài nguyên trong tệp tin cơ sở dữ liệu
vùng:
1.1.5.1.
Bản ghi SOA (Start of Authority)
Trong mỗi zone file phải có một và chỉ mét b¶n ghi SOA (start of
authority). B¶n ghi SOA chØ ra rằng máy chủ name server là nơi cung cấp thông
tin tin cậy từ dữ liệu có trong zone.
Cú pháp:
[tên-miền] IN SOA [tên-server-dns] [địa chỉ email] (
serial number;
refresh number;
retry number;
experi number;
time-to-live number; )
a) serial number: Khi mét slave name server kết nối với master server để lấy dữ
liệu, trớc tiên nã sÏ kiĨm tra sè serial, nÕu sè serial cđa master lớn hơn tức là dữ
liệu đà hết hạn sử dụng và nó sẽ load lại dữ liệu mới. vì vậy khi ta cập nhật dữ
liệu trên name server ta nên tăng số serial. Thông thờng ta định dạng theo thêi
gian nh sau:
YYYYMMDDNN

VÝ dơ: 201032001
b) refresh number: Kho¶ng Thêi gian (giây) mà slave biết phải kiểm tra lại dữ
liệu có còn sử dụng đợc không.
Ví dụ: 10800 ; Refresh sau 3 giê.

Ngun Vâ Dịng

Trang 9


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nỊn Linux
c) retry number: NÕu slave kh«ng thĨ kÕt nèi với primary name server sau một
khoảng thời gian refresh thì nó sẽ cố gắng kết nối lại sau retry giây. Giá trị này
nhỏ hơn giá trị refresh.
Ví dụ: 3600 ; Retry sau 1 giê
d) experi number: NÕu slave kh«ng thĨ kết nối với master server sau khoảng thời
gian expire (giây) này, thì slave sẽ không trả lời cho vùng dữ liệu đó khi đợc truy
vấn, và nó cho rằng dữ liệu này đà quá cũ. Giá trị này phải lớn hơn giá trị refresh
và retry.
Ví dụ: 604800 ; Expire sau 1 tuần.
e) time-to-live number: Time To Live, giá trị này đợc dùng cho tất cả các bản ghi
tài nguyên trong tệp cơ sở dữ liệu. Giá trị này cho phép những server khác cache
lại dữ liệu trong 1 khoảng thời gian xác định TTL.
Ví dụ : 86400 ; TTL l 1 ngày
Tên miền phải ở vị trí cột đầu tiên và kết thúc bằng dấu chấm.
IN là Internet.
DÊu ( ) cho phÐp ta më réng ra viÕt thành nhiều dòng. Tất cả các tham số
trong dấu ( ) đợc dùng cho các slave name servers
1.1.5.2.
Bản ghi NS (Name Server)

Bản ghi này xác định name server của zone
Cú pháp:
[tên-domain] IN NS [máy-DNS-Server]
1.1.5.3.
Bản ghi A (Address)
Bản ghi A (Address) ánh xạ tên sang địa chỉ.
Cú pháp:
[tên máy] IN A [địa chỉ IP]
1.1.5.4.
Bản ghi CNAME (Canonical Name )
Bản ghi CNAME (canonical name) tạo tên bí danh alias trỏ vào một tên
canonical. Tên canonical là tên máy trong bản ghi A hoặc lại trỏ vào một tên
canonical khác.
Cú pháp:
[tên máy alias] IN CNAME [tên máy gốc]
1.1.5.5.
Bản ghi MX (Mail Exchanger)
DNS dùng bản ghi MX để thực việc chuyển mail trên mạng Internet.
Có ph¸p:
Ngun Vâ Dịng

Trang 10


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
[tên-domain] IN MX [độ u tiên] [tên mail server]
1.1.5.6.
Bản ghi PTR (Pointer)
Bản ghi PTR (pointer) dùng để ánh xạ địa chỉ vào tên.
Cú pháp:

[địa chỉ IP] IN PTR [tên máy]
1.1.6. Hoạt động của DNS
Giả sử ngời sử dụng muốn truy cập vào trang web có địa chỉ là
/>Trớc hết chơng trình trên máy ngời sử dụng gửi yêu cầu tìm kiếm địa
chỉ IP ứng với tên miền www.vnn.vn tới máy chủ quản lý tên miền (name
server) cục bộ thuộc mạng của nó.

Máy chủ tên miền cục bộ này kiểm tra trong cơ sở dữ liệu của nó có chứa
cơ sở dữ liệu chuyển đổi từ tên miền sang địa chỉ IP của tên miền mà ngời sử
dụng yêu cầu không. Trong trờng hợp máy chủ tên miền cục bộ có cơ sở dữ liệu
này, nó sẽ gửi trả lại địa chỉ IP của máy có tên miền nói trên. Trong trờng hợp
máy chủ tên miền cục bộ không có cơ sở dữ liệu về tên miền này nó sẽ hỏi lên
các máy chủ tên miền ở mức cao nhất ( máy chủ tên miền làm việc ở mức root).
Nguyễn Vâ Dòng

Trang 11


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
Máy chủ tên miền ở mức root này sẽ chỉ cho máy chủ tên miền cục bộ địa chỉ
của máy chủ tên miền quản lý các tên miền có đuôi .vn.
Máy chủ tên miền cục bộ gửi yêu cầu đến máy chủ quản lý tên miền có
đuôi (.vn) tìm tên miền www.vnn.vn. Máy chủ tên miền quản lý các tên miền.vn
sẽ gửi lại địa chỉ của máy chủ quản lý tên miền vnn.vn. Máy chủ tên miền cục bộ
sẽ hỏi máy chủ quản lý tên miền vnn.vn này địa chỉ IP của tên miền www.vnn.vn.
Do máy chủ quản lý tên miền vnn.vn có cơ sở dữ liệu về tên miền www.vnn.vn
nên địa chỉ IP của tên miền này sẽ đợc gửi trả lại cho máy chủ tên miền cục bộ
Máy chủ tên miền cục bộ chuyển thông tin tìm đợc đến máy của ngời sử
dụng. Ngời sử dụng dùng địa chỉ IP này để kết nối tới máy chủ chứa trang web
có địa chỉ www.vnn.vn.

1.2. Tổng quan về Web
1.2.1. Giao thøc HTTP (HyperText Transfer Protocol)
HTTP lµ mét giao thøc cho phÐp Web browser vµ Web Server cã thĨ giao
tiÕp với nhau. Nó chuẩn hoá các thao tác cơ bản mà một Web Server phải làm đợc.
HTTP là giao thức đơn giản giống nh với các giao thức chuẩn khác của
Internet, thông tin điều khiển đợc truyền dới dạng văn bản thô thông qua kết nối
TCP.
Cổng 80 là cổng mặc định dành cho Web Server lắng nghe các kết nối đợc
gửi đến.
1.2.2. Web Server và cách hoạt động
Web Server trả lời những yêu cầu từ các browser. Nội dung có thể là web
tĩnh hay web động.
Web Server có thể phục vụ các tài liệu HTML dới dạng siêu văn bản gồm:
văn bản, hình ảnh, âm thanh, phim, ...
Đầu tiên xét Web server ở mức độ cơ bản thì nó phục vụ các nội dung tĩnh.
Nghĩa là khi Web server nhận 1 yêu cầu lấy trang Web sau từ Web browser:
thì nó sẽ ánh xạ (map) Uniform Resource Locator
(URL) trên vào một file cục bộ trên máy server.
a) Mô hình hoạt động của Web Server.
Chấp nhận kết nối.
Sinh ra các nội dung tĩnh hoặc động cho Web browser.
§ãng kÕt nèi.
Ngun Vâ Dịng

Trang 12


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
Chấp nhận kết nối.
Lặp lại quá trình trên ...

Mặc dù mô hình này hoạt động, nó vẫn cần phải thiết kế lại để phục vụ đợc nhiều ngêi trong cïng 1 lóc. Web server cã xu híng tận dụng u điểm của 2
phơng pháp khác nhau để giải quyết vấn đề này: đa tiểu trình (multi-threading)
hoặc đa tiến trình (multi-processing) hoặc các hệ lai giữa multi-processing và
multi-threading.
b) Địa chỉ URL (Uniform Resource Locator).
Đợc sử dụng để truy xuất mọi dịch vụ thông tin của Web server từ Web
Browser. Ta cần phải chỉ rõ loại giao thức, địa chỉ hay tên số port của loại dịch vụ
đó. Trên các trình duyệt web, thông tin này đợc xác định bằng địa chỉ URL với
dạng tổng quá sau: Method://Host.Subdomain.Domain/
+ Method: cho biết loại dịch vụ đợc sử dụng. Ví dụ nh http ®Ĩ truy xt Web,
ftp ®Ĩ truy xt FTP, ....
+ Host.subdoamin.domain: cho biết tên hay địa chỉ IP của máy chủ cần truy
xuất. Ví dụ www.vinhuni.edu.vn hay 192.168.1.3
c) Các file tài liệu HTML là một văn bản thô(raw text).
<html>
<head> <title> WWW </title>
<head>
<body>


<a href=><b> Chào Mừng đến với Website của
trờng Đại học Vinh</b></a>
</b>


<body>
</html>
1.2.3. Web Client
Là những chơng trình duyệt web ë phÝa ngêi dïng, nh Mozila Firefox,
Internet Explorer, ... để hiển thị những thông tin trang web cho ngời dùng.
Web client sẽ gửi yêu cầu đến Web server. Sau đó, đợi Web server xử lý
trả kết quả về cho Web client hiển thị cho ngời dùng. Tất cả mọi yêu cầu đều đợc

xử lý bởi Web server.
Nguyễn Võ Dũng

Trang 13


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
1.2.4. Web tĩnh
Các website thuở ban đầu chỉ bao gồm các trang web tĩnh dới dạng các tệp
HTML, tất cả những gì cần hiển thị trên trang web thì ngời thiết kế phải tạo
sẵn trên trang đó. Các trang web tĩnh có đuôi là .htm hoặc .html.
Trang web sau đó sẽ đợc lu trên Web server. Khi ngời dùng muốn xem
trang web này họ sẽ dùng trình duyệt gửi một yêu cầu đến server bằng cách gõ
vào địa chỉ URL ví dụ : http://localhost/index.html
Lúc này Web server nhận đợc yêu cầu sẽ tìm trong kho dữ liệu của nó
trang web index.html t¬ng øng råi gưi vỊ cho client, sau đó trang web này sẽ đợc hiển thị ra bởi trình duyệt.
1.2.5. Web động
Các trang web tĩnh tuy tiện lợi nhng không đáp ứng nhu cầu của ứng dụng
web, đặc biệt là những tơng tác giữa client và web server. Để giải quyết vấn đề
này ngời ta đà sử dụng các ngôn ngữ lập trình web để hỗ trợ tơng tác giữa client
và web server. Chúng là những tệp có chứa mà lập trình, có thể tạo ra các trang
web ®éng, cho phÐp tr¶ vỊ client trang web cã néi dung thay đổi linh động ứng
với ngữ cảnh cụ thể, thu thập những phản hồi với thông tin mà ngời dùng gửi lên
server (thông qua URL), truy cập cơ sở dữ liệu
Một số ngôn ngữ lập trình web động phổ biÕn PHP, ASP, …
1.3. Tỉng quan vỊ Mail
1.3.1. Kh¸i niƯm về th điện tử
Th điện tử là một thông điệp gửi từ máy tính này sang máy tính khác trên
mạng mang nội dung cần thiết từ ngời gửi đến ngời nhận. Do th điện tử gửi qua
lại mạng và sử dụng tín hiệu điện vì vậy tốc độ truyền rất nhanh. Ngoài ra bạn có

thể nhận và gửi th riêng hoặc các bức điện giao dịch với các tệp đính kèm nh
hình ảnh, tài liệu và thậm chí là các chơng trình,
Th điện tử (Electronic Mail hay E-Mail) còn đợc gọi tắt mail là cách gửi
th rất phổ biến. Nhờ sự phát triển mạnh mẽ của internet con ngời có thể gửi th tới
các quốc gia trên thế giới.
1.3.2. Những giao thức mail
Hệ thống mail đợc xây dựng dựa trªn mét sè giao thøc sau :
- SMTP (Simple Mail Transfer Protocol)
- POP (Post Office Protocol)
Ngun Vâ Dịng

Trang 14


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nÒn Linux
- MIME (Multipurpose Internet Mail Extensions)
- IMAP (Internet Mail Access Protocol)
1.3.2.1.
Giao thøc SMTP (Simple Mail Transfer Protocol)
SMTP lµ giao thức tin cậy thuộc bộ giao thức TCP/IP chịu trách nhiệm
phân phát mail giữa các máy tính trên mạng. Nó chuyển mail trực tiếp từ hệ
thống mạng này sang hệ thống mạng khác. Giao thức SMTP đợc cung cấp bởi
giao thøc TCP, nã sư dơng cỉng (port) 25. Giao thøc SMTP chỉ có thể truyền
dạng văn bản ASCII. Nó không thể trao đổi phông, màu, đồ họa hoặc các dữ liệu
đính kèm. Để có thể gửi và nhận các mục trên cần một giao thức khác gọi là
MIME
Để sử dụng tËp lƯnh cđa SMTP ta dïng lƯnh telnet theo port 25 trên hệ
thống ở xa sau đó gởi mail thông qua cơ chế dòng lệnh.
1.3.2.2.
Giao thức POP3 (Post Office Protocol version 3)

Giao thøc POP chun mail tíi Mail Server thay cho hệ thống phân phát
mail trực tiếp. Mail sau đó đợc chuyển từ Mail Server tới máy trạm khi máy trạm
kết nối mạng trở lại.
Có hai phiên bản của POP:
+ POP2: sư dơng port 109.
+ POP3: sư dơng port 110.
POP3(Post Office Protocol version 3) chạy trên một máy chủ kết nối mạng
và nhận mail. Máy chủ POP3 lu trữ các th tín mà nó nhận. Nếu không có POP3
các th tín sẽ không gửi đi khi nơi nhận không kết nối mạng. Nhng với POP3, các
th tín sẽ lu trữ tạm thời trên nó. Khi ngời dùng kết nối tới máy chủ POP3, nó sẽ
đáp ứng các th tín mà nó lu trữ. Từ đó ngời dùng có thể đọc mail từ các máy tính
cá nhân mà cài đặt chơng trình đọc mail.
1.3.2.3.
Giao thức IMAP (Internet Message Access Protocol)
IMAP cung cấp chứng năng ngụy trang client/server cho trao đổi mail.
IMAP lu trữ mail trên mail server. POP3 yêu cầu phải tải về trớc khi đọc nhng
IMAP thì không, nó luôn lu trữ mail cố định trên mail server cho tới khi bị xóa.
IMAP mặc định sử dụng cổng 143

Nguyễn Võ Dòng

Trang 15


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux

1.3.3. Những thành phần trong hệ thống mail
Hệ thống mail phải có ít
nhất hai thành phần:
Mail Server và Mail

client.
Mail Gateway: máy kết nối giữa các
mạng dùng các giao thức truyền thông
khác nhau dùng chung giao thức.
Mail Host: là máy giữ vai trò máy chủ
mail chính trong hệ thống mạng.
Mail Server: chứa mailbox của ngời dùng.
Mail Client: là những hệ thèng mµ nã cho
phÐp tËp tin mail spool cđa user đợc đọc
thông qua cơ chế mount.

1.3.4. Những chơng trình mail
1.3.4.1.
MUA (Mail User Agent)
Chơng trình mà ngời dùng sử dụng để gửi và nhận mail đợc gọi là MUA
(Mail User Agent). MUA cũng đợc gọi là máy khách mail (mail client) mà ngời
dùng sử dụng để viết và đọc mail. Hai loại MUA có sẵn là: Giao diện đồ họa
GUI (graphical user interface), giống nh Netcape Messenger, Thunderbird, và
giao diện dòng lệnh, giống nh Pine.
1.3.4.2.
MTA (Mail Transfer Agent)
MTA là máy chủ mà gửi và nhận mail. MTA nhận các thông báo từ MUA.
MTA đọc thông tin trong phần to của mail và xác định địa chỉ IP của máy chủ
mail recipient. Khi MTA cố gắng để kết nối đến máy chủ recipient qua một cổng
giao tiếp, mặc định là cổng 25. Nếu MTA trên máy đang gửi có thể thiết lập kết
nối, MTA sẽ gửi thông báo đến máy chủ recipent qua giao thức SMTP.
1.3.4.3.
MDA (Mail Delivery Agent)
MDA là công cụ mà trợ giúp ngời dùng phân phát e-mail đến hộp mail.
Sau khi MDA nhận thông báo từ MTA, nó chuyển các th tín đến hộp mail của

ngời nhận.
1.3.5. Hoạt động cđa Mail Server
Ngun Vâ Dịng
Trang 16


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux

Mỗi một mail có một chuỗi các header để bảo cho mail server làm cái gì
với nó và nơi để gửi nó. Vì thế khi ngời dùng tạo mail cần phải tạo địa chỉ cho
mail đó. Mail Client(MUA) cần phải kết nối tới Mail Server (MTA) và liên hệ
với mail server qua cổng 25. Sau khi máy chủ đà nhận mail từ client và đặt nó
trong hàng đợi mail (mail queue). Đầu tiên, máy chủ mail(SMTP server) cần tìm
địa chỉ để gửi mail. Máy chủ mail thực hiện lấy phần đuôi của địa chỉ mail sau kí
tự @. Phần đuôi này chính là tên miền đầy đủ. Máy chủ mail sau đó sử dụng máy
chủ DNS để truy vấn miền nơi xa và hỏi địa chỉ để gửi mail.
Máy chủ mail truy vấn một loại bản ghi DNS đặc biệt gọi là bản ghi MX.
Truy vấn bản ghi MX trả lại một hoặc hơn các mục và thông báo địa chỉ máy chủ
mail để gửi e-mail, luôn luôn chỉ định một tên máy hoặc địa chỉ IP. Nếu có hơn
một máy chủ mail, một u tiên cũng hồi đáp bảo cho máy chủ mail nhập mục nào
đợc sử dụng đầu tiên và sau đó cái thứ hai, vân vân.
Máy chủ mail sau đó trình mail bên ngoài đến một hàng đợi khác, và từ đó
nó gửi tới máy chủ mail đích. Để làm cái này, nó cố gắng để kết nối qua TCP
cổng 25(SMTP). Máy chủ mail sau đó trình tuần tự để xem có thể phân phát đợc
e-mail nh sau:
1. Nếu một máy chủ mail nhận(POP3/IMAP server) đáp ứng, nó sẽ cố gắng
trình mail.
Nguyễn Võ Dũng

Trang 17



Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux
2. Nếu máy chủ mail nhận không đáp ứng, máy chủ mail gửi đến máy chủ
mail nhận tiếp theo trong bản ghi MX một cách tuần tự.
3. Nếu không cã m¸y chđ mail nhËn, m¸y chđ mail gưi sÏ luôn đợi và cố
gắng làm lại.
4. Nếu sau đó các lỗi tiếp tục, mail vẫn không đợc phân phát, máy chủ mail
sẽ báo cáo lỗi đến ngời dùng qua mail.

CHƯƠNG 2: CàI ĐặT Và CấU HìNH Hệ THốNG MáY CHủ
2.1. Giíi thiƯu hƯ thèng m¸y chđ DNS, Web, Mail
Mét hƯ thống mạng hoàn chỉnh có mô hình sau:

Nguyễn Võ Dũng

Trang 18


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nỊn Linux

HƯ thèng m¸y chđ DNS, Web, Mail gióp ngêi dïng trong tỉ chøc, doanh
nghiƯp giao tiÕp víi nhau vµ với đối tác. DNS Server có trách nhiệm phân giải
toàn bộ máy tính trong hệ thống và truy vấn ra ngoài internet. Web Server giúp
giới thiệu, quảng bá, đa thông tin đến với ngời dùng. Mail Server giúp trao đổi
thông tin giữa những ngời dùng trong hệ thống, đối tác và những ngời dùng bên
ngoài.
Hệ thống máy chủ DNS, Web, Mail giao tiếp với bên ngoài, do đó dễ bị tin
tặc tấn công. Để tránh ảnh hớng toàn bộ hệ thống mạng các máy chủ DNS, Web,
Mail thờng đợc đa vào một vùng hệ thống riêng(DMZ).


Nguyễn Võ Dũng

Trang 19


Xây dựng hệ thống máy chủ DNS, Web, Mail trên nền Linux

Thông số cấu hình hệ thống
Chúng ta sử dụng hệ điều hành Red Hat Enterprise Linux 5 làm máy chủ
cho hệ thống vùng DMZ. vinhuni.edu.vn đợc sử dụng làm tên miền cho hệ
thống mạng.
Dải địa chỉ từ 192.168.1.1 -192.168.1.10/24 đợc sử dụng cho các máy chủ
trong hệ thống mạng.
Hostname OS
IP address
Chó thÝch
srv-dns
Redhat Linux Enterprise 5 192.168.1.2/24
DNS server
srv-web
Redhat Linux Enterprise 5 192.168.1.3/24
WEB server
srv-mail
Redhat Linux Enterprise 5 192.168.1.4/24
Mail server
2.2. DNS Server-Bind
2.2.1. Giới thiệu Bind
BIND(Berkeley Internet Name Domain) là phần mềm DNS Server đợc sử
dụng nhiều nhất nhất trên thế giới hiện nay. Một chơng trình phục vụ DNS trên

nền hệ thống AIX/Unix/Linux.
BIND chạy nhanh, hiệu suất cao, đáp ứng số lợng lớn ngời dùng, cấu hình
linh hoạt.
2.2.2. Cài đặt BIND
Chúng ta cần cài đặt các package sau:
Nguyễn Võ Dũng

Trang 20



×