Quản lý nhiều máy chủ Virtualhost với ISPConfig3

Một phần của tài liệu Quản lý quản trị các dịch vụ mạng (Trang 45)

Để quản lý được mô hình nhiều máy chủ Virtual host với ISPConfig 3 chúng ta phải có 1 máy chủ làm máy chủ chính (máy chủ này sẽ chạy Web server và giao diện Cpanel của ISPConfig), các máy chủ còn lại sẽ là các máy chủ phụ để san tải với máy chủ chính hoặc chạy các dịch vụ chuyên dụng như DNS, Mail, Web, MySQL.

Giả sử ta có 3 máy chủ như sau: Web Server

Hostname: web.example.com IP address: 192.168.0.105

Mail Server

Hostname: mail.example. com IP address: 192.168.0.106

DNS Server

Hostname: ns1.example. com IP address: 192.168.0.108

Để xây dựng mô hình nhiều máy chủ Virtual host với ISPConfig 3 chúng ta làm như sau:

46

Trên máy chủ Mail Server, DNS Server cũng sẽ cài ISPConfig 3, nhưng sau đó xoá giao diện ISPConfig trong đường dẫn /var/www.

Sau đó xoá 1 số thư mục cài đặt sau bằng các lệnh:

rm -rf /tmp/ispconfig3_install/install rm -f /tmp/ISPConfig-3-stable.tar.gz

Sau đó đăng nhập vào ISPConfig trên máy chủ chính và gõ http://192.168.0.105:8080 trên trình duyệt Web. [6]

Sau đó vào System > Server services >tạo tên miền cho các máy chủ phụ như các hình sau:

Hình 3.5: Tạo tên miền máy chủ Web Server

47

Hình 3.7: Tạo tên miền máy chủ DNS Server

Như vậy từ máy chủ master sử dụng ISPConfig 3 có thể quản lý các máy chủ khác.

3.4. Mô hình nhiều máy chủ và proxy ngƣợc 3.4.1. Giới thiệu mô hình

Sử dụng mô hình nhiều máy chủ Virtual host với ISPConfig 3, giải quyết được vấn đề quản lý tập trung, hệ thống có khả năng xử lý nhiều công việc nhưng với hệ thống như vậy máy chủ rất dễ bị tấn công từ bên ngoài bằng các hình thức tấn công từ chối dịch vụ dẫn tới hệ thống bị tê liệt. Mô hình nhiều máy chủ và proxy ngược có thể dễ dàng giải quyết việc đó.

Proxy ngược là thiết bị đứng giữa một server và tất cả các client mà server phục vụ, đảm bảo an toàn cho server. Khác với forward proxy đứng giữa 1 client và tất cả server mà client truy cập đến, đảm bảo an toàn cho client.

Vai trò của Proxy trong mô hình.

- Tại reverse proxy sẽ kiểm soát, lọc bỏ các request không hợp lệ và luân chuyển các request hợp lệ tới đích cuối cùng là các server.

- Reverse proxy có thể ẩn và che dấu sự tồn tại của server.

- Khi client từ Internet truy cập và web server, reverse proxy đóng vai trò là web server. Client chỉ giao tiếp trực tiếp với proxy server. Reverse proxy sẽ chuyển yêu cầu từ client tới web server và đáp lại theo chiều ngược lại.

Có 2 mô hình reverse proxy: - Reverse proxy bảo vệ.

48

- Reverse proxy tích hợp.

Hình 3.8: Mô hình nhiều máy chủ và Proxy ngược

Ƣu điểm của mô hình nhiều máy chủ và Proxy ngƣợc

- Chỉ cần một địa chỉ IP public có thể sử dụng cho mô hình gồm nhiều Server - Thực hiện xác thực người sử dụng. (adsbygoogle = window.adsbygoogle || []).push({});

- Có thể che dấu được Server bên trong của mạng cần bảo vệ. - Dễ dàng ghi lại các log file.

Nhƣợc điểm của mô hình nhiều máy chủ và Proxy ngƣợc

- Mỗi tên miền cần một máy ảo quản lý.

- Yêu cầu người quản trị hệ thống thiết lập bộ lọc hiệu quả. - Mỗi dịch vụ cần một một Proxy riêng biệt.

- Hiện tượng nút cổ chai khi Proxy ngược phải thực hiện mọi nhiệm vụ từ bên ngoài dẫn đến hệ thống bị dừng khi xảy ra sự cố.

3.4.2. Xây dựng mô hình Proxy ngƣợc trên Apache

Các mod_ proxy trong Apache hỗ trợ cả 2 loại proxy là forward proxy và reverse proxy. Với Apache 1.x thì mod_proxy chỉ hỗ trợ giao thức http/1.0. Nhưng với Apache 2.0 được cải tiến và hỗ trợ giao thức http/1.1 với những thay đổi đáng kể về cơ chế kiểm soát bộ nhớ cache và cũng là phiên bản đầu tiên hỗ trợ cân bằng tải.

49

Những module được sử dụng để cấu hình proxy như:

- Mod_proxy: Là module chính cấu hình và quản lý một yêu cầu proxy. - Mod_proxy_http: Module này làm việc với HTTP và HTTPS.

- Mod_proxy_ftp: Module này làm việc với FTP.

- Mod_proxy_connect: Module này sử dụng phương thức Connect với SSL. - Mod_proxy_ajp: Module này làm việc với giao thức AJP cho Tomcat .

- Mod_proxy_balancer : thực hiện phân nhóm và cân bằng tải trên nhiều server.

- Mod_cache, mod_disk_cache, mod_mem_cache: Quản lý bộ nhớ cache tài liệu. Để kích hoạt bộ nhớ đệm yêu cầu mod_cache , disk_cache và mem_cache.

- Mod_proxy_html, Mod_xml2enc, Mod_headers, Mod_deflate.[19] Để cấu hình Proxy ngược trên CentOS ta có thể làm như sau:

- Bật tính năng mod_proxy bằng cách tạo file /etc/httpd/conf.d/proxy.conf với nội dung sau:

<IfModule mod_proxy.c>

#turning ProxyRequests on and allowing proxying from all may allow ProxyRequests Off

<Proxy *>

AddDefaultCharset off Order deny,allow Allow from all </Proxy>

# Enable/disable the handling of HTTP/1.1 "Via:" headers.

# ("Full" adds the server version; "Block" removes all outgoing Via: headers)

# Set to one of: Off | On | Full | Block ProxyVia On

</IfModule>

Chú ý: Đối với Reverse ProxyProxyRequests nên để Off.

- Sau đó, để thực hiện chuyển tiếp các yêu cầu từ Reverse proxy tới các Server dịch vụ như mô hình 3.8 ( với Webserver có địa chỉ là 10.0.0.2 và 10.0.0.3 và domain lần lượ là domain1.hust.edu.vn, domain2.hust.edu.vn ) thì ta tạo 1 file /etc/httpd/conf.d/vhost.conf với nội dung như sau:

50 <virtualhost *:80> ServerAdmin webmaster@localhost ServerName www.domain1.hust.edu.vn ServerAlias domain1.hust.edu.vn ProxyPass / http://10.0.0.2/ <proxy *> <location /> Order deny,allow Allow from all </location > <virtualhost *:80> ServerAdmin webmaster@localhost ServerName www.domain2.hust.edu.vn ServerAlias domain2.hust.edu.vn ProxyPass / http://10.0.0.3/ <proxy *>

Thư mục root của domain1.hust.edu.vn là thư mục /var/www/html/ của máy server có địa chỉ 10.0.0.2

Cấu hình tương tự cho các máy server còn lại.

3.5. Nhận xét chung các mô hình (adsbygoogle = window.adsbygoogle || []).push({});

Mô hình một máy chủ với virtual host giúp chúng ta tiết kiệm được địa chỉ IP cho các tên miền, từ đó một nhà cung cấp ứng dụng chỉ cần sử dụng duy nhất 1 địa chỉ IP public nhưng có thể tạo ra nhiều domain. Mô hình này được cung cấp bởi phần mềm quản trị webserver là apache cho phép ta khai báo nhiều virtual host trên một máy chủ web duy nhất. Mỗi virtual host cung cấp cho ta một foder lưu trữ dữ liệu ứng dựng web riêng biệt tương ứng với mỗi domain của virtual host đó. Mô hình virtual host giải quyết được vấn đề tài chính khi phải thuê duy nhất 1 địa chỉ IP public và giá cả cho người sử dụng nhưng mô hình này chưa tối ưu do việc cấu hình bằng tay để tạo ra các virtual host còn khá phức tạp, đi kèm với nó là các dịch vụ để update code và quản lý phân quyền còn hạn chế.

Từ các điểm yếu cần phải khắc phục của mô hình một máy chủ với virtual host, mô hình một server với virtual host và lớp phần mềm bổ sung được đề xuất, mô hình này một phần đã giải quyết được các yếu điểm của mô hình một server với

51

virtual hosts gặp phải.

Mô hình một server với virtual host và lớp phần mềm bổ sung cung cấp cho ta đầy đủ các tính năng của mô hình một máy chủ với virtual host nhưng thay vì việc phải cấu hình các virtual host bằng tay thì chúng ta sử dụng lớp phần mềm bổ sung đó là ISPConfig 3 để tạo và quản lý. Để làm được điều như vậy lớp phần mềm bổ sung sẽ đồng bộ dữ liệu của Apache và Mysql. Tuy nhiên mô hình gặp phải những vấn đề khi việc quản lý các hosting trên 1 máy chủ như khả năng xử lý yêu cầu lớn dẫn tới quá tải cho máy chủ.

Để giải quyết được nhược điểm đó thì mô hình nhiều máy chủ với virtual host với lớp phần mềm bổ sung được đề xuất. Mô hình này sử dụng nhiều máy chủ quản lý Virtual host và sử dụng lớp phần bổ sung để quản lý đồng bộ các máy chủ virtual host này.

Với mô hình này vấn đề gặp phải đó là khả năng bảo mật và an toàn dữ liệu. Để giải quyết vấn đề này thì mô hình nhiều máy chủ với proxy ngược được đề xuất. Mô hình nhiều máy chủ và proxy ngược sử dụng proxy ngược để nhận các yêu cầu từ client, những yêu cầu này được trả lời ngay hoặc được gửi tới máy chủ dịch vụ.

52

CHƢƠNG 4: THỬ NGHIỆM MÔ HÌNH VÀ GIẢI PHÁP ĐỀ XUẤT

4.1. Thử nghiệm một số mô hình * Mô hình 1 máy chủ với Virtual host * Mô hình 1 máy chủ với Virtual host Mô hình thử nghiệm

Hình 4.1: Mô hình Virtual host thử nghiệm

Kịch bản thử nghiệm

Servers:

- Hệ điều hành máy chủ CentOS6.5. - Cài với các phần mềm: LAMP. - IP adress: 113.160.154.19.

Khởi tạo bởi các tên miền: thonghust1.name.vn, thonghust2.name.vn Client:

- Sử dụng 1 client cùng một cấu hình như sau: - Hệ điều hành Window XP, 7 .

- Sử dụng công cụ kiểm tra trên: http://loadimpact.com để đánh giá hiệu năng các Website.

Kịch bản đánh giá

- Đánh giá định tính:

Chương này sẽ trình bày những nội dung sau:

Trình bày kịch bản thử nghiệm

Trình bày kết quả sau khi thử nghiệm

Trình bày nhận xét kết quả đạt được

53

+ Thực hiện truy vấn lần lượt tới mỗi domain thonghust1.name.vn, thonghust2.name.vn. Kiểm tra sự hoạt động của các domain.

- Đánh giá định lượng:

+ Đánh giá 2 domain từ thonghust1.name.vn, thonghust2.name.vn + Đánh giá lần lượt mỗi domain dùng tool từ : http://loadimpact.com

Các tham số cài đặt

* Vị trí thư mục domain được tạo

Domain (.name.vn) Folder (adsbygoogle = window.adsbygoogle || []).push({});

thonghust1.name.vn /var/www/html/thonghust1.name.vn thonghust2.name.vn /var/www/html/thonghust2.name.vn

* Thông số file cấu hình /etc/httpd/conf/httpd.conf

<VirtualHost *:80>

ServerAdmin admin@ thonghust1.name.vn

DocumentRoot /var/www/html/ thonghust1.name.vn / ServerName www. thonghust1.name.vn

ServerAlias thonghust1.name.vn </VirtualHost>

<VirtualHost *:80>

ServerAdmin admin@ thonghust2.name.vn

DocumentRoot /var/www/html/ thonghust2.name.vn/ ServerName www. thonghust2.name.vn/

ServerAlias thonghust2.name.vn </VirtualHost>

* Mô hình 1 máy chủ với lớp phần mềm bổ sung Kịch bản thử nghiệm

54

Servers:

- Hệ điều hành máy chủ CentOS6.5.

- Cài với các phần mềm: LAMP, ISPConfig 3 [6] - IP adress: 113.160.154.19

Khởi tạo bởi các tên miền: thonghust3.name.vn – thonghust4.name.vn Client:

- Sử dụng 1 client cùng một cấu hình như sau: - Hệ điều hành Window XP, 7

- Sử dụng công cụ kiểm tra trên: http://loadimpact.com để đánh giá hiệu năng các Website.

Kịch bản đánh giá

- Đánh giá định tính:

+ Thực hiện truy vấn lần lượt tới mỗi domain thonghust3.name.vn, thonghust4.name.vn. Kiểm tra sự hoạt động của các domain.

- Đánh giá định lượng:

+ Đánh giá 2 domain từ thonghust3.name.vn – thonghust4.name.vn + Đánh giá lần lượt mỗi domain dùng tool từ : http://loadimpact.com

Các tham số cài đặt

- Thông số tạo các domain:

55

Hình 4.4: Tham số cài đặt domain thonghust4.name.vn

* Mô hình nhiều máy chủ và proxy ngƣợc Mô hình thử nghiệm

Hình 4.5: Mô hình nhiều máy chủ và Reverse proxy thử nghiệm

Kịch bản thử nghiệm (adsbygoogle = window.adsbygoogle || []).push({});

Servers:

- Hệ điều hành máy chủ CentOS6.5.

- Cài với các phần mềm: LAMP, ISPConfig 3 [6] - IP adress: 113.160.154.19

Khởi tạo bởi các tên miền: thonghust5.name.vn – thonghust6.name.vn Client:

- Sử dụng 1 client cùng một cấu hình như sau: - Hệ điều hành Window XP, 7

56

- Sử dụng công cụ kiểm tra trên: http://loadimpact.com để đánh giá hiệu năng các Website.

Kịch bản đánh giá

- Đánh giá định tính:

+ Thực hiện truy vấn lần lượt tới mỗi domain thonghust5.name.vn, thonghust6.name.vn. Kiểm tra sự hoạt động của các domain.

- Đánh giá định lượng:

+ Đánh giá 2 domain từ thonghust5.name.vn – thonghust6.name.vn + Đánh giá lần lượt mỗi domain dùng tool từ : http://loadimpact.com

Các thông số cài đặt

* Kích hoạt module proxy bằng cách tạo ra 1 file /etc/httpd/conf.d/proxy.conf với nội dung sau:

<IfModule mod_proxy.c>

#turning ProxyRequests on and allowing proxying from all may allow

#spammers to use your proxy to send email. ProxyRequests Off

<Proxy *>

AddDefaultCharset off Order deny,allow Allow from all </Proxy>

# Enable/disable the handling of HTTP/1.1 "Via:" headers.

# ("Full" adds the server version; "Block" removes all outgoing Via: headers)

# Set to one of: Off | On | Full | Block ProxyVia On

</IfModule>

* Thiết lập chỉ thị ProxyPass cho Apache để chuyển tiếp tất cả các yêu cầu tới máy chủ web bằng cách tạo file /etc/httpd/conf.d/vhost.conf với nội dung sau:

<VirtualHost *:80>

ServerAdmin webmaster@thonghust5.name.vn ServerName www.thonghust5.name.vn

57 ServerAlias thonghust5.name.vn ProxyPass / http://172.16.1.2/ </VirtualHost> <Location /> Order allow,deny Allow from all </Location> <VirtualHost *:80> ServerAdmin webmaster@thonghust6.name.vn ServerName www.thonghust6.name.vn ServerAlias thonghust6.name.vn ProxyPass / http://172.16.1.3/ </VirtualHost> 4.2. Kết quả thử nghiệm

* Mô hình 1 máy chủ với Virtual host Đánh giá định tính

Tất cả các tên miền được kết nối từ internet thành công

Hình 4.6: Kết quả thử nghiệm đánh giá định tính mô hình một máy chủ Virtualhost với thonghust1.name.vn (adsbygoogle = window.adsbygoogle || []).push({});

58

Hình 4.7: Kết quả thử nghiệm đánh giá định tính mô hình một máy chủ Virtualhost với thonghust2.name.vn

Đánh giá định lƣợng

Hình 4.8: Kết quả thử nghiệm đánh giá định lượng mô hình một máy chủ Virtualhost với thonghust1.name.vn

Hình 4.9: Kết quả thử nghiệm đánh giá định lượng mô hình một máy chủ Virtualhost với thonghust2.name.vn

59

* Mô hình 1 máy chủ với lớp phần mềm bổ sung Đánh giá định tính

Tất cả các tên miền được kết nối từ internet thành công

Hình 4.10: Kết quả thử nghiệm đánh giá định tính mô hình một máy chủ và ISPConfig 3 với thonghust3.name.vn

Hình 4.11: Kết quả thử nghiệm đánh giá định tính mô hình một máy chủ và ISPConfig 3 với thonghust4.name.vn

Đánh giá định lƣợng

Hình 4.12: Kết quả thử nghiệm đánh giá định lượng mô hình một máy chủ và ISPConfig 3 với thonghust3.name.vn

60

Hình 4.13: Kết quả thử nghiệm đánh giá định lượng mô hình một máy chủ và ISPConfig 3 với thonghust4.name.vn

* Mô hình nhiều máy chủ và proxy ngƣợc

Tất cả các tên miền được kết nối từ internet thành công

Đánh giá định tính

Hình 4.14: Kết quả thử nghiệm đánh giá định tính mô hình nhiều máy chủ và Reverse Proxy với thonghust5.name.vn

Hình 4.15: Kết quả thử nghiệm đánh giá định tính mô hình một nhiều máy chủ và Reverse Proxy với thonghust6.name.vn

61

Hình 4.16: Kết quả thử nghiệm đánh giá định lượng mô hình nhiều máy chủ và Reverse Proxy với thonghust5.name.vn

Hình 4.17: Kết quả thử nghiệm đánh giá định lượng mô hình nhiều máy chủ và Reverse Proxy với thonghust6.name.vn

4.3. Nhận xét

Thời gian phản hồi của các domain tương đối ổn định với sự thay đổi của số lượt truy vấn từ người dùng, đây là một kết quả tốt, chứng tỏ băng thông được chia sẻ một cách hợp lý đảm bảo yêu cầu cần thiết của cho Web Server.

Khi số lượng truy cập tăng lên thì thời gian phản hồi có tăng nhưng chậm hơn so với số lượng truy cập điều này đúng với mọi Web Server. Điều đáng chú ý khi số lượng truy cập tăng lên nhanh chóng thì thời gian phản hồi của các domain trên thay đổi không nhiều điều đó chứng tỏ các domain này được chia sẻ như nhau. Như vậy cơ chế chia sẽ tài nguyên của các mô hình này khá hợp lý.

62

Mô hình Ƣu điểm Nhƣợc điểm

Mô hình 1 máy chủ với Virtual host

- Thời gian phản hồi tương đối ổn định.

- Các domain được cấu hình có sự chia sẻ tài nguyên ngang bằng nhau. (adsbygoogle = window.adsbygoogle || []).push({});

- Khó quản lý khi số lượng domain lớn

- Vấn đề bảo mật kém, mô hình dễ bị tấn công Local attack.

- Số lượng domain có giới hạn nhất định

Mô hình 1 máy chủ với lớp phần mềm bổ sung

- Thời gian phản hồi tương đối ổn định.

- Dễ dàng quản lý các domain.

- Quản lý được cơ sở dữ liệu Web, cơ sở dữ liệu khách hàng…vv

- Hỗ trợ nhiều dịch vụ kèm theo như Mail, DNS, FTP.

Một phần của tài liệu Quản lý quản trị các dịch vụ mạng (Trang 45)