ĐỊNH TUYẾN MÔ HÌNH MẠNG
Chương này giới thiệu về định tuyến trong hệ thống mạng, đồng thời hướng dẫn cách cấu hình Static route và Dynamic route trên nền tảng Linux.
Sau khi học xong chương này, sinh viên có thể:
- Trình bày ý nghĩa của định tuyến trong hệ thống mạng
- Phân biệt được giữa static route và dynamic route
- Phân biệt được giữa các giao thức trong dynamic route
- Thực hiện cài đặt và cấu hình static route
- Thực hiện cài đặt và cấu hình dynamic route
Định tuyến là quá trình xác định đường đi cho gói tin giữa các mạng, đóng vai trò quan trọng trong kết nối cuộc gọi và quản lý mạng viễn thông Trong bối cảnh mạng hiện đại, với sự hội tụ của nhiều dịch vụ và yêu cầu đa dạng từ người sử dụng, các phương pháp định tuyến hiệu quả là rất cần thiết để nâng cao hiệu suất mạng Định tuyến có thể được chia thành hai loại chính: định tuyến tĩnh và định tuyến động Định tuyến tĩnh không sử dụng giao thức định tuyến, yêu cầu người quản trị phải cấu hình thủ công trên từng bộ định tuyến mỗi khi có sự thay đổi về mạng.
Định tuyến động (Dynamic route) là quá trình sử dụng các giao thức định tuyến để tạo lập và duy trì bảng định tuyến trên các bộ định tuyến Thông qua các giao thức này, các bộ định tuyến có khả năng tự động trao đổi thông tin định tuyến và bảng định tuyến với nhau Trong cơ chế định tuyến động, việc xây dựng và duy trì trạng thái của bảng định tuyến được thực hiện một cách tự động bởi router.
- Việc chọn đường đi được tuân thủ theo 2 thuật toán cơ bản:
+ Distance vector: Chọn đường đi theo hướng và khoảng cách tới đích
+ Link State: Chọn đường đi ngắn nhất dựa vào cấu trúc của toàn bộ mạng theo trạng thái của các đường liên kết mạng
Hình 1.1 – Tổng quan về định tuyến
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 9
1.2| Cấu hình định tuyến tĩnh (Static route)
1.2.1| Ví dụ mô hình thực hiện
Hình 1.2 – Mô hình thực hiện Static route
Cấu hình mạng của các thiết bị như sau: PC1 có 1 card mạng với IP tĩnh 192.168.2.2/24, sử dụng VMnet2 và gateway 192.168.2.1 Switch S1 có hai card mạng, card thứ nhất (VMnet2 - eth0) với IP 192.168.2.1/24 và card thứ hai (VMnet3 - eth1) với IP 192.168.1.1/24 PC2 cũng có 1 card mạng, với IP tĩnh 192.168.3.2/24, sử dụng VMnet4 và gateway 192.168.3.1 Switch S2 có hai card mạng, card thứ nhất (VMnet4 - eth0) với IP 192.168.3.1/24 và card thứ hai (VMnet3 - eth1) với IP 192.168.1.2/24.
Bước 2: Thiết lập IP_Forward và định tuyến:
Thiết lập IP forward trên 2 Server S1 và S2 o #vi /etc/sysctl.conf > net.ipv4.ip_forward = 1
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 10
Bước 3: Tạo file route cho S1, S2:
Để thiết lập đường đi cho tuyến 192.168.3.0/24 trên máy S1, bạn cần cấu hình thông qua địa chỉ IP 192.168.1.2 trên card mạng eth1 Đầu tiên, mở tệp cấu hình bằng lệnh `#vi /etc/sysconfig/network-scripts/route-eth1`, sau đó thêm dòng `192.168.3.0/24 via 192.168.1.2 dev eth1`, trong đó 192.168.1.2 là địa chỉ IP của router S2.
Để thiết lập đường đi cho tuyến 192.168.2.0/24 trên máy S2 thông qua router S1 với địa chỉ IP 192.168.1.1, bạn cần chỉnh sửa tệp cấu hình mạng trên card mạng eth1 Mở tệp cấu hình bằng lệnh `vi /etc/sysconfig/network-scripts/route-ethx` và thêm dòng `192.168.2.0/24 via 192.168.1.1 dev eth1`.
Bước 4: Khởi động lại card mạng
Bước 5: Xem lại bảng định tuyến trên 2 server S1 và S2 xem đường mạng mới đã cập nhật
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 11
Bước 6: Tắt dịch vụ tường lửa bằng lệnh
Bước 7: Tiến hành ping để kiểm tra: Ping từ máy con PC1 đến PC2
1.3| Cấu hình định tuyến động (Dynamic route)
1.3.1| Ví dụ mô hình rip
Hình 1.3 – Mô hình thực hiện RIP route
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 12
Cài đặt quagga và telnet
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 13
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 14
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 15
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 16
Trên S2 thực hiện tương tự
Ping từ PC1 đến PC4:
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 17
Ping từ PC 4 đến PC1:
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 18
Cách xóa đường mạng đã định tuyến
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 19
1.3.2| Ví dụ mô hình ospf
Hình 1.4 – Mô hình thực hiện OSPF route
- Chuẩn bị 4 máy như sơ đồ: 2 máy CentOS đóng vai trò là Router và 2 máy windows 7
- Đặt IP cho 4 máy theo sơ đồ và tắt firewall 4 máy
- Các máy trong mạng 172.16.3.0/24 và 172.16.2.0/24 sử dụng card mạng Vmnet 2,
3, các máy trong mạng 172.16.1.0/24 sử dụng Vmnet 4
Bước 2 : Cài đặt phần mềm trên cả 2 máy CentOS
- Tải trực tiếp qua mạng 2 gói phần mềm “quagga” và “telnet” bằng lệnh :
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 20
Bước 3 : Trên CentOS 1, ta cấu hình zebra
Zebra là tiến trình xử lý việc cập nhật các tuyến đường giữa các router vào bảng routing
- # vi /etc/quagga/zebra.conf
Sửa file trên như sau : hostname OSPF.tdc.com password tdc enable passwword tdc “
Khởi động dịch vụ zebra bằng lệnh: “ service zebra start “, telnet vào địa chỉ localhost qua port 2601 để cấu hình địa chỉ IP:
- Nhập password là tdc vào mode enable nhập password enable là tdc vào mode configure terminal
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 21
- Vào từng cổng trên router1(CentOS1), gán địa chỉ IP cho các cổng
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 22
- Khởi động lại zebra : “ service zebra restart “
Cấu hình zebra tương tự như trên đối với máy CentOS 2
Bước 4 : Trên CentOS 1, cấu hình gói ospf
# vi /etc/quagga/ospfd.conf
Sửa file trên như sau : hostname tdc.com-ospf password tdc enable passwword tdc
Khởi động ospf : ô service ospfd start ô Telnet vào địa chỉ localhost qua port
- Nhập password vào mode enable nhập password vào mode configure
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 23 terminal
Với 172.16.3.0/24 và 172.16.1.0/24 là địa chỉ mạng mà máy CentOS 1 làm Router đang kết nối trực tiếp tới
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 24
Ở máy CentOS 2 làm Router, thực hiện cấu hình tương tự
Kiểm tra lại bảng định tuyến của hai máy Router Nếu cấu hình thành công, bảng định tuyến sẽ hiển thị đường NET như hình dưới đây.
Kiểm tra kết nối giữa 2 máy windows PC1 là 172.16.3.2 và PC2 là 172.16.2.2
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 25
Xoá đường mạng trong routing table: telnet 127.0.0.1 2604
Vào mode config, nhập lệnh “router ospf” no network area 0
Trên SV1 telnet 127.0.0.1 2604 , nhập “router ospf” , -> nhập: “no network 172.16.3.0/24 area 0”
Trên SV2 telnet 127.0.0.1 2604 , nhập “router ospf” , -> nhập: “no network 172.16.2.0/24 area 0”
Xóa file cấu hình ospf: rm –I etc/quagga/ospd.conf
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 26
Câu 1: Trình bày khác nhau giữa static route và dynamic route
Câu 2: Thực hiện định tuyến (static route và dynamic route) cho sơ đồ mạng sau:
Câu 3: Thực hiện định tuyến (static route và dynamic route) cho sơ đồ mạng sau:
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 27
KẾT NỐI SERVER
Chương này giải thích tầm quan trọng của việc kết nối từ xa đến máy chủ trong quản trị hệ thống mạng Ngoài ra, chương cũng hướng dẫn cách cấu hình telnet và ssh trên hệ điều hành Linux.
Sau khi học xong chương này, sinh viên có thể:
- Trình bày ý nghĩa của việc kết nối servers để cấu hình và quản trị
- Phân biệt được giữa giao thức telnet và ssh
- Thực hiện cài đặt và cấu hình telnet
- Thực hiện cài đặt và cấu hình ssh
2.1| Tổng quan kết nối server TELNET - SSH
Telnet là một giao thức máy tính cho phép giao tiếp tương tác hai chiều giữa các máy tính trên internet và mạng cục bộ LAN Ra đời vào năm 1969, Telnet là giao thức đầu tiên được sử dụng khi internet xuất hiện Mặc dù cung cấp một giao diện dòng lệnh đáp ứng các tiêu chuẩn cơ bản, việc sử dụng Telnet đã dần bị hạn chế do sự xuất hiện của SSH và những lo ngại về bảo mật, vì Telnet thường hoạt động trong môi trường mạng mở Hơn nữa, Telnet thiếu các chính sách xác thực và khả năng mã hóa dữ liệu, khiến nó không còn được khuyến khích sử dụng.
Theo thời gian, giao thức Telnet không an toàn được phát triển thành một giao thức mạng mới có tên gọi là Secure
Socket Shell (SSH) là giao thức chính mà các quản trị viên mạng hiện đại sử dụng để quản lý từ xa các máy tính chạy hệ điều hành Linux và Unix SSH đảm bảo xác thực và cung cấp bảo mật cho dữ liệu thông qua việc mã hóa mạnh mẽ, giúp bảo vệ thông tin khi truyền tải trên các mạng không đáng tin cậy.
SSH, hay còn gọi là Secure Shell, là một giao thức cho phép người dùng điều khiển và chỉnh sửa máy chủ từ xa qua Internet Dịch vụ này được phát triển nhằm tăng cường bảo mật cho việc kết nối và quản lý hệ thống từ xa.
Tài liệu giảng dạy về Quản trị hệ thống Linux trình bày rằng SSH thay thế Telnet, với tính năng mã hóa để bảo vệ tất cả giao tiếp giữa client và server SSH sử dụng kỹ thuật cryptographic để đảm bảo an toàn cho dữ liệu, cung cấp phương thức xác thực người dùng từ xa, chuyển input từ client tới host, và gửi kết quả trở lại cho khách hàng.
Hình 2.1 – Giao thức kết nối ssh đến từ client đến server
Hình 2 2 – Kết nối ssh bảo mật bằng key
2.2.1| Ví dụ mô hình thực hiện
Hình 2.3 – Mô hình thực hiện Telnet
Bước 1: Cài đặt gói telnet + xinetd:
[root@server ~]# yum install telnet telnet-server –y
[root@server ~]# yum install xinetd –y
Bước 2: Mở đường dẫn đến file cấu hình telnet: vi /etc/xinetd.d/telnet
[root@server ~]# vi /etc/xinetd.d/telnet
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 29
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no
Bước 3: Khởi động dich vụ telnet:
[root@server ~]# service xinetd start
Luôn bật dich vụ khi khởi động lại
[root@server ~]# chkconfig telnet on [root@server ~]# chkconfig xinetd on
Bước 4: Tạo user kt1 trên server: [root@server ~]# useradd kt1
[root@server ~]# passwd kt1 [root@server ~]# 123
Bước 5: Trên máy trạm mở cmd hoặc bất kì phần mềm hỗ trợ telnet (Putty) sk@sk:~$ telnet 192.168.1.1 (lệnh telnet vào server)
Kernel 2.6.32-358.el6.i686 on an i686 login: kt1
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 30
[root@server ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended
-A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m state state NEW dport 23 -j ACCEPT
-A INPUT -m state state NEW -m tcp -p tcp dport 22 -j ACCEPT
-A INPUT -j REJECT reject-with icmp-host-prohibited
-A FORWARD -j REJECT reject-with icmp-host-prohibited
Bước 7: Khởi động lại firewall:
[root@server ~]# service iptables restart iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ]
Cấu hình cho phép nhiều phiên telnet cùng lúc
- Vào đường dẫn file cấu hình: vi /etc/securetty
[root@server ~]# vi /etc/securetty
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 31
- Thêm các dòng sau vào file: pts/0 pts/1 pts/4
- Khởi động lại dich vụ telnet: # service telnet restart
- Vào Putty mở telnet và logon = root user
- Để hủy telnet ta tiến hành như sau:
- [root@server ~]# vi /etc/xinetd.d/telnet
- # description: The telnet server serves telnet sessions; it uses \
- # unencrypted username/password pairs for authentication
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 32
- server = /usr/sbin/in.telnetd
Dùng các ứng dụng lệnh Command promt, Terminal hoặc phần mềm Putty để telnet đến các hệ thống servers trong hệ thống mạng
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 33
2.3.1| Ví dụ mô hình thực hiện
Hình 2.4 – Mô hình thực hiện SSH
- Kiểm tra xem openssh đã được cài đặt chưa (mặc định đã cài sẵn)
[root@server ~]# service sshd status
[root@server ~]# sshd (pid 9488 9486 1850) is running
- Nếu chưa có thì cài đặt: [root@server ~]# yum install openssh-server
- Khởi động dịch vụ ssh: [root@server ~]# service sshd start
Cấu hinh chứng thực bằng password
- Mở file cấu hình ssh: vi /etc/ssh/sshd_config
Ta phải thay một số dòng sau trong sshd_config Để thay đổi chỉ cần bỏ dấu # ở đầu dòng là câu lệnh sẽ hoạt động
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 34
#PermitRootLogin yes // Bỏ # tại đây
# To disable tunneled clear text passwords, change to no here!
#PermitEmtyPasswords no // Không cho phép để mật khẩu trống
#vi /etc/sysconfig/iptables ( dport 22)
Cấu hình đổi port ssh nếu không để port mặc định
- Mở file cấu hình ssh: vi /etc/ssh/sshd_config o Đổi Port SSH : (Số port > 1024) VD: đổi sang port 1234
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 35
Sau đó , tiến hành mở port trên firewall :
Lưu lại Sau đó restart lại ssh để hoàn tất quá trình cấu hình với câu lệnh:
[ root@server ~]# service sshd restart
- Sang máy client mở phần mềm Putty để kết nối SSH đến server
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 36
- Nhập IP máy server và port để kết nối (mặc định port 22), cửa sổ terminal hiện ra nhập tên user và passwd vào là ok
Chứng thực bằng khóa (Keys Authentication) o Bước 1: Tạo SSH key bằng PuTTYgen
- Nhấn vào nút Generate để tạo mới private + public key Di chuyển trỏ chuột vào vùng trắng như hình dưới để tạo khóa
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 37
- Có thể thay đổi Key comment để dễ phân biệt và dễ nhớ nếu như có nhiều key
Để sử dụng mật khẩu cho khóa riêng tư, bạn cần nhập mật khẩu vào ô Key passphrase và xác nhận lại trong ô Confirm passphrase Chỉ những ai có passphrase mới có thể truy cập và sử dụng khóa riêng tư.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 38
Để lưu trữ khóa công khai, bạn có thể nhấn "Save public key" hoặc sao chép nội dung khóa mà không cần lưu file Để lưu khóa riêng tư, hãy nhấn "Save private key".
Trước khi lưu khóa, hãy chọn tiêu chuẩn RSA, DSA hoặc loại khác phù hợp với máy chủ SSH Bạn cũng có thể nâng cao mức độ mã hóa bằng cách tăng số bit từ 2048 lên 4096, nhưng nên để mặc định để đảm bảo tính ổn định.
Để tạo cặp khóa công khai và khóa riêng tư, bạn có thể sử dụng OpenSSH thay vì PuTTYgen Bước tiếp theo là thêm SSH key vào máy chủ.
- Đầu tiên cần tạo thư mục ssh tại thư mục home của user: mkdir ~/.ssh
- Tạo file authorized_keys trong thư mục ssh vừa tạo ở trên:
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 39
- Bây giờ cần copy nội dung của khóa công khai (public key) vào đây và lưu lại
- Vào đường dẫn vi /etc/ssh/sshd_config để tắt xác thực bằng password :
Thêm dấu # vào trước dòng (66) PasswordAuthentication yes chuyển yes thành no
- Thiết lập quyền cho thư mục và file ở trên: chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys o Bước 3: qua pc để truy tiến hành ssh
- Đối với Windows, nên sử dụng PuTTY SSH client để kết nối SSH bằng SSH key
- Như thường lệ, ở mục Session bên cột trái, nhập IP của máy chủ hoặc tên miền và Port (mặc định là 22)
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 40
- Ở cột tùy chọn bên trái, đi đến Connection > SSH > Auth và nhấn Browse… để mở khóa riêng tư (private key)
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 41
- Nhấn Open để kết nối SSH
NOTE: ~/.ssh/authorized_keys: Thư mục chứa public key (RSA hoặc
DSA) dùng để cấu hình SSH auth
Một số tuỳ chỉnh thêm: o Giới hạn IP truy cập SSH
Trong iptables , tiến hành đặt rule cho phép 1 IP truy cập cổng SSH
VD : IP Client laf 192.168.1.204 được phép SSH vào server với port
1234, các IP khác truy cập vào port đấy sẽ bị DROP
-A INPUT -m state –state NEW -m tcp -p tcp –dport 1234 -s 192.168.1.204 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 1234 -j DROP
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 42 o Giới hạn số lần đăng nhập sai và số phiên SSH
Giới hạn số lần đăng nhập sai :
MaxAuthTries 3 // Sau 3 lần đăng nhập sai sẽ thoát session , được dùng để tránh dò password
MaxSessions 1 // Chỉ được phép duy nhất 1 phiên kết nối SSH o Giới hạn số lần đăng nhập sai và số phiên SSH
Truy cập sshd_config và chỉnh :
PermitRootLogin no AllowUser sshvnitnews01 sshvnitnews02
Nếu server có nhiều user , cấu hình deny
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 43 o Cấu hình Logout SSH nếu phiên đang Idle (nhàn rỗi)
ClientAliveInterval 300 //Sau 300s = 5’ , sẽ bị logout nếu phiên đang
ClientAliveCountMax 0 //Khoảng thời gian chờ nếu không có dữ liệu sẽ gửi 1 thông điệp yêu cầu phản hồi
Sử dụng phần mềm Putty để ssh đến các hệ thống servers trong hệ thống mạng
Câu 1: So sánh khác nhau giữa TELNET và SSH ?
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 44
Câu 2: Vẽ sơ đồ mạng áp dụng SSH trong việc quản trị hệ thống mạng cho hệ thống mạng FIT-TDC
Câu 3: Thực hiện cấu hình TELNET và SSH chứng thực bằng username và password cho sơ đồ mạng sau:
Câu 4: Thực hiện cấu hình SSH chứng thực bằng key cho sơ đồ mạng sau::
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 45
DỊCH VỤ DHCP – DHCP RELAY
Chương này cung cấp cái nhìn tổng quan về dịch vụ DHCP trong việc xây dựng và quản trị hệ thống mạng Ngoài ra, chương cũng hướng dẫn cách xây dựng mô hình và thực hiện cấu hình dịch vụ DHCP cũng như DHCP RELAY trên hệ điều hành Linux.
Sau khi học xong chương này, sinh viên có thể:
- Trình bày ý nghĩa của DHCP servers trong việc cấp IP cho hệ thống mạng
- Phân biệt được giữa cấu hình IP theo Manually với Automatically
- Thực hiện cài đặt và cấu hình DHCP server
- Thực hiện cài đặt và cấu hình DHCP RELAY
3.1| Tổng quan dịch vụ DHCP, DHCP RELAY
Giao thức Cấp Phát IP Động (DHCP) tự động cấp phát địa chỉ IP và các cấu hình liên quan như Subnet mask, Gateway và DNS Server, giúp giảm thiểu sự can thiệp vào hệ thống mạng Client được cấu hình để nhận địa chỉ IP tự động, trong khi DHCP Server quản lý một cơ sở dữ liệu theo dõi tất cả máy tính Client trong mạng.
Các loại gói tin chính của DHCP Server:
Gói tin Discover là bước đầu tiên của một DHCP Client khi tham gia vào mạng Client sẽ gửi một gói DHCP Discover với địa chỉ nguồn là 0.0.0.0 để yêu cầu thông tin địa chỉ IP từ DHCP Server, vì lúc này client vẫn chưa có địa chỉ IP.
Khi DHCP Server nhận gói DHCP Discover từ client, nó sẽ phản hồi bằng cách gửi gói DHCP Offer, trong đó chứa các thông tin quan trọng như địa chỉ IP, Subnet Mask và Gateway Mặc dù có thể nhiều DHCP Server cùng gửi gói DHCP Offer, nhưng client chỉ chấp nhận gói DHCP Offer đầu tiên mà nó nhận được.
Gói DHCP Request được gửi bởi DHCP Client khi nhận được gói DHCP Offer, nhằm xác nhận hoặc kiểm tra lại các thông tin được cung cấp.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 46 thông tin mà DHCP Server vừa gửi
- DHCP Acknowledge: Server kiểm tra và xác nhận lại sự chấp nhận thuê địa chỉ IP từ client
Hình 3.1 – Các loại gói tin được trao đổi trong một phiên của giao thức DHCP
Các gói tin phụ của DHCP:
Gói tin DHCP Nak được gửi từ DHCP Server tới Client khi địa chỉ IP đã hết hạn hoặc đã được cấp phát cho một Client khác Khi nhận được gói tin này, Client sẽ phải khởi động lại quá trình thuê lại địa chỉ IP nếu muốn sử dụng lại địa chỉ đó.
Gói DHCP Decline được gửi bởi DHCP Client khi nhận được phản hồi không đầy đủ thông tin hoặc khi thông tin đã hết hạn Gói tin này yêu cầu các Server thiết lập lại tiến trình thuê địa chỉ IP.
The DHCP Release message is sent by the client to the server to terminate the IP lease Upon receiving this message, the server reclaims the IP address that was assigned to the client.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 47
Tiến trình hoạt động của một DHCP: Hoạt động cấp phát địa chỉ IP của giao thức DHCP sẽ thông qua các bước sau:
In the initial step, the workstation broadcasts a message to locate the DHCP Server for obtaining an IP address The client sends a DHCP Discover packet, which includes the client's MAC address, across the network.
Bước 2: Nhiều DHCP Server có khả năng nhận thông điệp và cung cấp địa chỉ IP cho máy trạm Khi Server có cấu hình địa chỉ IP hợp lệ, nó sẽ gửi thông điệp “DHCP Offer” kèm theo địa chỉ MAC của Client đã gửi trước đó.
“Offer”, subnet mask, địa chỉ IP của máy chủ (địa chỉ Gateway) và thời gian cho thuê đến Client, DNS Server…
Khi Client nhận gói tin DHCP Offer và đồng ý thuê địa chỉ IP trong gói tin đó, Client sẽ gửi một bản tin DHCP Request tới DHCP Server để yêu cầu cấp phát địa chỉ IP.
Cuối cùng, DHCP Server xác nhận với Client qua bản tin DHCP Acknowledge, sau đó cấp phát địa chỉ IP, subnet mask, địa chỉ Gateway và các thông tin khác cho Client trong thời hạn "lease" đã thiết lập Khi hết hạn, Client sẽ gửi bản tin DHCPRequest unicast đến DHCP Server để gia hạn địa chỉ IP Nếu DHCP Server còn hoạt động, nó sẽ phản hồi bằng gói tin DHCP-ACK, cung cấp thông tin cấu hình mới nhất cho DHCP Client.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 48
Hình 3.2 – Tiến trình hoạt động của DHCP
DHCP Relay Agent là tính năng được cấu hình trên Router trung gian để nhận và chuyển tiếp các yêu cầu cấp phát IP từ Clients đến DHCP server Mặc định, các Router sẽ loại bỏ tất cả các gói tin broadcast, trong khi Clients gửi yêu cầu cấp phát địa chỉ IP dưới dạng bản tin broadcast.
Trong mô hình này, gói tin broadcast sẽ bị loại bỏ tại Relay Agent, dẫn đến việc client không thể nhận địa chỉ IP từ DHCP Server Do đó, các client sẽ không có khả năng kết nối mạng.
Để thiết lập cấu hình DHCP Relay Agent, Router sẽ hoạt động như một DHCP Relay Agent, chuyển đổi các bản tin Broadcast từ Client thành bản tin Unicast gửi đến DHCP Server Trong quá trình này, DHCP Agent giữ vai trò là người phiên dịch giữa Clients và Server.
Các lý do nên sử dụng DHCP Relay Agent
DỊCH VỤ DNS
Chương này cung cấp cái nhìn tổng quan về dịch vụ DNS trong việc xây dựng và quản trị hệ thống mạng Đồng thời, nó hướng dẫn cách xây dựng mô hình và thực hiện cấu hình dịch vụ DNS Master và DNS Slave trên hệ điều hành Linux.
Sau khi học xong chương này, sinh viên có thể:
- Trình bày ý nghĩa của DNS server trong phân giải giữa IP và tên miền cho hệ thống mạng
- Phân biệt được giữa DNS master và DNS slave
- Thực hiện cài đặt và cấu hình DNS master
- Thực hiện cài đặt và cấu hình DNS slave
4.1| Tổng quan dịch vụ DNS
DNS, hay Hệ thống phân giải tên miền, được phát minh vào năm 1984, là một hệ thống cho phép liên kết giữa địa chỉ IP và tên miền Hệ thống này cung cấp cách đặt tên cho máy tính, dịch vụ và các nguồn lực trên Internet, giúp kết nối thông tin đa dạng với các tên miền Quan trọng nhất, DNS chuyển đổi tên miền dễ hiểu cho con người thành các số định danh nhị phân, phục vụ cho việc định vị và địa chỉ hóa thiết bị trên toàn cầu.
4.1.2| Nguyên tắc làm việc của DNS
Mỗi nhà cung cấp dịch vụ đều vận hành và duy trì máy chủ DNS riêng, nằm trong hạ tầng của họ trên Internet Khi một trình duyệt tìm kiếm địa chỉ của một website, máy chủ DNS phân giải tên miền phải là của tổ chức quản lý website đó, không phải từ một nhà cung cấp dịch vụ khác.
INTERNIC (Internet Network Information Center) chịu trách nhiệm theo dõi các tên miền và các DNS server tương ứng INTERNIC là một tổ chức được thành lập bởi NFS
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 59
The National Science Foundation, AT&T, and Network Solutions are responsible for registering Internet domain names INTERNIC's role is to manage all DNS servers on the Internet, but it does not resolve names for individual addresses.
DNS có khả năng truy vấn các máy chủ DNS khác để giải quyết tên miền Mỗi máy chủ DNS của tên miền thực hiện hai nhiệm vụ chính: đầu tiên, nó phân giải tên từ các máy bên trong miền thành địa chỉ Internet, bao gồm cả bên trong và bên ngoài miền Thứ hai, nó cung cấp phản hồi cho các máy chủ DNS bên ngoài đang cố gắng giải quyết tên miền trong phạm vi quản lý của nó.
Máy chủ DNS có khả năng lưu trữ các tên miền đã được phân giải để phục vụ cho các yêu cầu phân giải trong tương lai Số lượng tên miền được lưu trữ phụ thuộc vào quy mô của từng máy chủ DNS.
4.1.3| Các khái niệm trong DNS
- Không gian tên miền (Domain name space) : Không gian tên miền là một kiến trúc
Tài liệu giảng dạy về Quản trị hệ thống Linux mô tả cấu trúc cây, trong đó mỗi nốt (node) có thể chứa một nhãn và một hoặc nhiều resource record (RR) liên quan đến tên miền Đặc biệt, nốt root không có nhãn.
Tên miền (Domain name) là chuỗi được cấu thành từ các nhãn, phân cách nhau bằng dấu chấm (.) Mỗi node trong cấu trúc cây có một nhãn riêng, trong đó nhãn rỗng biểu thị cho root Tên miền đầy đủ của bất kỳ node nào trong cây được xác định bởi thứ tự các nhãn từ node đó đến root, với mỗi nhãn được phân chia bằng dấu chấm (.) Cách đặt tên này giúp xác định vị trí của node trong hệ thống.
Cây tên miền được xác định bởi các node, mỗi node mang một FQDN (tên miền đầy đủ) như example.com Tên miền được phân chia theo cấp độ, bao gồm tên miền cấp cao nhất (top-level domain) và các tên miền cấp 1, cấp 2, v.v Các loại top-level domain phổ biến bao gồm com cho các tổ chức thương mại và org cho 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ục
• gov: các tổ chức chính phủ
• mit: các tổ chức quân sự
• *top-level domain theo quốc gia:
Mỗi tổ chức hoặc doanh nghiệp cần thiết lập một hoặc nhiều máy chủ tên (name server) để quản lý cơ sở dữ liệu DNS cho tất cả các máy tính Trong số đó, một máy chủ sẽ được gọi là máy chủ tên chính (primary name server).
Primary DNS Server (PDS) là nguồn xác thực chính thức cho thông tin tên miền mà nó quản lý Thông tin về tên miền được PDS phân cấp lưu trữ và có thể chuyển giao cho các Secondary DNS Server (SDS).
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 61
- Các tên miền do PDS quản lý thì được tạo, và sửa đổi tại PDS và sau đó được cập nhật đến các SDS
Để đảm bảo tính ổn định và an toàn cho hệ thống DNS, nên sử dụng ít nhất hai máy chủ DNS để lưu trữ địa chỉ cho mỗi vùng PDS chịu trách nhiệm quản lý các vùng, trong khi SDS được khuyến khích sử dụng để lưu trữ dự phòng cho cả vùng và PDS Mặc dù SDS không bắt buộc, nhưng việc sử dụng nó là rất hữu ích SDS có thể quản lý tên miền, tuy nhiên, dữ liệu về tên miền sẽ được lấy từ PDS, chứ không phải do SDS tạo ra.
SDS có khả năng cung cấp các hoạt động ở chế độ không tải trên mạng, giúp đảm bảo hoạt động liên tục khi PDS gặp sự cố Khi lượng truy vấn vùng tăng cao, PDS sẽ chuyển bớt tải sang SDS thông qua quá trình cân bằng tải, giúp giảm tải và đảm bảo hiệu suất Ngoài ra, SDS cũng có thể hoạt động thay thế cho PDS khi hệ thống này gặp sự cố, cho đến khi PDS hoạt động trở lại.
SDS thường được triển khai gần các máy trạm để phục vụ truy vấn một cách dễ dàng Tuy nhiên, không nên cài đặt SDS trên cùng một subnet hoặc kết nối với PDS, vì điều này có thể gây ra rủi ro Việc tách biệt SDS khỏi PDS sẽ tạo ra một giải pháp dự phòng hiệu quả, đảm bảo rằng khi kết nối đến PDS bị hỏng, SDS vẫn hoạt động bình thường và không bị ảnh hưởng.
PDS duy trì một lượng lớn dữ liệu và thường xuyên cập nhật các địa chỉ mới cho các vùng Để chuyển thông tin từ PDS sang SDS và lưu trữ trên đĩa, DNS server sử dụng một cơ chế đặc biệt Khi cần phục hồi dữ liệu về các vùng, có thể áp dụng giải pháp lấy toàn bộ (full) hoặc chỉ lấy phần thay đổi (incremental).
Các khái niệm trong Zone :
- primary zone: cho phép đọc và ghi cơ sở dữ liệu và có toàn quyền trong việc update dữ liệu của DNS
- secondary zone: cho phép đọc và ghi bản sao của sơ sở dữ liệu và muốn được cập nhật zone thì phải đồng bộ với Primary zone
- forwarder: là kỹ thuật cho phép name server nội bộ gửi yêu cầu truy vấn đến server khác để phân giải những tên miền bên ngoài hệ thống
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 62
DỊCH VỤ WEB SERVER
Chương này giới thiệu tổng quan về dịch vụ Web trong việc xây dựng và quản trị hệ thống Web Server Ngoài ra, chương cũng hướng dẫn cách xây dựng mô hình và thực hiện cấu hình dịch vụ Web trên hệ điều hành Linux.
Sau khi học xong chương này, sinh viên có thể:
- Trình bày ý nghĩa của dịch vụ web server
- Phân biệt được các dạng code web khác nhau trong thực tế
- Thực hiện cài đặt và cấu hình web server cho hệ thống
- Thực hiện cài đặt và cấu hình web server cho code web php + sql, web wordpress
5.1| Tổng quan về dịch vụ Web Server
Web Server là máy chủ chịu trách nhiệm xử lý các yêu cầu từ máy khách thông qua giao thức HTTP Nó có thể tồn tại dưới dạng phần cứng, phần mềm, hoặc cả hai.
Web Server là một máy tính chuyên lưu trữ các tệp tin cần thiết cho một website, bao gồm tài liệu HTML, hình ảnh, file CSS và file Javascript.
Web Server là phần mềm điều khiển giúp người dùng truy cập các file lưu trữ trên máy chủ HTTP Máy chủ HTTP hiểu các địa chỉ URL của website và sử dụng giao thức HTTP để trình duyệt hiển thị trang web.
Quy trình truy cập một trang web bắt đầu khi trình duyệt gửi yêu cầu đến Web Server Server sẽ tìm kiếm file theo yêu cầu và lưu trữ trên ổ đĩa Khi file được tìm thấy, Server sẽ đọc và xử lý yêu cầu (nếu cần) trước khi gửi kết quả trở lại trình duyệt cho người dùng.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 85
Hình 5.1 – Tổng quan Web Server
5.1.2| Quy trình hoạt động chi tiết của Web Server
Lưu trữ các file (Hosting files)
Máy chủ Web Server đóng vai trò quan trọng trong việc lưu trữ các file như HTML, hình ảnh, CSS và JavaScript của một website Việc lưu trữ các file này trên máy chủ mang lại nhiều lợi ích, bao gồm khả năng sẵn sàng hoạt động 24/7, kết nối liên tục với mạng internet, địa chỉ IP cố định và được bảo vệ bởi nhà cung cấp Điều này làm cho việc sở hữu một máy chủ Web Server trở thành yêu cầu thiết yếu trong quá trình xây dựng và phát triển một trang web chuyên nghiệp.
Giao tiếp thông qua HTTP
Web Server hỗ trợ giao thức HTTP, cho phép truyền tải siêu văn bản giữa hai máy tính Giao thức này bao gồm các quy tắc kết nối, trong đó có giao thức Textual và giao thức Stateless.
- Giao thức Textual bao gồm tất cả các lệnh để văn bản thuần túy và con người có thể đọc được
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 86
Giao thức Stateless cho phép server và client không lưu trữ thông tin về các kết nối trước đó HTTP thiết lập các quy tắc rõ ràng để hướng dẫn cách thức giao tiếp giữa client và server.
Nội dung Static với Dynamic
- Static (served as-is) có nghĩa là “được phục vụ nguyên vẹn” Static website dễ dàng được thiết lập vì thế hãy tạo một Static site đầu tiên
Dynamic là thuật ngữ chỉ việc server xử lý nội dung và tạo ra dữ liệu từ cơ sở dữ liệu Mặc dù đây là một giải pháp linh hoạt, nhưng kỹ thuật thực hiện lại phức tạp hơn, khiến việc xây dựng website trở nên khó khăn và phức tạp hơn rất nhiều.
5.1.3| Những điều cần lưu ý khi sử dụng Web Server
Hình 5.2 – Lưu ý sử dụng Web Server
Web server software là ứng dụng phần mềm tương tự như các phần mềm trên máy tính, được cài đặt trên máy chủ để hỗ trợ người dùng tìm kiếm thông tin từ website Để hoạt động hiệu quả, máy chủ cần có cấu hình mạnh, có khả năng xử lý lượng lớn người dùng truy cập và lưu trữ dung lượng dữ liệu cao.
Server cần hoạt động liên tục 24/7 để đảm bảo cung cấp thông tin trực tuyến một cách ổn định Do đó, việc lựa chọn server phù hợp là rất quan trọng để duy trì hiệu suất và độ tin cậy của dịch vụ.
Dịch vụ cho thuê server ngày càng phát triển mạnh mẽ, đáp ứng nhu cầu thay đổi liên tục của doanh nghiệp và cải thiện chất lượng, tốc độ truyền tải thông tin từ web server đến máy tính truy cập Sự đa dạng trong các gói dịch vụ cho phép các doanh nghiệp tìm kiếm lựa chọn tối ưu cho hoạt động của mình.
Máy chủ web mạnh mẽ sẽ cải thiện khả năng lưu trữ dữ liệu và tăng tốc độ truyền tải thông tin trên website, từ đó nâng cao trải nghiệm truy cập của người dùng.
Để đảm bảo an toàn thông tin, các hệ thống Web servers khuyến khích sử dụng giao thức HTTPS (HyperText Transfer Protocol Secure) Giao thức này kết hợp với SSL (Secure Sockets Layer) để mã hóa dữ liệu trong quá trình truyền tải, tăng cường tính bảo mật giữa Web server và trình duyệt HTTPS sử dụng cổng 443 để truyền dữ liệu, giúp bảo vệ thông tin người dùng hiệu quả hơn.
5.2| Ví dụ xây dựng mô hình
Hình 5.3 – Mô hình thực hiện Web Server
5.3| Cài đặt và cấu hình Web Server(Apache, PHP, mySQL)
Thực hiện cài đặt các gói cần thiết cho dịch vụ: httpd, php, mysql, (Theo hướng dẫn trong phần cấu hình từng phần)
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 88
Cho phép mặc định chạy khi khởi động
Cấu hình nội dung file index.html
[root@Server ~]# vi /var/www/html/index.html
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 89
# yum install mysql mysql-server –y
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 90
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 91
# vi /etc/httpd/conf.d/phpMyAdmin.conf
Sửa dòng 17 với 25 thành địa chỉ server
Truy cập địa chỉ phpmyadmin
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 92
Truy cập địa chỉ 192.168.1.1/phpmyadmin
Tại máy client: Kiểm tra web html Đối với Web PHP-SQL có thể lên các trang source web (sharecode.vn, scodeweb.com, ) tải về và upload web:
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 93
5.4| Cài đặt và cấu hình XAMPP
XAMPP là một phần mềm tạo máy chủ Web tích hợp Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin Khác với Appserv, XAMPP cung cấp một giao diện quản lý tiện lợi, cho phép người dùng dễ dàng bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào.
Xampp là một mã nguồn mở máy chủ web đa nền được phát triển bởi Apache Friends,
DỊCH VỤ MAIL SERVER
Chương này cung cấp cái nhìn tổng quan về dịch vụ Mail trong việc xây dựng và quản trị hệ thống mạng Mail Server Đồng thời, chương cũng hướng dẫn cách thiết lập mô hình và cấu hình dịch vụ Mail trên hệ điều hành Linux.
Sau khi học xong chương này, sinh viên có thể:
- Trình bày ý nghĩa của Mail server trong thực tiễn
- Phân biệt được giữa Public mail và Mail server cho doanh nghiệp
- Thực hiện cài đặt và cấu hình Mail server
- Thực hiện cài đặt và cấu hình Mail client
6.1| Tổng quan dịch vụ Mail Server
Máy chủ email là giải pháp tối ưu cho doanh nghiệp trong việc gửi và nhận thư điện tử, giúp quản lý và truyền thông nội bộ hiệu quả Nó hỗ trợ thực hiện các giao dịch thương mại với yêu cầu về sự ổn định, tính liên tục và tốc độ nhanh, đồng thời đảm bảo an toàn dữ liệu và khả năng sao lưu cao.
Hệ thống thư điện tử Email server giúp khắc phục các vấn đề như virus, spam, bị đưa vào danh sách đen, khó khăn trong việc kiểm tra webmail, cũng như khả năng truy cập trực tuyến hoặc ngoại tuyến và kiểm soát nội dung hiệu quả.
6.1.2| Giao thức hoạt động của Mail server ?
Hiện nay, có ba giao thức cơ bản được sử dụng trong máy chủ email để đảm bảo hệ thống hoạt động hiệu quả và bảo mật cao.
SMTP (Simple Mail Transfer Protocol) là giao thức được sử dụng để gửi email từ ứng dụng như Postfix đến máy chủ email hoặc giữa các máy chủ email khác nhau, hoạt động trên cổng TCP 25.
– POP3 – Post Office Porotocol version 3: giao thức này được dùng để tải một email từ một máy chủ email POP3 sử dụng cổng TCP 110
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 119
IMAP (Internet Message Access Protocol) là giao thức mới hơn của POP, hoạt động trên cổng TCP 143 và cho phép người dùng kiểm soát email trực tiếp trên mail server IMAP có ba chế độ hoạt động: trực tuyến, ngoại tuyến và ngắt kết nối Trong chế độ ngoại tuyến, khi email được chuyển tới máy client, chúng sẽ bị xóa khỏi mail server và hệ thống sẽ ngắt kết nối Người dùng có thể đọc, trả lời và thực hiện các tác vụ khác mà không cần kết nối internet, nhưng để gửi thư, họ cần kết nối lại Thông điệp sẽ được lưu tạm trên client server và được cập nhật trở lại vào mail server khi có kết nối mới.
Máy chủ email hoạt động theo quy trình sau: Bước 1, sau khi tạo và gửi email, email sẽ kết nối với Server SMTP có tên miền tương ứng, ví dụ: smtp.tenmien.com Bước 2, email sẽ "giao tiếp" với Server SMTP, cung cấp thông tin cần thiết như địa chỉ email người gửi, địa chỉ email người nhận, nội dung email và file đính kèm Bước 3, tại đây sẽ xảy ra hai trường hợp khác nhau.
Trường hợp 1: Tên miền (domain email) của người gửi và người
Tài liệu giảng dạy Quản trị hệ thống Linux đề cập đến việc gửi email từ địa chỉ tenemail_1@tenmienA.com đến tenemail_2@tenmienA.com Email này sẽ được chuyển trực tiếp đến máy chủ POP3 hoặc IMAP có cùng tên miền.
Trong trường hợp tên miền của người gửi và người nhận khác nhau, ví dụ tenemail_1@tenmienA.com gửi tới tenemail_2@tenmienB.com, SMTP Server sẽ cần liên lạc với một server tên miền khác Để xác định server của người nhận, SMTP Server của người gửi phải giao tiếp với DNS (Domain Name Server).
DNS sẽ lấy thông tin tên miền người nhận và dịch trang địa chỉ IP
SMTP Server của người gửi cần có địa chỉ IP duy nhất để gửi email chính xác dựa trên tên miền Sau khi xác định địa chỉ IP của người nhận, SMTP người gửi có thể kết nối với SMTP Server của người nhận Tại đây, SMTP Server sẽ quét thư gửi đến; nếu nhận diện được tên miền và tên người gửi, nó sẽ chuyển tiếp email đến máy chủ POP3 hoặc IMAP tương ứng Cuối cùng, email sẽ được gửi đến hộp thư đến của người nhận.
Ví dụ minh họa hoạt động của hệ thống mail:
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 121
Hình 6.2 – Ví dụ quá trình gửi nhận mail qua Mail Server Giả sử Sơn muốn gửi email cho Minh
Sơn sử dụng email client / Web mail (MUA) để soạn email, khi đó mail client sẽ kết nối đến SMTP server (mail server)
Tại máy chủ SMTP, ứng dụng MTA (Mail Transfer Agent) thực hiện tra cứu DNS để xác định MTA tương ứng của người dùng Minh thông qua bản ghi MX Trong vùng DNS, có một bản ghi MX chỉ định địa chỉ miền của Minh Sau khi hoàn tất tra cứu DNS, hệ thống nhận được phản hồi với thông tin về địa chỉ IP của máy chủ mail của Minh.
Quá trình chuyển tiếp email giữa 2 MTA:
Khi gửi email, MTA sẽ xử lý mọi vấn đề liên quan đến việc gửi thư cho đến khi email được nhận hoặc từ chối bởi MTA khác Sau khi email được gửi, nó sẽ di chuyển qua mạng Internet, và mỗi MTA sẽ tra cứu địa chỉ nhận từ DNS để xác định MTA tiếp theo Hầu hết các email chọn đường đi dựa vào tính khả dụng của MTA, vì vậy email từ cùng một mail server gửi và nhận ở một mail server khác có thể đi qua các đường khác nhau.
Tiếp đến email sẽ được gửi đi theo những thông tin vừa lấy được thông qua
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 122
Internet để đến mail server của Minh
Trong quá trình chuyển email, firewall sẽ kiểm tra spam và virus trước khi cho phép email đi qua Nếu phát hiện virus, email sẽ bị cách ly và người gửi sẽ nhận thông báo Đối với email bị đánh dấu là spam, nó sẽ bị xóa mà không có thông báo cho người gửi Tuy nhiên, việc phát hiện spam khá khó khăn, vì vậy bộ lọc sẽ kiểm tra dựa trên nhiều tiêu chí khác nhau.
Khi email đến mail server của Minh, Minh cần đăng nhập vào tài khoản email và sử dụng một trong hai giao thức POP3 hoặc IMAP để tải email về Nếu chọn POP3, toàn bộ email sẽ được tải về máy cá nhân và xóa khỏi mail server, mặc dù hiện nay nhiều mail server cho phép giữ lại bản sao Ngược lại, nếu sử dụng IMAP, email sẽ được lưu trữ trên mail server, và máy cá nhân chỉ có bản ảnh xạ tạm thời; khi tắt mail client, bản tạm này sẽ bị xóa Trong quá trình gửi và nhận email, có một phần gọi là mail queue trên cả hai mail server Nếu xảy ra lỗi trong quá trình gửi, email sẽ được đưa vào mail queue và chờ gửi lại cho đến khi thành công, và người gửi sẽ nhận được thông báo lỗi qua email phản hồi.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 123
6.2| Ví dụ xây dựng mô hình
Hình 6.3 – Mô hình thực hiện
6.3| Cài đặt và cấu hình Mail Server
6.3.1| Cài đặt và cấu hình
Trước khi khởi động dịch vụ postfix trên hệ điều hành Centos, bạn cần gỡ bỏ dịch vụ sendmail, vì dịch vụ này thường được bật sẵn và chiếm port 25 Việc kiểm tra và tắt sendmail là cần thiết để đảm bảo postfix hoạt động một cách hiệu quả.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 124
-Tắt SELINUX trên server bằng lệnh “vi /etc/selinux/config” sửa dòng 7 thành
Bước 2: Cài đặt dịch vụ DNS
Thay đổi file phân giải thuận
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 125
Bước 3: Dùng lệnh “ # vi /etc/hosts ” thêm tên máy chủ và địa chỉ
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 126
# vi /etc/sysconfig/iptables.old xóa dòng thứ # 10 và thêm bằng dòng lệnh bên dưới
-A INPUT -m state state NEW -m tcp -p tcp dport 80 -j ACCEPT
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 127
Bước 4: Cài đặt gói Postfix bằng lệnh
DỊCH VỤ FTP SERVER
Chương này giới thiệu về dịch vụ FTP trong việc xây dựng và quản trị hệ thống mạng, đồng thời hướng dẫn cách xây dựng mô hình và cấu hình dịch vụ FTP trên hệ điều hành Linux.
Sau khi học xong chương này, sinh viên có thể:
Trình bày ý nghĩa của Ftp server trong thực tiễn
Phân biệt được giữa Ftp server với các hệ thống chia sẻ tài nguyên
Thực hiện cài đặt và cấu hình Ftp server
Thực hiện cài đặt và cấu hình Ftp client
7.1| Tổng quan dịch vụ ftp
FTP (File Transfer Protocol) là giao thức cho phép tải lên và tải xuống các file giữa máy tính cá nhân và máy chủ FTP Giao thức này hoạt động qua TCP/IP, thường sử dụng cổng 20 và 21, giúp các máy client trong mạng truy cập và trao đổi dữ liệu với máy chủ FTP FTP được coi là phương pháp đơn giản nhất để truyền tải file qua Internet.
Việc chuyển tệp từ máy khách đến máy chủ được gọi là “tải lên”, còn chuyển tệp từ máy chủ đến máy khách được gọi là “tải xuống”
Hình 7.1 – Tổng quan FTP Server
7.1.2| Mô hình hoạt động của giao thức FTP
Giao thức FTP hoạt động dựa trên mô hình cơ bản của việc truyền và nhận dữ liệu từ
Quá trình truyền nhận dữ liệu giữa máy Client và Server trong hệ thống Linux được thực hiện thông qua hai tiến trình TCP logic: Control Connection và Data Connection.
Hình 7.2 – Mô hình hoạt động của giao thức FTP
FTP gồm hai đường: Kiểm soát và dữ liệu
Kết nối điều khiển là phiên làm việc TCP logic đầu tiên được thiết lập khi bắt đầu quá trình truyền dữ liệu Phiên này chỉ kiểm soát các thông tin điều khiển, chẳng hạn như các tập lệnh, và sẽ được duy trì trong suốt thời gian diễn ra phiên làm việc.
Kết nối dữ liệu (Data Connection) là một kết nối TCP được thiết lập nhằm mục đích truyền tải dữ liệu giữa máy Client và máy Server Khác với kết nối điều khiển (Control Connection), kết nối dữ liệu sẽ tự động ngắt khi quá trình truyền tải hoàn tất.
7.1.3| Các phương thức truyền dữ liệu trong giao thức FTP
Khi thiết lập quá trình truyền dữ liệu, dữ liệu sẽ được chuyển từ máy Client đến máy Server hoặc ngược lại FTP hỗ trợ ba phương thức truyền tải dữ liệu: stream mode, block mode và compressed mode.
Chế độ stream hoạt động dựa trên tính tin cậy của giao thức TCP, cho phép truyền dữ liệu dưới dạng các byte không liên tiếp Thiết bị gửi chỉ cần đẩy luồng dữ liệu qua kết nối TCP đến thiết bị nhận mà không yêu cầu một trường tiêu đề cố định.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 153
Chế độ Block là một phương thức truyền dữ liệu tiêu chuẩn, trong đó dữ liệu được chia thành nhiều khối nhỏ và đóng gói thành các khối FTP Mỗi khối sẽ chứa thông tin về dữ liệu đang được gửi.
Chế độ nén là phương thức truyền dữ liệu sử dụng kỹ thuật nén đơn giản mang tên “run-length encoding” Thuật toán này giúp phát hiện và loại bỏ các đoạn dữ liệu lặp lại, từ đó giảm kích thước của toàn bộ thông điệp khi được gửi đi.
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 154
7.2| Ví dụ xây dựng mô hình
Hình 7.3 – Mô hình thực hiện FTP Server
7.3| Cài đặt và cấu hình FTP server
Cài gói vsftpd: # yum install vsftpd
Bước 1: Vào file vsftpd.conf sửa các lệnh sau: o Đầu tiên là không cho các tài khoản anonymous đăng nhập
anonymous_enable=NO o Chỉ cho phép các tài khoản thực trên CentOS đăng nhập vào FTP server
local_enable=YES o Thêm quyền ghi xóa sửa cho các user
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 155
write_enable=YES o Giới hạn các user chỉ phép hoạt động trong thư mục của nó
chroot_local_user=YES o Lưu file cấu hình lại rồi start dịch vụ vsftpd
service vsftpd start o Lưu ý:” Bỏ dấu # để lệnh có hiệu lực.”
Bước 2: Tạo tài khoản ftp:
Thông thường khi chúng ta tạo user bằng lệnh useradd U1 thì thư mục sở hữu của user U1 được tạo trong /home/U1
Để dễ dàng quản lý, chúng ta sẽ tạo một thư mục sở hữu trong đường dẫn /var/ftp/ Sử dụng lệnh sau để thực hiện: `useradd –d /var/ftp/[tên thư mục muốn tạo] –s /sbin/nologin [Tên tài khoản]`.
-d là đường dẫn thư mục sở hữu của user tạo ra
-s /sbin/nologin là không cho tài khoản đăng nhập vào server, chỉ để xài cho ftp
Ví dụ: useradd –d /var/ftp/data –s /sbin/nologin u1
Sau khi tạo tài khoản FTP thành công, bạn cần kiểm tra trên máy client bằng cách mở trình duyệt như Internet Explorer và gõ địa chỉ FTP server, ví dụ: ftp://192.168.1.1 Tiếp theo, đăng nhập bằng tài khoản vừa tạo để hoàn tất cấu hình FTP cơ bản.
Lưu ý: o Tắt firewall service iptables stop o Tắt selinux vi /etc/sysconfig/selinux
SELINUX=disabled o Vào vi /etc/sysctl.conf để sửa net.ipv4.ip_forward=1
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 156
7.3.3| Kết quả thực hiện Đăng nhập vào FTP Server
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 157 Đăng nhập thành công
7.4| Cấu hình SSL cho FTP
Tiếp theo chúng ta sẽ setup SSL cho ftp: o mkdir /etc/ssl/private
Tạo certificate và key o openssl req –x509 –nodes –days 365 –newkey rsa:1024 – keyout /etc/ssl/private/vsftpd.pem –out
/etc/ssl/private/vsftpd.pem
Sau khi gõ lệnh trên thành công thì sẽ xuất hiện một bảng yêu cầu nhập thông tin như sau:
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 158
Phân quyền lại cho file vsftpd.pem vừa tạo ở trên o chmod 600 /etc/ssl/private/vsftpd.pem
Thêm các tùy chọn sau vào file vi /etc/vsftpd/vsftpd.conf để sử dụng SSL và TLS:
To enable TLS for secure FTP connections, configure your vsftpd settings by specifying the RSA certificate file located at /etc/ssl/private/vsftpd.pem Ensure that SSL is enabled by setting ssl_enable to YES and restrict the cipher suites to HIGH for enhanced security Activate TLS version 1 by setting ssl_tlsv1 to YES, while disabling SSL version 2 and 3 by setting ssl_sslv2 and ssl_sslv3 to NO, respectively Additionally, enforce SSL for both local data transfers and logins by setting force_local_data_ssl and force_local_logins_ssl to YES.
Fix PASV ports o pasv_enable=YES o pasv_min_port!000 o pasv_max_port!010
Cuối cùng chúng ta restart lại dịch vụ và sang máy client kiểm tra đã thành công chưa: o service vsftpd restart
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 159
Sang máy client tải phần mềm FileZilla https://filezilla-project.org/download.php
Sau đó tiến hành cài đặt FileZilla
Mở phần mềm FileZilla lên o Vào site manager New site
Nhập tên user, IP của FTP vừa tạo Sau đó click connect, xuất hiện một bảng Unknown certificate rồi click OK để tiếp tục
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 160
Câu 1: Trình bày ý nghĩa của FTP Server trong ứng dụng thực tiễn ?
Câu 2: Vẽ sơ đồ mạng áp dụng FTP Server trong việc quản trị hệ thống doanh nghiệp
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 161
Câu 3: Thực hiện cấu hình FTP Server chứng thực bằng username và password cho sơ đồ mạng sau:
Câu 4: Thực hiện cấu hình FTP Server chứng thực bằng key cho sơ đồ mạng sau::
Tài liệu giảng dạy Quản trị hệ thống Linux 2 Trang 162