Upload
daodai-vu
View
58
Download
15
Embed Size (px)
Citation preview
Khoa CNTT – MH/MĐ……………………………………….. 1
MÔN HỌC/MÔĐUN: Quản Trị Mạng Linux
TÀI LIỆU THỰC HÀNH
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
1
BÀI HỌC 1
Kỹ năng đạt được
Nhận biết HDH Linux và việc cài đặt HDH này.
Các chế độ hoạt động của HDH Linux
Biết cách recovery password root bị mất.
BÀI TẬP 01
Tình huống 1
Mô tả nội dung: Bạn là một nhân viên IT của công ty LHV, hiện tại công ty bạn đang sử dụng HDH Windows Server cho toàn bộ hệ thống server của bạn. Một vấn đề đặt ra là để sử dụng HDH Windows thì công ty bạn phải trả tiền bản quyền, việc thanh tra bản quyền phần mềm đang được các cơ quan chức năng tiến hành và yêu cầu không được sử dụng phần mềm bất hợp pháp, nhưng giám đốc của bạn không muốn trả tiền cho việc mua bản quyền HDH Windows, và ông ta yêu cầu bạn tìm một HDH hành thay thế HDH Windows. Bạn được biết rằng HDH Linux là miễn phí và bạn đã chọn nó để triển khai cho hệ thống của mình. Trước khi bạn triển khai hệ thống bạn phải cài đặt được HDH Linux lên các server của công ty bạn.
Yêu cầu thực hiện: Trước tiên cài đặt HDH Linux bạn phải xác định được HDH Linux nào là ổn định, được hỗ trợ tốt và phù hợp cho việc triển khai trên các server ứng dụng. Được biết HDH Linux CentOS của hãng RedHat là HDH tốt hiện nay. Yêu cầu bạn triển khai HDH CentOS cho hệ thống server của công ty bạn.
Hướng dẫn thực hiện “step by step”:
1. Chuẩn bị ổ đĩa DVD để cài đặt CentOS và đĩa cài đặt (mua hoặc download tại website www.centos.org)
2. Kiểm tra cấu hình máy (CPU, RAM,NIC,HDD)
3. Tiến hành cài đặt (xem video demo)
Cài đặt HDH Linux.
Khắc phục sự cố bị mất password root
Tình huống 2
Mô tả nội dung: Bạn là nhân viên IT của công ty LHV, công ty bạn đang viết một phần mềm y tế (phần mềm này được viết bằng ngôn ngữ PHP). Bộ phận sale(bán hàng) sử dụng các laptop dùng HDH Windows Vista có bản quyền cài đặt phần mềm y tế để demo sản phẩm đến khách hàng( các bệnh viện và phòng mạch ), nhưng được biết phần mềm này chạy trên HDH Windows chậm hơn trên HDH Linux. Để làm cho phần mềm của mình được tối ưu khi demo với khách hàng Project Management yêu cầu
…
…
Khoa CNTT – MH/MĐ……………………………………….. 2
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
bạn cài đặt HDH Linux (Fedora) lên các laptop của những nhân viên sale mà không làm mất HDH Windows Vista họ đang sử
dụng. Các laptop này có cấu hình cao (CPU core2dual 2.8Ghz, RAM 4GB, HDD 350GB)
Yêu cầu thực hiện: Cài đặt HDH Windows Vista (XP) và Linux (Fedora) trên cùng một máy tính
Gợi ý thực hiện:
1. Backup toàn bộ data trên các máy laptop trên.
2. Dùng chương trình Hiren boot tạo một partion mới (Free) với dung lượng trên 10GB, partion này chúng ta không cần định dạng, khi tạo partion này không được làm ảnh hưởng tới HDH đang sử dụng.
3. Chèn đĩa cài đặt HDH Fedora và tiến hành cài đặt
4. Quá trình cài đặt bắt đầu chúng ta tiến hành bình thường cho đến khi yêu cầu chọn ổ đĩa để cài đặt HDH xuất hiện, chọn “create custom layout”
5. Chọn partion Free và tiến hành phân chia (/boot, /, swap).
6. Chọn HDH sẽ boot mặc định.
7. Tiến hành những thao tác còn lại cho đến khi hoàn tất quá trình cài đặt HDH Linux
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………..
……………………………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………………………….
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….………
2 BÀI TẬP 02
Tình huống 1
Mô tả nội dung: Bạn là IT của công ty LHV , bạn tiếp quản hệ thống server của công ty từ người quản trị trước, nhưng anh ta
…
…
Khoa CNTT – MH/MĐ……………………………………….. 3
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
quên không cung cấp cho bạn password root của samba server. Bạn login vào samba server để kiểm tra log của server nhưng bạn không có password root. Làm cách nào bạn có thể login vào samba sever bằng account root.
Yêu cầu thực hiện: Recovery password root của samba server (HDH CentOS)
Hướng dẫn thực hiện “step by step”:
1. Restart lại HDH
2. Khi boot loader menu xuất hiện, nhấn một phím bất kì menu chọn HDH sẽ xuất hiện.
3. Nhấn phím “e” để edit command boot
Khoa CNTT – MH/MĐ……………………………………….. 4
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
4. Thêm số “1” vào cuối dòng lệnh
5. Nhấn Enter để quay lại menu chọn HDH và nhấn “b” để reboot lại HDH, đợi quá trình boot hoàn tất, chúng ta sẽ thấy dấu
nhắc sh-2.05# xuất hiện, lúc này chúng ta đang ở trong chế độ single mode (Runlevel 1). => Đổi password root:
sh-2.05# passwd root
Nhập password mới, nhập confirm password mới
6. Sau khi change xong password => reboot lại HDH sh-2.05#init 6
Tình huống 2
Mô tả nội dung: Máy tính bạn đang sử dụng HDH Linux Fedora, bạn cho môt người nào đó sử dụng máy tính của bạn. Khi anh ta trả lại máy tính cho bạn thì bạn không thể login vào HDH bằng account root. Bạn làm cách nào để lấy lại password root.
Yêu cầu thực hiện: Recovery password root của HDH Fedora
Gợi ý thực hiện:
1. Khởi động lại HDH
2. Khi boot loader menu xuất hiện, nhấn một phím bất kì menu chọn HDH sẽ xuất hiện.
3. Nhấn phím “e” để edit command boot
…
…
Khoa CNTT – MH/MĐ……………………………………….. 5
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
4. Thêm số “1” vào cuối dòng lệnh
5. Nhấn Enter để quay lại menu chọn HDH và nhấn “b” để reboot lại HDH ở chế độ level 1 và tiến hành đổi password
6. Reboot lại HDH
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
….……………………………………………………………………………………………………………………………………………………………..
….……………………………………………………………………………………………………………………………………………………………..
….……………………………………………………………………………………………………………………………………………………………..
….……………………………………………………………………………………………………………………………………………………………..
….……………………………………………………………………………………………………………………………………………………………..
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….………
3
Kỹ năng đạt được
Quản trị hệ thống tập tin
Các chuẩn chuyển hướng
BÀI TẬP 03
Tình huống 1
Mô tả nội dung: Bạn là người mới làm quen với HDH Linux, trước tiên bạn phải thành thạo việc “Quản trị hệ thống tập tin” trên HDH Linux.
Yêu cầu thực hiện: Nắm vững chức năng và cách sử dụng các lệnh được giới thiệu trong slide bài giảng
Hướng dẫn thực hiện “step by step”:
1. Dựa vào slide bài giảng, thực hành các lệnh đã giới thiệu.
2. Dùng lệnh “man” để tìm trợ giúp khi sử dụng các lệnh trên.
Cú pháp:
#man lenh
Quản trị HDH Linux
Khoa CNTT – MH/MĐ……………………………………….. 6
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Ví dụ:
Tình huống 2
Mô tả tình huống: Bạn là admin của file server. Bạn được yêu cầu gán cho group ketoan chỉ được phép sử dụng tối đa 5GB dung lượng đĩa cứng, cảnh báo ở mức 4,5GB, sau thời gian cảnh báo 8 ngày thì dữ liệu sẽ bị xóa nếu còn vi phạm. Những user khác
Khoa CNTT – MH/MĐ……………………………………….. 7
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
chỉ được phép tối đa 20 file và thư mục, cảnh báo ở mức 15, sau thời gian 10 ngày thì dữ liệu sẽ tự động xóa nếu còn vi phạm.
Yêu cầu thực hiện: Cấu hình quota
Hướng dẫn thực hiện:
Edit file /etc/fstab: #vi /etc/fstab
Cấu hình quota:
1. Tạo file aquota.user trong thư mục /home, dùng để cấu hình xem mỗi người dùng được bao nhiêu không gian trên ổ cứng.
#touch /home/aquota.user
#touch /home/aquota.group
#chmod 600 /home/aquota.*
2. Tạo bản quota
#quotacheck -avugm
3. Phân quota cho user
#edquota –u User
4. Phân quota cho group
#edquota –g Group
5. Gán thời gian cho quota vựơt quá soft limit sẽ bị xóa data
#edquota -t
Khoa CNTT – MH/MĐ……………………………………….. 8
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Tình huống 3
Mô tả nội dung: Bạn là IT của công ty LHV, số lượng nhân viên của LHV hiện tại là 100 người, vì vậy partion lưu trữ data của samba server của không còn đủ dung lượng để đáp ứng như cầu lưu trữ dữ liệu của nhân viên, bạn được yêu cầu tăng kích thước lưu trữ của samba server.
Yêu cầu thực hiện: Add thêm một đĩa cứng vào partion lưu trữ dữ liệu.
Hướng dẫn thực hiện “step by step”:
1. Kiểm tra dung lượng data trên các partion
Nhìn hình trên chúng ta thấy partion /var (/dev/hda2) dùng 99% là partion cần được mở rộng.
2. Gán HDD vào máy tính sau đó kiểm tra các HDD, partion hiện tại và HDD mới gắn vào.
Khoa CNTT – MH/MĐ……………………………………….. 9
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Chúng ta thấy hda là HDD hiện tại chứa OS và các thành phần hệ thống, gốm các partion hda1->hda6, hdb là HDD mà chúng ta vừa thêm vào.
3. Add filesystem đến hdb
Khoa CNTT – MH/MĐ……………………………………….. 11
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
4. Tạo partion mới với cho hdb
W là thực hiện lệnh tạo partion cho hdb, q thoát khỏi lệnh.
5. Kiểm tra partion mới tạo
Partion mới tạo có tên là hdb1
6. Format partion mới với filesystem ext3
7. Tạo điểm mount cho partion vừa tạo
Khoa CNTT – MH/MĐ……………………………………….. 12
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Edit file /etc/fstab để mount vào hệ thống
Đọc file /etc/fstab: #mount –a
Truy cập partion mới /mnt/hdb1
8. Di chuyển data từ /var đến partion mới hdb1 và backup data trên nó
9. Khởi động lại hệ thống ở chế độ single-mode dùng lệnh: #init 1
10. Rename transactions trong /var
sh-2.05b# mv /var/transactions /var/transactions-save 11. Tạo transactions mới để mount partion mới
sh-2.05b# mkdir /var/transactions 12. copy nội dung của /var/transaction-save đến /mnt/hdb1
sh-2.05b# cp -a /var/transactions-save/* /mnt/hdb1 13. Umount /dev/hdb1 : #umount /mnt/hdb1
14. Edit file /etc/fstab với nội dung như sau:
Thực hiện moun6: #mount -a
15. Thoát khỏi chế độ single-mode : #init 6
Khoa CNTT – MH/MĐ……………………………………….. 13
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
…..……………………………………………………………………………………………………………………………………………………………
…..……………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………...
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
4
BÀI HỌC 2
Kỹ năng đạt được
Cấu hình mạng
Quản lí tiến trình
Thao tác với trình soạn thảo vi
BÀI TẬP 04
Tình huống 1
Mô tả nội dung: Bạn là IT của công ty LHV. Các developer thường xuyên remote đến các server test Linux để build sản phẩm, Họ gặp khó khăn trong việc sử dụng lệnh để làm việc. Họ yêu cầu bạn bằng cách nào cho họ remote đến các server test Linux và làm việc với nó bằng giao diện đồ hoạ (Guide mode) để họ dễ dàng làm việc với nó.
Yêu cầu thực hiện: Cấu hình remote bằng VNC.
Hướng dẫn thực hiện “step by step”:
1. Cài đặt VNC server: #yum install vnc-server vnc
2. Tiến hành cấu hình:
Edit file /etc/sysconfig/vncservers
Có thể tạo ra nhiều instance VNC cho các user khác nhau như ví dụ sau:
Sử dụng trình soạn thảo vi để thao tác trên file của Linux
Quản lí các tiến trình
Khoa CNTT – MH/MĐ……………………………………….. 14
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
3. Đặt password cho các user remote bằng VNC:
4. Khởi động VNC server với các tuỳ chọn
5. Chỉnh độ phân giải của màn hình
Edit file ~/.vnc/xstartup theo như sau
Khoa CNTT – MH/MĐ……………………………………….. 15
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
6. Dùng VNC Viewer để kết nối đến các server
Tình huống 2
Mô tả tình huống: Công ty LHV có một chi nhánh ở TP.HCM, hiện tại họ mở thêm một chi nhánh ở Hà Nội. Bạn được công ty LHV thuê làm administrator cho cty LHV. Hiện tại mỗi chi nhánh đều có cho mình một mạng riêng, vì vậy việc chia sẻ data gặp nhiều khó khăn. Bạn được yêu cầu kết nối hai mạng của 2 chi nhánh Hà Nội và Hồ Chí Minh để đáp ứng yêu cầu công việc của công ty cả 2 chi nhánh có thể truy xuất data lẫn nhau. Sở đồ kết nối mạng giữa 2 chi nhánh như hình vẽ.
Dùng máy tính chạy HDH Linux làm Router
Khoa CNTT – MH/MĐ……………………………………….. 16
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Yêu cầu thực hiện: Cấu hình định tuyến trên các Router HÀ NỘI và Router HỒ CHÍ MINH
Gợi ý thực hiện:
Bước 1: Trên mỗi router tiến hành định tuyến cho 3 mạng
Bước 2: Bật chức năng IP FORWARD : echo 1 > /proc/sys/net/ipv4/ip_forward
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
…..…………………………………………………………………………………………………………………………………………………………….
Khoa CNTT – MH/MĐ……………………………………….. 17
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
Tình huống 3
Mô tả tình huống: Công ty bạn thuê đặt mail server tại ISP, Giám đốc yêu cầu bạn xem lại log mail xem trong 1h qua có ai gởi mail từ địa chỉ [email protected] đến email của giám đốc không. Bạn dùng ssh để remote đến mail server. Yêu cầu khi bạn thực hiện truy cập ssh đến mail server phải được chứng thực bằng Key và phải mã hoá đường truyền.
Yêu cầu thực hiện: Cấu hình SSH trên Linux chấp nhận các truy cập được chứng thực thông qua key nhằm tăng tính bảo mật.
Gợi ý thực hiện:
A) Trên máy mail server mà chúng ta sẽ truy cập bằng ssh
1. Tạo một cặp key bằng lệnh:
: t là kiểu thuật toán mã hóa
: b là kích thước của khóa
Sau khi tạo ssh keygen trong thư mục /root/.ssh/ sẽ xuất hiện 2 file id_rsa và id_rsa.pub
2. Đổi public key id_rsa.pub trong thư mục home directory của user, ví dụ ở đây là user root: ~/.ssh/ thành authorized_keys
3. Set permission cho authorized_keys là: 600
4. Edit file /etc/ssh/sshd.conf
Cấu hình cho truy cập từ xa qua ssh
Khoa CNTT – MH/MĐ……………………………………….. 18
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no <-- bỏ chứng thực bằng password
5. Restart lại sshd
B) Trên máy client (máy sẽ remote ssh vào máy mail)
1. Copy file id_rsa trên máy mail server bỏ vào thư mục /root/.ssh/
2. Set permission cho id_rsa là: 600
3. Tiến hành dùng ssh truy cập vào mail server
Đối với máy client là máy windows, chúng ta dùng puty để import key id_rsa vào puty
Khoa CNTT – MH/MĐ……………………………………….. 19
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Sau đó chọn đường dẫn lưu file private key(id_rsa) mà ta đã lưu ở windows client.
Nhập password mà ta đã tạo ra trong quá trình tạo key cho user.
Khoa CNTT – MH/MĐ……………………………………….. 20
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Xuất hiện thông báo import key thành công.Bấm "Save private key" với tên là sshkey.ppk
Khoa CNTT – MH/MĐ……………………………………….. 21
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Mở PuTTY và chuyển tới trường Auth và chọn file sshkey.ppk mà ta đã lưu ở trên
Khoa CNTT – MH/MĐ……………………………………….. 22
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Tiếp theo, ta quay lại trường Session và nhập vào IP của ssh server.Nhập vào user mà ta đã cấu hình chứng thực bằng Keys Authentication.
Khoa CNTT – MH/MĐ……………………………………….. 23
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Chú ý:
+ Nếu tạo ssh key gen trên server thì chúng ta copy private key đến cho client.
+ Nếu tạo ssh key trên client thì chúng ta copy public key đến cho server
+ Quyền hạn của public key là 644 và private là 600
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
…..…………………………………………………………………………………………………………………………………………………………….
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
Nhận biết và viết được shell script trên Linux
BÀI TẬP 05
Tình huống 1
Mô tả tình huống: Bạn là quản trị hệ thống linux. Bạn muốn biết hiện tại bạn đang login với user nào, ngày tháng bao nhiêu, số user hiện tại đang login vào hệ thống của bạn.
Yêu cầu thực hiện: Viết một đoạn shell script để tự động hóa quá trình trên.
Hướng dẫn thực hiện: Sau đây là đoạn shell script:
#!/bin/sh
clear #xóa màn hình
echo “Xin chào $USER” # Thông báo user đang chạy shell script
echo “Hôm nay là ngày: ”; date # Cho biết ngày, giờ hiện tại
echo “Số user đang login vào hệ thống: ”; who |wc –l # Đếm số user hiện đang login vào hệ thống
echo “Lịch”
cal # Hiện bản lịch calendar
Khoa CNTT – MH/MĐ……………………………………….. 24
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
exit 0 #Kết thúc shell
Tình huống 2
Mô tả tình huống: Bạn là quản trị hệ thống linux. Bạn được yêu cầu monitor space của HDD, nếu dung space vượt quá dung lượng mà bạn cho phép (ví dụ 90%) thì hệ thống sẽ tự động gởi mail cảnh báo cho admin.
Yêu cầu thực hiện: Viết một shell script để thực hiện quá trình này tự động hóa.
Hướng dẫn thực hiện: Sau đây là shell script
#!/bin/sh #Set dung lượng cho phép, nếu vượt quá dung lượng này sẽ gởi messages cảnh báo. Alert=14 #Email sẽ được hệ thống gởi cảnh báo Email=”[email protected]” df -H |grep -vE 'Filesystem|tmpfs|cdrom' |awk '{print $5 " " $1}'|while read output; do echo $output usep=$(echo $output| awk '{print $1}' | cut -d '%' -f1) partition=$(echo $output| awk '{print $2}') if [ $usep -ge $Alert ]; then echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" mail -s "Alert: out of disk space $usep%" $Email fi done
Khoa CNTT – MH/MĐ……………………………………….. 25
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
5
BÀI HỌC 3
Kỹ năng đạt được
Cài đặt và cấu hình DHCP trong Linux
Cài đặt và cấu hình DNS trong Linux
BÀI TẬP 06
Tình huống 1
Mô tả tình huống: Công ty bạn có 100 PC được kết nối mạng nội bộ của công ty, để các PC được kết nối mạng thì mối PC phải có địa chỉ IP. Việc gán địa chỉ IP bằng cách thủ công(đến từng máy cấu hình) rất mất thời gian dễ trùng IP và không tối ưu, Administrator không thể quản lí được việc cấp phát IP. Bạn làm cách nào để gán IP một cách tự động đến 100 PC trong công ty của bạn. Hiện tại công ty dùng HDH Linux cho các server.
Yếu cầu thực hiện: Triển khai dịch vụ cấp phát IP động DHCP server trên HDH Linux.
Hướng dẫn thực hiện “step by step”:
1. Gán địa chỉ IP tĩnh cho máy làm DHCP Server
2. Cài đặt DHCP Server: #yum install dhcp
3. Cấu hình DHCP Server
Tạo file cấu hình dhcpd.conf bằng cách copy file dhcpd.conf. sample trong thư mục
/usr/share/doc/dhcp-<version-number>/dhcpd.conf.sample
#cp /usr/share/doc/dhcp-<version-number>/dhcpd.conf.sample \ /etc/dhcpd.conf
Nội dung file cấu hình như sau:
Xây dựng hệ thống cấp phát IP động DHCP trên Linux
Khoa CNTT – MH/MĐ……………………………………….. 26
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- Dãy địa chỉ IP dành riêng cho quá trình boot
range dynamic-bootp 192.168.1.200 192.168.1.254;
# --- Dãy địa chi dùng để cấp phát IP
range 192.168.1.2 192.168.1.100;
# --- default gateway
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
# --- DNS server
option domain-name-servers 208.67.222.222;
# --- Thời gian cho phép một client được lưu giữ IP
default-lease-time 21600;
max-lease-time 43200;
Khoa CNTT – MH/MĐ……………………………………….. 27
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
# --- Gán địa chỉ IP cho một client cố định dựa vào địa chỉ MAC
host dhcp_test {
hardware ethernet 00:26:B9:00:21:5C;
fixed-address 192.168.1.254;
}
}
Tạo một file dùng để lưu trữ các thông tin mà DHCP server cho client thuê IP
#touch /var/lib/dhcp/dhcpd.leases
Khởi động dịch vụ DHCP server: #/etc/init.d/dhcpd start
Tình huống 2
Mô tả nội dung: Bạn là admin của công ty LHV, công ty có một DHCP server dùng để cung cấp dịch vụ DHCP cho toàn công ty. Hiện tại công ty được chia làm 2 văn phòng với hai lớp mạng khác nhau. Để gán IP cho các client bạn dùng dịch vụ DHCP, nhưng bạn không đủ điều kiện để xây dựng DHCP cho riêng mạng này. Bạn tận dụng DHCP hiện tại của mạng cũ để cung cấp DHCP cho mạng này. Làm cách nào bạn dùng DHCP server đang chạy để cung cấp IP cho mạng mới này. Sơ đồ mạng hiện tại của công ty:
Cấu hình DHCP Relay Agent trên Linux
Khoa CNTT – MH/MĐ……………………………………….. 28
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Yêu cầu thực hiện: Triển khai dịch vụ DHCP Relay Agent
Gợi ý thực hiện:
+ Cấu hình DHCP trên DHCP server cho 2 subnet (10.0.60.0/24 và 172.16.1.0/24)
Khoa CNTT – MH/MĐ……………………………………….. 29
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
+ File cấu hình DHCP server cho 2 subnet như sau:
ddns-update-style interim;
ignore client-updates;
subnet 10.0.60.0 netmask 255.255.255.0 {
range dynamic-bootp 10.0.60.200 10.0.60.254;
range 10.0.60.2 10.0.60.100;
option routers 10.0.60.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 208.67.222.222;
default-lease-time 21600;
max-lease-time 43200;
host dhcp_test {
hardware ethernet 00:26:B9:00:21:5C;
fixed-address 10.0.60.254;
}
}
subnet 172.16.1.0 netmask 255.255.255.0 {
Khoa CNTT – MH/MĐ……………………………………….. 30
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
range dynamic-bootp 172.16.1.200 172.16.1.254;
range 172.16.1.2 172.16.1.100;
option routers 172.16.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 208.67.222.222;
default-lease-time 21600;
max-lease-time 43200;
host dhcp_test {
hardware ethernet 00:26:B9:00:21:5C;
fixed-address 172.16.1.254;
}
}
+ Cấu hình cho máy DHCP Relay Agent forward các request của client đến DHCP server
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………………………………..
……………………………………………………………………………………………………………………………………………………………………..
……………………………………………………………………………………………………………………………………………………………………..
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
Khoa CNTT – MH/MĐ……………………………………….. 31
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
BÀI TẬP 07
Tình huống 1
Mô tả tình huống: Bạn là Administrator của công ty LHV, công ty mua domain lhv.com.vn. Hiện tại công ty có các server public ra ngoài internet gồm: Web Server có IP address 192.168.1.2 được public với tên www.lhv.com.vn và lhv.com.vn, Mail Server có IP address 192.168.1.3 được public với tên mail.lhv.com.vn, LDAP Server có IP address 192.168.1.4 được public với tên ldap.lhv.com.vn, FTP Server 192.168.1.5 được public với tên ftp.lhv.com.vn , và một server dùng cho các dịch vụ khác có tên Data server 192.168.1.6 dùng public các svn, bugzilla, twiki, web testing. Làm cách nào cho các user khi truy cập đến các dịch vụ bằng các tên như trên.
Yếu cầu thực hiện: Triển khai DNS server phân giải tên miền lhv.com.vn để phân giải tên miền cho các dịch vụ trên, DNS server có IP address 192.168.1.1
Hướng dẫn thực hiện “step by step”:
1. Gán IP tĩnh cho DNS server
2. Edit file /etc/resolve.conf trỏ địa chỉ IP của servername về IP của máy (192.168.1.1)
3. Tiến hành cấu hình DNS server: Cài đặt BIND, Caching-nameserver, bind-utils
#yum install bind caching-nameserver bind-utils
Cấu hình DNS:
Bước 1: Tạo file cấu hình named.conf nằm trong /etc
# cp /etc/named.rfc1912.zones /etc/named.conf
Edit file named.conf, thêm vào các thông tin như sau:
options {
Xây dựng hệ thống phân giải tên miền DNS Server trên Linux
Khoa CNTT – MH/MĐ……………………………………….. 32
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
directory "/var/named/";
};
zone “lhv.com.vn" IN{
type master;
file “db.lhv.com.vn";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file " db.192.168.1";
};
Lưu file named.conf và gán permisson
#chown root:named /etc/named.conf
=============================================
Bước 2: Tiếp theo ta tạo hai file cho quá trình phân giải DNS
Khoa CNTT – MH/MĐ……………………………………….. 33
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Tạo hai file “db.lhv.com.vn” và “db.192.168.1” trong thư mục /var/named
Nội dung file “db.lhv.com.vn”
@ IN SOA dns1.lhv.com.vn. admin.mail.lhv.com.vn. (
2010070704 ; serial
86400 ; refresh
7200 ; retry
2592000 ; expire
345600 ) ; TTL
; Name Server (NS) records.
NS dns1.lhv.com.vn.
; Mail Exchange (MX) records.
MX 0 mail.lhv.com.vn.
; Address (A) records.
dns1 A 192.168.1.1
www A 192.168.1.2
Khoa CNTT – MH/MĐ……………………………………….. 34
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
mail A 192.168.1.3
ldap A 192.168.1.4
ftp A 192.168.1.5
Data A 192.168.1.6
; Aliases in Canonical Name (CNAME) records.
svn CNAME data
bugzilla CNAME data
twiki CNAME data
Web CNAME data
Nội dung file “db.192.168.1”
@ IN SOA dns1.lhv.com.vn. admin.mail.lhv.com.vn. (
2010070704 ; serial
86400 ; refresh
7200 ; retry
2592000 ; expire
345600 ) ; TTL
; Name Server (NS) records.
Khoa CNTT – MH/MĐ……………………………………….. 35
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
NS dns1.lhv.com.vn.
; Addresses Point to Canonical Names (PTR) for Reverse lookups
1 PTR dns1.lhv.com.vn.
2 PTR www.lhv.com.vn.
3 PTR mail.lhv.com.vn.
4 PTR ldap.lhv.com.vn.
5 PTR ftp.lhv.com.vn.
6 PTR svn.lhv.com.vn.
6 PTR bugzilla.lhv.com.vn.
6 PTR twiki.lhv.com.vn.
6 PTR web.lhv.com.vn.
Lưu 2 file vừa tạo
Gán quyền cho thư mục /var/named
#chown named:named /var/named
Quá trình cấu hình DNS server đã hoàn tất
Khởi động DNS server:
#/etc/init.d/named start|restart|stop
Khoa CNTT – MH/MĐ……………………………………….. 36
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Kiểm tra tình trạng của DNS
#service named status
Tình huống 2
Mô tả tính huống: Công ty bạn vừa mua thêm một domain có tên luhoanviet.com.vn để phân giải thêm cho các dịch vụ đang chạy.
Yếu cầu thực hiện: Triển khai thêm một tên miền mới trên DNS server hiện tại dùng để phân giải cho các dịch vụ đang chạy với các tên tương ứng như Tình huống 1.
Gợi ý thực hiện:
1. Thêm zone “luhoanviet.com.vn” vào file /etc/named.conf
2. Tạo 2 file phân giải từ tên sang IP và từ IP sang tên
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
Khoa CNTT – MH/MĐ……………………………………….. 37
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
BÀI HỌC 4
Kỹ năng đạt được
Cài đặt và cấu hình Samba và NFS
BÀI TẬP 08
Mô tả tình huống: Công ty bạn dùng server Linux (mail, web, ftp,….), các client dùng windows có bản quyền. Bạn được yêu cầu dựng một file server cho công ty để mọi người có thể lưu data phục vụ cho công việc. Làm cách nào để bạn dựng một file server chia sẻ data giữa windows và Linux.
Yêu cầu thực hiện: Cài đặt và cấu hình file server với dịch vụ samba
Hướng dẫn thực hiện “step by step”:
1. Cài đặt samba: #yum install samba
2. Disable selinux và iptables
+ Với selinux edit file /etc/selinux/config đổi dòng SELINUX=enforcing thành SELINUX=disabled
+ Với iptables #/etc/init.d/iptables stop
3. Edit file /etc/samba/smb.conf theo nội dung sau:
Xây dựng hệ thống chia sẻ file giữa Linux và Windows, Linux với Linux
Xây dựng hệ thống đồng bộ dữ
Khoa CNTT – MH/MĐ……………………………………….. 39
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
4. Tạo thư mục chia sẻ
#mkdir /data
#chmod 777 /data
5. Tạo Linux user và add user này thành samba user
6. Khởi động samba: #/etc/init.d/smb start
7. Quản lí samba với SWAT
Cài đặt SWAT: #yum install samba-swat
Cấu hình SWAT: Edit file /etc/xinetd.d/swat như sau
Khởi động swat: #/etc/init.d/xinetd start
Dùng browse kết nối đến Samba server: http://ip:901
Khoa CNTT – MH/MĐ……………………………………….. 40
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Tình huống 2
Mô tả tình huống: Hiện tại công ty bạn có hai server dành cho các developer dùng để build sản phẩm web service. Server thứ nhất được dùng để sync dữ liệu từ chi nhánh của công cty về cho các team làm việc tại văn phòng chính, server này các developer không có bất kì quyền truy cập nào vào nó. Server thứ hai các developer có quyền truy cập để lấy dữ liệu được sync từ server thứ nhất. Làm cách nào bạn có thể đồng bộ dữ liệu được sync từ chi nhánh về server thứ nhất đến server thứ hai để cho các developer có thể đảm bảo công việc của mình.
Yêu cầu thực hiện: Triển khai NFS trên hai server trên. Server thứ nhất là NFS server, server thứ hai là NFS client
Gợi ý thực hiện:
1. Cài đặt NFS trên server thứ nhất: #yum install system-config-nfs
2. Tạo thư mục dùng để lưu trữ dữ liệu được sync từ chi nhánh và chia sẻ dữ liệu với server thứ hai: #mkdir /mnt/data
3. Cấu hình NFS Server: Edit file /etc/exports với nội dung như sau: /mnt/data IP_client(rw,sync) 4. Export thư mục share: #export –a
5. Khởi động các dịch vụ NFS server: nfs, nfslock, portmap
6. Kiểm tra hoạt động NFS: #rpcinfo –p localhost
7. Cài đặt NFS trên server thứ hai: #yum install system-config-nfs
8. Tạo thư mục dùng để mount thư mục data của server thứ nhất: #mkdir /mnt/data
9. Cấu hình NFS Client: Edit file /etc/fstab và thêm dòng sau vào cuối file
IP_NFS_Server:/data /mnt/share nfs soft 0 0
10. Thực hiện mount thư mục chia sẻ data: #mount –a hoặc #mount –t nfs IP_NFS_Server:/data/mnt/share
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
…..……………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………………………………………..
Khoa CNTT – MH/MĐ……………………………………….. 41
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
BÀI HỌC 5
Kỹ năng đạt được
Cài đặt và cấu hình Apache Web Server
Cài đặt và cấu hình VSFTP FTP Server
...
BÀI TẬP 09
Tình huống 1
Mô tả tình huống: Công ty bạn muốn dùng web để quảng bá hình ảnh của công ty ra bên ngoài. Giám đốc yêu cầu bạn setup một web server trên Linux để public website này. Tên Website public là www.lhv.com.vn
Yêu cầu thực hiện: Cài đặt và cấu hình Apache web server .
Hướng dẫn thực hiện “step by step”:
1. Cài đặt apache httpd:
#yum install httpd
2. Cấu hình apache Web server
Bước 1: Edit file cấu hình httpd.conf nằm trong thư mục /etc/httpd/conf/ theo như sau:
Listen 192.168.1.2:80 #địa chỉ IP của card mạng sẽ lắng nghe các request
ServerName www.lhv.com.vn:80 #tên FQDN hoặc địa chỉ IP của máy
ServerAdmin [email protected]
DirectoryIndex file index của website
Bước 2: Copy source website vào thư mục /var/www/html/ và gán permission cho thư mục website với quyền 755 và thuộc sở hữu của apache
#chmod –R 755 website
#chown –R apache:apache website
3. Khởi động apache: #/etc/init.d/httpd start
Triển khai Web Server Apache trên Linux
Khoa CNTT – MH/MĐ……………………………………….. 42
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Tình huống 2
Mô tả tình huống: Công ty bạn vừa mua thêm một domain luhoanviet.com.vn, giám đốc yêu cầu bạn public website của công ty với cả 2 tên mới và cũ (www.lhv.com.vn, www.luhoanviet.com.vn )
Yêu cầu thực hiện: Sử dụng chức năng VirtualHost để cấu hình website public với 2 domain trên
Gợi ý thực hiện: Dựa vào slide bài giảng cấu hình VirtualHost
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
Hosting nhiều website trên một web server
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
BÀI TẬP 10
Tình huống 1
Mô tả tình huống: Công ty bạn hiện tại đang có hệ thống file server nội bộ lưu trữ các sản phẩm phần mềm của công ty. Công ty muốn public các sản phẩm ra ngoài cho mọi người sử dụng để quảng bá về sản phẩm của mình, một yêu cầu đặt ra là bạn public file server này ra ngoài internet cho mọi người download các sản phẩm của công ty.
Yêu cầu thực hiện: Triển khai FTP Server trên Linux với phần mềm VsFTPD
Hướng dẫn thực hiện “step by step”:
Khoa CNTT – MH/MĐ……………………………………….. 43
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
1. Cài đặt VsFTPD: #yum install vsftpd
2. Cấu hình VsFTPD:
Edit file /etc/vsftpd/vsftpd.conf như sau:
# Cho phép anonymous được phép truy cập FTP Server
anon_anonymous=YES
# Thay đổi thư mục gốc mặc định của FTP Server thành /data/ftp
anon_root=/data/ftp
Restart vsftpd: /etc/init.d/vsftpd start
Tình huống 2
Mô tả tình huống: Công ty bạn có một file server dùng để lưu trữ các thông tin nội bộ, chỉ cho phép các user là nhân viên của công ty access để lấy dữ liệu. Công ty muốn public file Server này ra internet để cho các user sale có thể lấy tài liệu phục vụ cho công việc.
Yêu cầu thực hiện: Cấu hình FTP Server VsFTPD giới hạn truy cập, chỉ những user có tài khoản mới có thể access để lấy data
Gợi ý thực hiện:
1. Thay đổi file cấu hình
anon_anonymous=NO
local_enable=YES
2. Tạo group để add FTP Users #groupadd ftp-users 3. Tạo thư mục chia sẻ data #mkdir /data/ftp-docs #chmod 750 /data/ftp-docs #chown root:ftp-users /data/ftp-docs
Khoa CNTT – MH/MĐ……………………………………….. 44
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
4. Tạo và add các users vào trong group ftp-users #useradd –g group ftp-users –d /data/ftp-docs user1 #passwd user1 5. Thay đổi quyền hạn đối với user home directory vừa mới tạo #chown root:ftp-users /data/ftp-docs/* #chmod 750 /data/ftp-docs/* 6. Restart vsftpd #/etc/init.d/vsftpd restart
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
..………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………….
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
BÀI HỌC 6
Kỹ năng đạt được
Nắm vững các giao thức, protocol IMAP, POP3, SMTP.
BÀI TẬP 11
Tình huống 1
Mô tả tình huống: Công ty bạn thường xuyên giao dịch với khách hàng qua email. Hiện tại các giao dịch của công ty đều dùng yahoo hoặc gmail vì vậy rất khó để quản lí và giám sát các email đến/đi của các nhân viên. Bạn được yêu cầu triển khai một mail server cho công ty với domain lhv.com.vn
Yêu cầu thực hiện: Triển khai mail server trên Linux dùng sendmail + dovecot
Triển khai và quản trị mail server với sendmail + dovecot
Khoa CNTT – MH/MĐ……………………………………….. 45
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Phân biệt mail gateway, mail host, mail server, mail client
Hiểu được spam mail và cách ngăn chặn spam mail.
Hướng dẫn thực hiện “step by step”:
1. Triển khai DNS server với MX record mail.lhv.com.vn 2. Cài đặt và cấu hình sendmail
Bước 1: Cài đặt sendmail và các package cần thiết: #yum install sendmail sendmail-cf Cài đặt chương trình m4: #yum install m4 Bước 2: Edit file /etc/mail/sendmail.mc theo như sau: Từ: DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl FEATURE(`accept_unresolvable_domains')dnl Thành: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl dnl FEATURE(`accept_unresolvable_domains')dnl Save và exit việc edit file sendmail.mc Bước 3: Khởi tạo file sendmail.cf: #m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Khoa CNTT – MH/MĐ……………………………………….. 46
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Bước 4: Edit file database /etc/mail/access như sau:
192.168.1.0 RELAY #Địa chỉ lớp mạng lhv.com.vn RELAY Cập nhập database cho file access.db: #makemap hash access.db < access Bước 5: Cài đặt và cấu hình POP cho mail server: #yum install dovecot Bước 6: Edit file /etc/dovecot.conf Từ: #protocols = imap imaps pop3 pop3s Thành: protocols = imap imaps pop3 pop3s Save và exit Bước 7: Restart sendmail và dovecot #/etc/init.d/sendmail start
Khoa CNTT – MH/MĐ……………………………………….. 47
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
#/etc/init.d/dovecot start Kiểm tra mail server có mở các port 25 và 110 #netstat –na|grep tcp
Bước 8: Tạo user và tiến hành dùng OutLook Express, MS OutLook hoặc Thunderbird để kiểm tra việc gởi mail qua lại giữa các user: #useradd user1 #passwd user1 #useradd user2 #passwd user2
Tình huống 2
Mô tả tình huống: Triển khai thêm một mail server với một domain khác ispace.com.vn
Yêu cầu thực hiện: Triển khai thêm một mail server trên Linux dùng sendmail với domain ispace.com.vn
Gợi ý thực hiện: Thực hiện tương tự như tình huống 1
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
Khoa CNTT – MH/MĐ……………………………………….. 48
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
BÀI TẬP 11
Tình huống 1 Mô tả tình huống: Bạn là admin của công ty LHV, bạn được yêu cầu triển khai mail server cho công ty. Mail server bạn sẽ triển khai phải đảm bảo yêu cầu sau: Dễ cài đặt và cấu hình có thể kết hợp tốt với database hoặc LDAP, các email phải được lưu trữ ở mailbox trên mail server.
Yêu cầu thực hiện: Triển khai hệ thống mail server dùng postfix + Cyrus-IMAP trên Linux
Hướng dẫn thực hiện “step by step”:
Bước 1: Cài đặt Postfix, cyrus-imapd, cyrus-sasl
#yum install postfix cyrus-imapd cyrus-sasl
Bước 2: Cấu hình postfix như sau: Edit file /etc/postfix/main.cf
myhostname = mail.lhv.com.vn mydomain = lhv.com.vn inet_interfaces = $myhostname, localhost mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 192.168.1.0/24, 127.0.0.0/8 mailbox_transport = cyrus
Start postfix: #/etc/init.d/postfix start
Triển khai và quản trị mail server với Postfix + IMAP
Khoa CNTT – MH/MĐ……………………………………….. 49
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Bước 3: Cấu hình cyrus-imapd như sau: Edit file /etc/imapd.conf
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
admins: cyrus #Account admin quản trị imap (tạo mailbox, xoá mailbox,…)
sievedir: /var/lib/imap/sieve
sendmail: /usr/sbin/sendmail
hashimapspool: true
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem #Certificate imap được tạo mặc định khi cài cyrus-sasl
tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem #Copy các certificate từ /etc/pki/tls/certs
tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt #Chúng ta sẽ tạo lại các certificate này
Bước 4: Tạo certificate cho tổ chức. Tại thư mục /etc/pki/tls/certs xoá 2 file cyrus-imapd.pem, ca-bundle.crt và tạo lại 2 file mới. Tại thư mục /etc/pki/tls/certs chạy lệnh make
#make cyrus-imapd.pem
#make ca-bundle.crt
#chmod 644 *
Bước 5: Edit file /etc/sasl2/smtpd.conf với nội dung như sau:
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
Khoa CNTT – MH/MĐ……………………………………….. 50
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Bước 6: Tạo các user Linux account
#useradd username
#passwd username
#passwd cyrus #Account của admin cyrus-imapd
Start cyrus-imapd: #/etc/init.d/cyrus-imapd start
Bước 7: Add user Linux account đến sasl database
#saslpasswd2 –c username (Password phải trùng với password của user Linux account)
Bước 8: Tạo mailbox
#su cyrus
$cyradm localhost IMAP Password: (enter password) >cm user.username >lm #Liệt kê các mailbox >quit $exit
Bước 9: Test: Dùng thunderbird setup email client trong quá trình cài đặt chọn IMAP port 993
Bước 10: Xoá mailbox
>setaclmailbox user.username cyrus c
>deletemailbox user.username
Khoa CNTT – MH/MĐ……………………………………….. 51
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Tình huống 2
Mô tả tình huống: triển khai mail server như tình huống 1 với domain ispace.edu.vn
Yêu cầu thực hiện: cài đặt và cấu hình mail server trên Linux với Postfix + Cyrus-IMAP
Gợi ý thực hiện: dựa vào tình huống 1 sinh viên thực hiện triển khai mail server theo yêu cầu trên
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
BÀI HỌC 7
Kỹ năng đạt được
Hiểu được proxy và filewall.
Cấu hình Linux proxy server(squid) và Linux firewall (iptables)
Nắm vững cơ chế hoạt động của iptables
BÀI TẬP 12
Tình huống 1
Mô tả tình huống: Bạn là nhân viên IT của công ty LHV, công ty bạn thuê một đường truyền ADSL, để phục vụ cho công việc, công ty không giới hạn truy cập internet với các nhân viên. Các nhân viên của công ty phàn nàn rằng việc truy cập internet từ mạng nội bộ quá chậm gây khó khăn cho công việc của họ. bạn được yêu cầu cải thiện tốc độ truy cập internet của công ty mà không được thuê thêm đường truyền.
Yêu cầu thực hiện: triển khai proxy caching server trên Linux với phần mềm squid
Hướng dẫn thực hiện “step by step”:
Bước 1: Cài đặt squid
#yum install squid
Bước 2: Cấu hình squid, edit file /etc/squid/squid.conf theo nội dung thứ tự như sau:
Triển khai hệ thống proxy
Triển khai hệ thống caching server
Khoa CNTT – MH/MĐ……………………………………….. 52
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
#Các tùy chọn bổ sung: Nếu bạn muốn tất cả các user trong mạng local của bạn đều phải xác thực username/password
#Tiến hành các bước sau
# Tạo username và password, bước này chúng ta tạo ngoài command line
################command tạo username/passwd##########
#############################################
# Thêm vào phần auth_param của file cấu hình squid.conf như sau:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
#############################################
#Cấu hình hệ thống cho squid
visible_hostname hvtin
http_port 172.16.1.1:8080
cache_dir ufs /var/spool/squid 100 16 256
cache_mem 64 MB
#########################
#Tạo các rules cho squid
#Các rule được tạo mặc định khi cài squid
Khoa CNTT – MH/MĐ……………………………………….. 53
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#Recommended minimum configuration:
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
Khoa CNTT – MH/MĐ……………………………………….. 54
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
acl our_networks src 172.16.1.0/24
http_access allow our_networks
#####################################################
# Các tùy chọn bổ sung: Nếu công ty bạn có chình sách cấm truy cập internet trong thời gian làm việc thì set rule sau:
#cấm tất cả các truy cập internet từ trong internal vào tất cả các ngày trong tuần, chỉ cho phép truy cập từ 11h30 tới 13:00
acl free_time time 11:30-13:00
http_access allow free_time
# Hoặc nếu muốn cấm tất cả các truy cấp trong giờ làm việc từ thứ 2 tới thứ 6
acl bussiness_time time M T W H F 11:30-13:00
http_access allow bussiness_time
#####################################################
# And finally deny all other access to this proxy
http_access allow localhost
http_access deny all
Bước 3: Tạo thư mục cache cho squid
Khoa CNTT – MH/MĐ……………………………………….. 55
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
#squid –z
Bước 4: Chạy squid ở chế độ debug-mod
#squid –NCd1
Bước 5: Restart squid
#service squid start|stop|restart
Bước 6: Cấu hình client sử dụng proxy
Tình huống 2
Mô tả tình huống: Nhằm tận dụng hệ thống mạng đã có sẵn và tối ưu hoá băng thông, bạn được yêu cầu cài đặt proxy caching server trên Gateway server của network của bạn.
Yếu cầu thực hiện: Triển khai proxy caching server trên Gateway server
Gợi ý thực hiện:
Bước 1: Dựng Gateway server như là một router kết nối internal và external
Bước 2: Dựa vào Tình huống 1 setup proxy caching server trên Gateway
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………………..
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
Khoa CNTT – MH/MĐ……………………………………….. 56
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
BÀI TẬP 13
Tình huống 1
Mô tả tình huống: Bạn là IT của công ty LHV, sau khi bạn triển khai hệ thống proxy caching server. Ban lãnh đạo cty muốn kiểm soát tất cả các truy cập internet của nhân viên đều phải đi qua proxy và nhằm ngăn chặn việc nhân viên truy cập các website không mong muốn. Với mô hình như sau:
Triển khai hệ thống proxy transparent
Khoa CNTT – MH/MĐ……………………………………….. 57
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Yêu cầu thực hiện: Triển khai hệ thống proxy transparent trên Gateway
Gợi ý thực hiện:
Bước 1: Cấu hình hệ thống như là router
+ Enable package forwarding: #echo 1 > /proc/sys/net/ipv4/ip_forward
+ Hoặc edit file /etc/sysctl.conf với nội dung như sau:
net.ipv4.ip_forward = 0
Thành
net.ipv4.ip_forward = 1
+ Cấu hình firewall forward tất cả các http request đến squid server port 3128 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to ip_lan:3128 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Bước 2: Cấu hình hệ thống squid như Tình huống 1 bài tập 12
Bước 3: Khởi động squid
Bước 4: Test: Cấu hình browse dùng proxy và không dùng proxy
Sinh viên ghi tóm tắt quá trình thực hiện:…………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
.………………………………………………………………………………………………………………………………………………………………….
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
Khoa CNTT – MH/MĐ……………………………………….. 58
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
BÀI TẬP 14
Tình huống 1
Mô tả tình huống: Bạn là IT của cty LHV, nhằm để đảm bảo các yêu cầu bảo mật cho hệ thông bạn được yêu cầu triển khai hệ thống firewall trên hệ thống của bạn. Hệ thống firewall được yêu cầu mở các dịch vụ như sau:
+ Từ LAN ra INTERNET: * Chấp nhận truy cập http, https, ftp, mail (smtp, imap), DNS
+ Từ INTERNET vào DMZ: * Chấp nhận truy cập http, https, ftp, mail (smtp, imap), DNS
+ Từ LAN vào DMZ: * Chấp nhận truy cập http, https, ftp, mail (smtp, imap), DNS
Mô hình như sau:
Triển khai hệ thống firewall trên Linux dùng iptables
Khoa CNTT – MH/MĐ……………………………………….. 59
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Yêu cầu thực hiện: Triển khai hệ thống firewall dùng IPTABLES trên Gateway
Hướng dẫn thực hiện “step by step”:
Có 2 cách để viết các rule cho iptables:
+ Cách 1: Viết các rule trực tiếp trên dấu nhắc shell (command line), cách này ít được dùng.
+ Cách 2: Viết một shell script, cách này thường được dùng.
Ở đây chúng ta sẽ viết một shell script cho iptables
Viết một shell script cho iptables như sau: Đặt tên file shell script là fw.sh, nội dung file fw.sh như sau:
#Xóa các rule mặc định
iptables –F INPUT
iptables –F OUTPUT
iptables –F FORWARD
#Tạo các rule mặc định (Tùy thuộc vào hệ thống của mình mà có rule mặc định phù hợp)
iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP
#Chấp nhận cho WAN và LAN truy cập vùng DMZ
# Forward traffic giữa DMZ và LAN iptables -A FORWARD -i eth2 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT # forward traffic giữa DMZ và WAN (Chấp nhận các truy cập từ WAN và DMZ, và ngựơc lại) iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Khoa CNTT – MH/MĐ……………………………………….. 60
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
# NAT port 25 từ ip public 202.2.54.1 đến DMZ server có IP 192.168.2.2 iptables -t nat -A PREROUTING -p tcp -i eth0 -d 202.54.1.1 --dport 25 -j DNAT --to-destination 192.168.2.2 # NAT port 80 từ ip public 202.2.54.1 đến DMZ server có IP 192.168.2.3 iptables -t nat -A PREROUTING -p tcp -i eth0 -d 202.54.1.1 --dport 80 -j DNAT --to-destination 192.168.2.3 # NAT port 443 từ ip public 202.2.54.1 đến DMZ server có IP 192.168.2.4 iptables -t nat -A PREROUTING -p tcp -i eth0 -d 202.54.1.1 --dport 443 -j DNAT --to-destination 192.168.2.4 #Kết thúc quá trình cho phép các gói tin di vào DMZ từ LAN và WAN
#Cho phép LAN ra ngoài internet
Tình huống 2
Mô tả tình huống: Xây dựng các rule cho các dịch vụ (rule tutorial). Các rule này được triển khai trên local.
RULE cho phép icmp echo-request và icmp echo-replay
cho phép ping từ máy firewall
iptables –A OUTPUT –p icmp -- icmp-type echo-request –j ACCEPT
iptables –A INPUT –p icmp -- icmp-type echo-reply –j ACCEPT
cho phép ping từ client vào firewall
iptables –A INPUT –p icmp --icmp-type echo-request –j ACCEPT
Iptables –A OUTPUT –p icmp --icmp-type echo-reply –j ACCEPT
RULE cho dịch vụ HTTP, HTTPS và FTP
iptables –A OUTPUT –o eth0 –m state --state ESTABLISHED, RELATED –j ACCEPT
iptables –A INPUT –p tcp –i eht0 --dport 80 –sport 1024:65535 –m state --state NEW –j ACCEPT
iptables –A INPUT –p tcp –i eht0 --dport 443 –sport 1024:65535 –m state --state NEW –j ACCEPT
iptables –A INPUT –p tcp –i eht0 --dport 20 –sport 1024:65535 –m state --state NEW –j ACCEPT
Khoa CNTT – MH/MĐ……………………………………….. 61
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
iptables –A INPUT –p tcp –i eht0 --dport 21 –sport 1024:65535 –m state --state NEW –j ACCEPT
RULE cho dịch vụ ssh
iptables –A OUTPUT –o eth0 –m state --state ESTABLISHED, RELATED –j ACCEPT
iptables –A INPUT –p tcp –i eht0 --dport 22 --sport 1024:65535 –m state --state NEW –j ACCEPT
RULE cho dịch vụ SMTP, POP3, IMAP
RULE cho dịch vụ DNS (Cho phép truy xuất DNS đến firewall)
iptables –A OUTPUT –p udp –o eth0 --dport 53 --sport 1024:65535 –j ACCEPT
iptables –A INPUT –p udp –i eth0 --dport 53 --sport 1024:65535 –j ACCEPT
RULE cho dịch vụ DHCP
RULE cho dịch vụ
Tình huống 3
Mô tả tình huống: Công ty ABC có hệ thống mạng như sau
Khoa CNTT – MH/MĐ……………………………………….. 62
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
Các user trong mạng LAN đều truy cập được internet .
Yêu cầu thực hiện: Dùng firewall iptables triển khai các rule trên firewall theo các yêu cầu
+ Cho phép tất cả các packet đi vào loopback với tất cả các protocol
+ Cho phép các gói tin đi vào firewall chỉ với icmp protocol
Khoa CNTT – MH/MĐ……………………………………….. 63
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
+ Cho phép các packet đi vào eth1 có địa chỉ nguồn là địa chỉ của LAN
+ Cho phép các packet ra từ eth1 có địa chỉ đích là địa chỉ của LAN
+ Thực hiện NAT bằng cách đổi địa chỉ nguồn của gói tin trước khi định tuyến, đi ra từ eth0 với bất kỳ địa chỉ nào khác địa chỉ của LAN + Cho phép các gói tin đi qua firewall có địa chỉ nguồn hoặc địa chỉ đích là địa chỉ của LAN
Gợi ý thực hiện:
Trên firewall chỉ triển khai iptables
Tạo file firewall.sh, firewall có nội dung như sau:
#!/bin/sh ######### Các giá trị khởi tạo INTERNAL_LAN="172.16.1.0/24" # Địa chỉ mạng LAN INTERNAL_LAN_INTERFACE="eth1" # Interface nối đến mạng LAN INTERNAL_LAN_INTERFACE_ADDR="172.16.1.100" ##Địa chỉ int eth1 EXTERNAL_INTERFACE="eth0" ## Interface public EXTERNAL_INTERFACE_ADDR="192.168.1.100" ## Địa chỉ eth0 ############################################### iptables -F FORWARD ## Xóa các luật của FORWARD chain iptables -F INPUT ## Xóa các luật của INPUT chain iptables -F OUTPUT ## Xóa các luật của OUTPUT chain iptables -P FORWARD DROP ## Mặc định FORWARD chain là DROP iptables -P OUPUT ACCEPT ## Mặc định OUTPUT chain là ACCEPT iptables -P INPUT DROP ## Mặc định INPUT chain là DROP ###############################################
Khoa CNTT – MH/MĐ……………………………………….. 64
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
## Cho phép tất cả các packet đi vào loopback với tất cả các protocol iptables -A INPUT -i lo -p all -j ACCEPT ## Cho phép các gói tin đi vào firewall chỉ với icmp protocol iptables -A INPUT -p icmp -j ACCEPT ## Cho phép các packet đi vào eth1 có địa chỉ nguồn là địa chỉ của LAN iptables -A INPUT -i $INTERNAL_LAN_INTERFACE -s $INTERNAL_LAN -j ACCEPT # Cho phép các packet ra từ eth1 có địa chỉ đích là địa chỉ của LAN iptables -A OUTPUT -o $INTERNAL_LAN_INTERFACE -d $INTERNAL_LAN -j ACCEPT # Thực hiện NAT bằng cách đổi địa chỉ nguồn của gói tin trước khi định tuyến,đi ra từ eth0 với bất kỳ địa chỉ nào khác địa chỉ của LAN iptables -t nat -A POSTROUTING -o $EXTERNAL_LAN_INTERFACE -j MASQUERADE ## Cho phép các gói tin đi qua firewall có địa chỉ nguồn hoặc địa chỉ đích là địa chỉ của LAN iptables -A FORWARD -s $INTERNAL_LAN -j ACCEPT iptables -A FORWARD -d $INTERNAL_LAN -j ACCEPT
Trên firewall triển khai thêm squid proxy
Tạo file squid.sh, nội dung file squid.sh như sau:
#!/bin/sh
##########################
# squid server IP
SQUID_SERVER="192.168.1.1"
# Interface kết nối đến Internet
INTERNET="eth0"
# Interface connected to LAN
LAN_IN="eth1"
Khoa CNTT – MH/MĐ……………………………………….. 65
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
# Squid port
SQUID_PORT="3128"
# Xóa những cái rule cũ
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules cho NAT và IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# cho win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Set default policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Không giới hạn truy cập địa chỉ loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Khoa CNTT – MH/MĐ……………………………………….. 66
STT BÀI HỌC NỘI DUNG THỰC HÀNH ỨNG DỤNG THỰC TẾ
# Chấp nhận UDP, DNS và Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# Route cho LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# Không giới hạn truy cập đến LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# Chuyển tất cả các request từ LAN đến port 80 đến squid port 3128
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
# Nếu squid và iptables được cài trên cùng hệ thống
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
# Drop các gói tin khác và log các packge
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
Điểm đánh giá:………………………………………...GVHD ký tên:…………………………………………………………………….…………
ĐÁNH GIÁ KẾT QUẢ THỰC HÀNH CUỐI MH/MĐ: Điểm trung bình:………….. (Đạt: >=5) GV ký tên:………………………………..
........................., Ngày ... tháng ... năm ...................
Giảng viên giảng dạy