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
Trang 1BỘ MÔN MẠNG VÀ TRUYỀN THÔNG
Trang 2MỤ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
Trang 3DANH 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
Trang 4TỔ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
Trang 5Chươ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
Trang 6cự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
Trang 7hệ đ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úcUnixnhư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
Trang 8Chươ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
Trang 10Ở 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:
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
Trang 11apt-get install nfs-common
Trang 12Trê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
Trang 13Để 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
Trang 142.2 CÀI ĐẶT VÀ CẤU HÌNH NIS
a) Cài đặt và cấu hình NIS server
Trang 17Nế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
Trang 18Xem 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
Trang 19y.
• Tạo User
Trang 20z 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:
+::::::
Trang 21dd 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:
+::::::::
Trang 22ff 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:
Trang 23hh 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
Trang 24kk 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
Trang 25Chươ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
Trang 26TÀI LIỆU THAM KHẢO
[1] O’Reilly Managing NFS and NIS
[2] Các tài liệu tìm được trên mạng
[3] Nguồn tài liệu tham khảo từ
http://nfs.sourceforge.net/
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch30_:_Configuring_NIS
http://www.linuxconfig.org/HowTo_configure_NFS