Tải bản đầy đủ

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

Môc lôc

NguyÔn Vâ Dòng

Trang 1


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.

Nguyễn Võ Dũng

Trang 2



lời nói đầu
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:
Nguyễn Võ Dũng

Trang 3


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
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
Nguyễn Võ Dũng

Trang 4


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ự.

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:
Nguyễn Võ Dũng

Trang 5


.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 thuộc 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
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.
Nguyễn Võ Dũng

Trang 6


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
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 (NASAs 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:
Nguyễn Võ Dũng

Trang 7


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ờ.
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
Nguyễn Võ Dũng

Trang 8


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:
Nguyễn Võ Dũng

Trang 9


[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à
http://www.vnn.vn/.
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
Nguyễn Võ Dũng

Trang 10


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).
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.
Nguyễn Võ Dũng

Trang 11


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:
http://www.vinhuni.edu.vn 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.
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 xuất Web,
ftp để truy xuất 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).
Nguyễn Võ Dũng

Trang 12



WWW



Chào Mừng đến với Website của
trờng Đại học Vinh





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.
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
Nguyễn Võ Dũng

Trang 13


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)
- 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
Nguyễn Võ Dũng
Trang 14


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 chuyển 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


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)
Nguyễn Võ Dũng

Trang 16


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

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
Nguyễn Võ Dũng

Trang 17


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.
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.

Nguyễn Võ Dũng

Trang 18


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:

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


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
srv-dns
srv-web
srv-mail
2.2.

OS
Redhat Linux Enterprise 5
Redhat Linux Enterprise 5
Redhat Linux Enterprise 5

IP address
192.168.1.2/24
192.168.1.3/24
192.168.1.4/24

Chú thích
DNS server
WEB server
Mail server

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.
Nguyễn Võ Dũng

Trang 20


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:
bind-utils-x-x.rpm
bind-libs-x-x.rpm
bind-9.3.3-x.*.rpm
caching-nameserver-x-x.rpm

2.2.3. Cấu hình DNS Server
2.2.3.1.

Cài đặt tên máy

Soan thảo tệp tin /etc/hosts
Đợc sử dụng để chỉ xác định tên máy gắn liền với địa chỉ IP cụ thể

2.2.3.2.

Cấu hình IP

Soạn thảo tệp tin /etc/systemconfig/network-scripts/ifcfg-eth0 với nội dung
sau:
Nguyễn Võ Dũng

Trang 21


Đăng ký tên miền:
Soạn thảo tệp tin /etc/resolv.conf để xác định vị trí máy chủ DNS và tên
miền mà DNS client thuộc. Sử dụng tên miền vinhuni.edu.vn trỏ đến địa chỉ
192.168.1.2
domain

vinhuni.edu.vn

nameserver 192.168.1.2
2.2.3.3.

Cấu hình named.conf

/etc/named.conf là tệp tin cấu hình chính cho máy chủ DNS. Nó đợc sở
hữu bởi ngời dùng named bởi vì dịch vụ named đợc chạy bởi nó. Quyền sở hữu
tệp /etc/named.conf chỉ cho phép ngời sở hữu có thể đọc và viết tệp (ngời dùng
root cũng có quyền sửa đổi).
Để thêm các dòng chú thích đến tệp named.conf, các phơng pháp sau thì
có thể:
/*This is a comment. */
//This is a comment.
#This is a comment.
a) Khai báo danh sách địa chỉ mạng
Khai báo danh sách địa chỉ mạng không sử dụng:
Nguyễn Võ Dũng

Trang 22


acl black-hats {
0.0.0.0/8;
1.0.0.0/8;
2.0.0.0/8;
192.0.2.0/24;
224.0.0.0/3;
};
Khai báo danh sách mạng nội bộ
acl internals {
192.168.1.0/24;
127.0.0.0/8;
};
Các địa chỉ mạng khác
acl externals {
any;
};
b) Định nghĩa cấu hình toàn cục cho DNS Server
options {
Xác định vị trí các tập tin cơ sở dữ liệu vùng
directory /var/named;
Tập tin tiến trình
pid-file named.pid;
Danh sách mạng bi ngăn cấm
blackhole {black-hats;};
Cho phép mạng nào truy vấn DNS server
allow-query {internal;external};
Chỉ định cổng và giao diện sẽ lắng nghe
listen-on 53 {192.168.1.2;};
Nguyễn Võ Dũng

Trang 23


};
Tệp tin server kết xuất cơ sở dữ liệu
dump-file /var/named/cache_dump.db;
Tệp tin server thống kê kiểm soát dịch vụ named
statistics-file /var/named/named-stats.txt;
c) Phần định nghĩa các zone
Xây dựng Primary DNS Server do đó kiểu vùng sẽ là master. Ngoài cần tạo
vùng root với kiểu là hint. Toàn bộ cơ sở dữ liệu vùng sẽ nằm trong th mục
/var/named.
Forwarder lookup zone
Sử dụng để phân giải tên thành địa chỉ IP
zone vinhuni.edu.vn in {
type master;
file vinhuni.edu.vn.db;
};
Reverser Lookup zone
Sử dụng để phân giải địa chỉ IP thành tên.
zone 1.168.192.in-addr.arpa in {
type master;
file 1.168.192.db;
};
Reversed Lookback zone
Sử dụng địa chỉ vòng lặp để truy vấn cục bộ máy
zone 127.in-addr.arpa in {
type master;
file 127.db;
};
Root Server hint
Nguyễn Võ Dũng

Trang 24


§Ó cã thÓ truy cËp internet cÇn t¹o zone hint “.”
zone “.” in {
type hint;
file “named.ca”;
};
d) TÖp tin named.conf
acl black-hats {
0.0.0.0/8;
1.0.0.0/8;
2.0.0.0/8;
192.0.2.0/24;
224.0.0.0/3;
};
acl internals {
127.0.0.0/8;
192.168.1.0/24;
};
acl externals { any;};
options {
directory “/var/named”;
allow-query {internal;};
pid-file “named.pid”;
blackhole {black-hats;};
listen-on 53 {192.168.1.2;};
dump-file “/var/named/cache_dump.db”;
statistics-file “/var/named/named-stats.txt”;
};
NguyÔn Vâ Dòng

Trang 25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×