TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG VÀ TRUYỀN THÔNG
BÀI TẬP LỚN CHUYÊN ĐỀ 2
Đề tài:
Tìm hiểu và khai thác dịch vụ quản trị
mạng NFS và NIS
Sinh viên : Hoàng Tiến Sơn
Nguyễn Trần Đình Trọng
Lớp : 07T4
Cán bộ hướng dẫn: Nguyễn Tấn Khôi
Đà Nẵng 2010
4 Bộ môn Mạng và Truyền Thông
MỤC LỤC
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 7
1.1. TỔNG QUAN VỀ NIS VÀ NFS 7
i. Network Information Service Operation (NIS) 7
ii. Network File System Design and Operation 8
CHƯƠNG 2. CÀI ĐẶT VÀ CẤU HÌNH NFS, NIS 10
2.1. CÀI ĐẶT VÀ CẤU HÌNH NFS 10
a) Cài đặt và cấu hình NFS, trình bày ứng dụng NFS 10
ii. Cài đặt và cấu hình cho máy server 10
iii. Cài đặt và cấu hình cho máy client 12
2.2. CÀI ĐẶT VÀ CẤU HÌNH NIS 16
a) Cài đặt và cấu hình NIS server 16
a) Cài đặt và cấu hình Nis Client 22
ii. Triển khai thư mục cá nhân cho mỗi user về máy cục bộ 25
CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 27
3.1. MÔI TRƯỜNG TRIỂN KHAI 27
3.2. KẾT QUẢ TRIỂN KHAI 27
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 5
DANH MỤC HÌNH VẼ
t.Chỉnh sửa yp.conf 18
z.Tạo user 22
bb.Cài đặt NIS chô Client 22
cc.Đặt lại tên cho domain 22
dd.Chỉnh sửa file passwd 23
ee.Chỉnh sửa file group 23
ff.Chỉnh sửa file shadow 24
gg.Chỉnh sửa yp.conf 24
hh.Khởi động lại nis 25
ii.Khởi động lại hoàn tất 25
jj.Edit file exports 25
kk.Khởi động lại dịch vụ nfs 26
Hoàng Tiến Sơn – 07T4
6 Bộ môn Mạng và Truyền Thông
TỔNG QUAN VỀ ĐỀ TÀI
1. Bối cảnh và lý do thực hiện đề tài
Trong khuôn khổ bộ môn Chuyên đề 2, nghiên cứu về hệ thống mạng
Linux. Nhằm giúp sinh viên làm quen và tìm hiểu sâu về hệ thống Linux, mỗi
nhóm sinh viên cần thực hiện một đề tài thể hiện sự nghiên cứu và quá trình học
tập của mình. Vì vậy trong khuôn khổ bài tập lớn bộ môn, nhóm chúng em đã
chọn đề tài: “Tìm hiểu và khai thác dịch NFS và NIS trên nền hệ điều hành
Ubuntu” theo sự gợi ý của thầy giáo Nguyễn Tấn Khôi, nhằm hiểu sâu hơn về
hệ thống mạng Linux.
2. Phương pháp triển khai đề tài
Các bước triển khai đề tài theo đúng kế hoạch:
1. Tìm kiếm tài liệu
2. Đọc và chọn lọc tài liệu
3. Viết đề cương nghiên cứu, tổng quan tài liệu
4. Triển khai nghiên cứu
5. Triển khai ứng dụng minh họa
6. Viết báo cáo kết quả
3. Kết cấu của bài tập
Bài tập bao gồm các phần chính:
Phần giới thiệu đầu về đề tài, bối cảnh
Chương 1: Cơ sở lý thuyết
Chương 2: Cài đặt và cấu hình NFS, NIS
Chương 3: Triển khai và đánh giá kết quả
Phần cuối: Tài liệu tham khảo và các phụ lục
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 7
Chương 1. CƠ SỞ LÝ THUYẾT
1.1. TỔNG QUAN VỀ NIS VÀ NFS
i. Network Information Service Operation (NIS)
Network Information Services (NIS) : Cho phép bạn tạo tài khoản người
dùng có thể chia sẻ trên tất cả các hệ thống trên mạng. Các tài khoản người dùng
được tạo ra chỉ trên máy chủ NIS. NIS client muốn download dữ liệu cần phải có
username và passwords từ máy chủ NIS để có thể đăng nhập vào sever.
Một lợi thế của NIS là người sử dụng cần phải thay đổi mật khẩu của mình
duy nhất trên máy chủ của NIS, thay vì mỗi hệ thống trên mạng. Điều này làm cho
NIS phổ biến trong các phòng thí nghiệm đào tạo máy tính, các dự án phát triển
phần mềm hoặc là giải pháp cho nhóm người đã chia sẻ nhiều máy tính khác
nhau.
Nhưng nhược điểm đó là NIS không mã hóa các thông tin tên người dùng và
mật khẩu khi các máy client đăng nhập và tất cả người dùng có thể truy cập các
mật khẩu mã hóa được lưu trữ trên máy chủ của NIS.
Một vấn đề lớn trong việc điều hành một môi trường máy tính là việc bảo trì
riêng biệt các bản copies của file cấu hình thông thường như password, group, và
hosts files. Tốt nhất, mạng phải nhất quán trong cấu hình của nó, do đó người
dùng không phải bận tâm về nơi cất dấu tài khoản của họ hoặc nếu họ có thể tìm
thấy một máy tính khác trên mạng. Mỗi tập tin này phải được nhân bản để mỗi
máy chủ lưu trữ trên mạng. Trong môi trường mạng nhỏ (Lan chỉ chứa vài máy),
thì việc này có vẻ đơn giản, nhưng trong môi trường mạng lớn với hàng trăm,
nghìn máy thì để làm việc này thủ công là việc vô cùng khó khăn.
Các hệ thống thông tin mạng NIS là địa chỉ của vấn đề này. Đây là một hệ
cơ sở dữ liệu phân tán. Thay vì phải quản lý các file của mỗi máy chủ lưu trữ (như
/ etc / hosts, / Etc / passwd, / etc / group, / etc / ethers, vv), bạn duy trì một cơ sở
dữ liệu cho mỗi tập tin trên một trung tâm máy chủ. Máy được sử dụng NIS lấy
thông tin khi cần thiết từ những cơ sở dữ liệu. Khi thêm một hệ thống mới vào
mạng, chỉ cần sửa đổi một tập
tin trên một máy chủ trung tâm và thông báo thay đổi này với phần còn lại
của mạng, hơn là thay đổi các tập tin host cho mỗi máy chủ lưu trữ cá nhân trên
mạng. Đối với một mạng lưới của hai hoặc ba hệ thống, sự khác biệt có thể không
quan trọng, nhưng đối với một mạng lưới rộng lớn với hàng trăm hệ thống, NIS là
giải pháp tối ưu.
Vì NIS có quan điểm nhất quán về các tập tin trên mạng, nó phù hợp cho
các tập tin không có thông tin host- cụ thể. Các tập tin là như nhau trên tất cả các
host trong một mạng, như /etc/passwd và /etc/hosts phù hợp với mô hình NIS của
một phân phối cơ sở dữ liệu. Ngoài việc quản lý tập tin cấu hình, NIS có thể được
sử dụng cho bất kỳ tập tin dữ liệu chung mà truy cập vào một hoặc nhiều lĩnh vực
quan trọng.
NIS được xây dựng trên mô hình client-server. Một server NIS là một host
mà chứa các file dữ liệu NIS, gọi là maps. Client là những host truy vấn thông tin
từ các maps này. Server phải phân chia nhiều hơn nửa để quản lý và phục vụ tích
Hoàng Tiến Sơn – 07T4
8 Bộ môn Mạng và Truyền Thông
cực. Các máy chủ (master server) là chủ thực sự của các maps dữ liệu. Slave NIS
xử lý các yêu cầu của client, nhưng chúng không thay đổi các NIS maps. Các máy
chủ chịu trách nhiệm tổng thể cho tất cả các map bảo dưỡng và phân phối đến các
máy chủ slaver của nó. Khi một NIS map được xây dựng trên máy chủ có 1 sự
thay đổi, các tập tin map mới này được phân phối cho các máy slave server. Các
máy NIS client "nhìn thấy" những thay đổi này khi thực hiện truy vấn trên các tập
tin map, không phân biệt là nó đang giao tiếp với master server hay là slave
server, vì khi các map được phân phối thì tất cả các máy server đều nhận được
thông tin như nhau.
Mối quan hệ giữa các máy slave, master và client:
ii. Network File System Design and Operation
NFS(Network File System) là giao thức chia sẻ phổ biến trên UNIX. Nó
cho phép mount một thư mục trên một máy tính từ xa vào một thư mục cục bộ.
Ví dụ trong các hệ thống cluster, thư mục /home thường được đặt trên một NFS
server và tất cả các node mount thư mục này về /home cục bộ. Điều đó cho
phép chúng ta có một cái nhìn nhất quán về thư mục chủ, mọi người dùng khi
log-in vào bất cứ node nào cũng truy cập được vào thư mục chính của mình.
Giống như NIS, NFS được thực hiện như một bộ các thủ tục RPC sử dụng
dữ liệu ngoài Data Representation (XDR) mã hóa để vượt qua các đối số giữa máy
khách và máy chủ. Một hệ thống tập tin gắn kết bằng NFS cung cấp hai mức độ
minh bạch:
hệ thống tập tin này sẽ xuất hiện để được cư trú trên một ổ đĩa gắn liền
với hệ thống local, và tất cả hệ thống tập tin mục - tập tin và thư mục -
được xem cùng một cách, cho dù local hay remote. NFS ẩn vị trí của tập
tin trên mạng.
NFS gắn hệ thống tập tin không chứa thông tin về các file server từ đó
chúng được gắn kết. Các máy chủ NFS có thể là của một kiến trúc khác
nhau hoặc chạy
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 9
hệ điều hành hoàn toàn khác với một cấu trúc hệ thống tập tin hoàn toàn
khác nhau.
Cấu trúc NFS đầu tiên đạt được mức độ minh bạch bằng cách định nghĩa một
tập hợp các hoạt động chung của hệ thống tập tin được thực hiện trên một hệ thống
tập tin ảo (VFS). Cấp độ thứ hai xuất phát từ định nghĩa của các nút ảo, trong đó
có liên quan đến hệ thống tập tin inode quen thuộc hơn cấu trúcUnix
nhưng ẩn cấu trúc thực tế của hệ thống tập tin vật lý bên dưới chúng. Các thiết lập
của tất cả thủ tục có thể được thực hiện trên các tập tin là định nghĩa giao diện
vnode. Các vnode và VFS (Virtual File System) chi tiết kỹ thuật cùng nhau xác
định các giao thức NFS.
Hoàng Tiến Sơn – 07T4
10 Bộ môn Mạng và Truyền Thông
Chương 2. CÀI ĐẶT VÀ CẤU HÌNH NFS, NIS
2.1. CÀI ĐẶT VÀ CẤU HÌNH NFS
a) Cài đặt và cấu hình NFS, trình bày ứng dụng NFS
NFS(Network File System) là giao thức chia sẻ phổ biến trên UNIX. Nó
cho phép mount một thư mục trên một máy tính từ xa vào một thư mục cục bộ.
Ví dụ trong các hệ thống cluster, thư mục /home thường được đặt trên một NFS
server và tất cả các node mount thư mục này về /home cục bộ. Điều đó cho
phép chúng ta có một cái nhìn nhất quán về thư mục chủ, mọi người dùng khi
log-in vào bất cứ node nào cũng truy cập được vào thư mục chính của mình.
ii. Cài đặt và cấu hình cho máy server
• Cài đặt các gói phần mềm
Ở chế độ root trong terminal lần lượt cài đặt:
apt-get install nfs-kernel-server
a.
apt-get install portmap nfs-common
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 11
b.
apt-get install nfs-common
c.
• Xác định thư mục cần chia sẻ
Tạo mới thư mục để chia sẻ file:
d.
Sử dụng file exports để xác định thư mục cần share (Ở đây là thư mục
Share)
Trong Terminal, gõ nano /etc/exports để chỉnh sửa file
e.
Hoàng Tiến Sơn – 07T4
12 Bộ môn Mạng và Truyền Thông
Ở trong file exports vừa mở chỉ đường dẫn tới thư mục cần share và kèm
theo phân quyền:
f.
VD:
/home/hoangson/Desktop/Data *(rw,sysc) : chia sẽ thư mục data, cho phép
đọc/ghi từ bất cứ mạng nào.
/home/hoangson/Desktop/Data 192.168.1.0/24(ro,sysc) : chia sẽ thư mục data,
cho phép chỉ đọc từ đường mạng 192.168.1.0.
/home/hoangson/Desktop/Data 192.168.1.100/24(rw,sysc,no_subtree_check) :
chia sẽ thư mục data, cho phép đọc/ghi từ máy 192.168.1.100.
Khởi động lại dịch vụ NFS Server: sudo /etc/init.d/nfs-kernel-server restart
g.
iii. Cài đặt và cấu hình cho máy client
• Cài đặt
Trên máy client, trong terminal đăng nhập quyền root cài đặt:
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 13
apt-get install nfs-common
h.
• Tạo thư mục mount point :
mkdir /home/htson/Desktop/recevoir
i.
• Mount thư mục được share trên Server về
client
mount 192.168.1.32:/home/hoangson /Desktop/Share
/home/htson/Desktop/server
Kết quả sau khi thực hiện:
Hoàng Tiến Sơn – 07T4
14 Bộ môn Mạng và Truyền Thông
j.
Trên Desktop của Client (htson) sẽ có thư mục server. Trên Server muốn chia
sẽ dữ liệu gì cho Client (htson), chỉ cần copy dữ liệu bỏ vào thư mục
/home/hoangson/Desktop/Data thì trên Desktop của Client, trong thư mục
/home/htson/Desktop/recevoir sẽ có dữ liệu.
k.
Sử dụng lệnh mount như trên, khi client khởi động lại sẽ không thấy dữ liệu,
phải mount lại.
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 15
l.
Để khắc phục nhược điểm mỗi khi client khởi động lại bị mất mount, bạn nên
mount tự động từ phía Client. Mở file /etc/fstab để cấu hình.
Trong Terminal, gõ #nano /etc/fstab
m.
Thêm vào dòng thông số tương tự như lệnh mount. Sau đó khởi động lại máy
để kiểm tra.
n.
Kết quả :
Hoàng Tiến Sơn – 07T4
16 Bộ môn Mạng và Truyền Thông
o.
2.2. CÀI ĐẶT VÀ CẤU HÌNH NIS
a) Cài đặt và cấu hình NIS server
• Cài đặt
Sử dụng lệnh: sudo apt-get install portmap nis
p.
Bước tiếp theo là đặt tên cho domain, ở đây chúng ta đặt: “NIS_ubuntu”
rồi sau đó nhấn Enter:
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 17
q.
Thiết lập Domain cho NIS
Kết thúc quá trình cài đặt:
r.
• Để biến NIS thành 1 sever ta tiến hành tùy chỉnh file /etc/default/nis.
Dùng lệnh : nano /etc/default/nis
Và chỉnh sửa dòng NISSERVER thành NISSERVER = master
Hoàng Tiến Sơn – 07T4
18 Bộ môn Mạng và Truyền Thông
s.
• Cấu hình yp.conf trong /etc
Dùng lệnh : nano /etc/yp.conf
Sau đó thêm dòng sau vào yp.conf
t. Chỉnh sửa yp.conf
• Thêm các Domain thành viên
Ta sử dụnglệnh: nano /etc/ypserv.securenets
Thêm các domain vào :
host 192.168.1.1
host 192.168.1.72
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 19
Nếu để mặc định là 0.0.0.0 là tất cả mọi người có thể truy cập vào NIS
sever:
u.
• Khởi động lại NIS để cập nhật các tùy chỉnh mới
Dùng lệnh:
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nis restart
v.
• Kiểm tra các thành phần NIS đã hoạt động hay chưa
Dùng lệnh : rpcinfo –p localhost
Hoàng Tiến Sơn – 07T4
20 Bộ môn Mạng và Truyền Thông
w.
Xem các tiến trình đang hoạt động
• Thiếp lập NIS DOMAIN
Sử dụng lệnh ypinit để tạo ra các tập tin xác thực liên quan cho các tên
miền. Bạn sẽ được nhắc nhập tên của máy chủ NIS, ở đây là “hoangson”.
Với thủ thuật này, tất cả tài khoản nonprivileged (không phải admin) sẽ tự
động truy cập thông qua NIS.
root@ubuntu:~# /usr/lib/yp/ypinit –m
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 21
x.
y.
• Tạo User
Hoàng Tiến Sơn – 07T4
22 Bộ môn Mạng và Truyền Thông
z. Tạo user
Sau đó chuyển về thư mục /var/yp và dùng lệnh make để cập nhập user
mới tạo vào Database của NIS Server
aa.
a)
Cài đặt và cấu hình Nis Client
1. Cài đặt NIS theo các bước như 1 và 2 của NIS sever
bb.Cài đặt NIS chô Client
Bạn có thể dặt lại tên cho Domain bằng cách thay đổi ở /etc/defaultdomain
cc. Đặt lại tên cho domain
2.Thiết lập tên dịch vụ để sử dụng NIS
Chỉnh sửa /etc/passwd để thêm 1 dòng tại vị trí cuối:
+::::::
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 23
dd.Chỉnh sửa file passwd
Chỉnh sửa /etc/group để thêm 1 dòng tại vị trí cuối:
+:::
ee. Chỉnh sửa file group
Chỉnh sửa /etc/shadow để thêm 1 dòng tại vị trí cuối:
+::::::::
Hoàng Tiến Sơn – 07T4
24 Bộ môn Mạng và Truyền Thông
ff. Chỉnh sửa file shadow
Điều này thiết lập các dịch vụ bao gồm các mục NIS nếu 1 kết nối phù hợp
không được tìm thấy trong file. Bạn có thể thay đổi các dịch vụ khác để sử
dụng NIS bằng cách dùng NIS service trong /etc/nsswitch.conf.
4. Chỉnh sửa file /etc/yp.conf và thêm vào dòng:
ypserver 192.168.1.200
gg.Chỉnh sửa yp.conf
Tại vị trí 192.168.1.200 là NIS server
5. Khởi động NIS:
/etc/init.d/nis restart
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 25
hh.Khởi động lại nis
ii. Khởi động lại hoàn tất
ii. Triển khai thư mục cá nhân cho mỗi user về máy cục bộ
Chúng ta sẽ triển khai dịch vụ auto mount để tự động mount thư mục cá
nhân tên NIS server về máy client, khi user logon. Gói cài đặt cần thiết là NFS
đã được cài đặt ở trên.
• Trên máy NIS server
Mở file /etc/exports thêm dòng /home * (rw,sync)
jj. Edit file exports
Khởi động lại dịch vụ NFS Server: sudo /etc/init.d/nfs-kernel-server restart
Hoàng Tiến Sơn – 07T4
26 Bộ môn Mạng và Truyền Thông
kk. Khởi động lại dịch vụ nfs
• Trên máy client:
Mở file /etc/auto.master, thêm vào dòng cuối cùng
/home /etc/auto.home –timeout 300
Tạo mới file /etc/auto.home có nội dung sau:
* -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp
192.168.9.17:/home/&
Khởi động lại dịch vụ autofs bằng lệnh service autofs restart
Lúc này logon vào máy 2 sẽ thấy thư mục cá nhân của mỗi user.
Hoàng Tiến Sơn – Nguyễn Trần Đình Trọng 07T4
Giao tiếp giữa hai tiến trình dùng hàng đợi thông điệp 27
Chương 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
3.1. MÔI TRƯỜNG TRIỂN KHAI
Cài đặt và cấu hình NFS và NIS trên nền hệ điều hành Ubuntu 10.10
3.2. KẾT QUẢ TRIỂN KHAI
Quá trình triển khai đã đáp ứng được yêu cầu tìm hiểu của đề tài nhưng vẫn
còn nhiều thiết sót. Nhất là một số chức năng chưa thực sự hoạt động:
• Mount tự động từ máy client
• Các chức năng của NIS chưa thực hiện được như mong muốn
Hoàng Tiến Sơn – 07T4