
Redhat Linux - Bài 5
Mô tả tài liệu
DỊCH VỤ UỶ QUYỀN (Proxy) 1/. Khái niệm: - Proxy cho phép bạn chỉ cần một máy hoặc một nhóm nhỏ các máy để trợ giúp cho việc truy cập Internet cho tất cả các máy của bạn. Sử dụng proxy có hai lợi thế quan trọng, thứ nhất là bạn chỉ cần ít, hay một địa chỉ IP chính thức mà lại có thể cho nhiều máy cùng được truy cập Internet, thứ hai là nếu một trang Web đã được lấy về, nó sẽ được lưu trên đĩa của máy proxy và khi có một yêu cầu khác...
Tóm tắt nội dung
Biên soạn bởi mcsevietnam
/ 80 45
DỊCH VỤ UỶ QUYỀN (Proxy)
1/. Khái niệm:
- Proxy cho phép bạn chỉ cần một máy hoặc một nhóm nhỏ các máy để
trợ giúp cho việc truy cập Internet cho tất cả các máy của bạn. Sử dụng
proxy có hai lợi thế quan trọng, thứ nhất là bạn chỉ cần ít, hay một địa chỉ IP
chính thức mà lại có thể cho nhiều máy cùng được truy cập Internet, thứ hai
là nếu một trang Web đã được lấy về, nó sẽ được lưu trên đĩa của máy
proxy và khi có một yêu cầu khác lấy đúng trang web đó, proxy không cần
phải ra Internet lấy dữ liệu nữa mà lấy thẳng từ trong đĩa cứng của mình đã
được lưu lại lần trước đó và như vậy sẽ tiết kiệm được đường kết nối ra
Internet thường rất mắc tiền và bận bịu. Mô hình sử dụng Proxy có thể được
minh hoạ như sau :
- Nhưng với cấp độ lớn hơn, chúng ta có thể sử dụng mô hình cache
nhiều lớp bao gồm những nhóm máy Proxy tương tự như sau :
Redhat Linux
/ 80 46
2/. Linux SQUID Proxy Server:
- Squid là một proxy server, khả năng của squid là tiết kiệm băng
thông(bandwidth), cải tiến việc bảo mật, tăng tốc độ truy cập web
cho người sử dụng và trở thành một trong những proxy phổ biến
được nhiều người biết đến. Hiện nay, trên thị trường có rất nhiều
chương trình proxy-server nhưng chúng lại có hai nhược điểm, thứ
nhất là phải trả tiền để sử dụng, thứ hai là hầu hết không hỗ trợ
ICP ( ICP được sử dụng để cập nhật những thay đổi về nội dung
của những URL sẵn có trong cache – là nơi lưu trữ những trang
web mà bạn đã từng đi qua ). Squid là sự lựa chọn tốt nhất cho một
proxy-cache server, squid đáp ứng hai yêu cầu của chúng ta là sử
dụng miễn phí và có thể sử dụng đặc trưng ICP.
- Squid đưa ra kỹ thuật lưu trữ ở cấp độ cao của các web client, đồng
thời hỗ trợ các dịch vụ thông thường như FTP, Gopher và HTTP.
Squid lưu trữ thông tin mới nhất của các dịch vụ trên trong RAM,
quản lý một cơ sở dữ liệu lớn của các thông tin trên đĩa, có một kỹ
thuật điều khiển truy cập phức tạp, hỗ trợ giao thức SSL cho các
kết nối bảo mật thông qua proxy. Hơn nữa, squid có thể liên kết
Biên soạn bởi mcsevietnam
/ 80 47
với các cache của các proxy server khác trong việc sắp xếp lưu trữ
các trang web một cách hợp lý.
- Sau đây chúng ta sẽ thực hiện cách thức cài đặt một Proxy server
như thế nào.
3./ Cài đặt:
- Đầu tiên chúng ta nên có một số khái niệm về đòi hỏi phần cứng
của một proxy server:
*** Tốc độ truy cập đĩa cứng : rất quan trọng vì squid
thường xuyên phải đọc và ghi dữ liệu trên ổ cứng. Một ổ đĩa SCSI với
tốc độ truyền dữ liệu lớn là một ứng cử viên tốt cho nhiệm vụ này.
*** Dung lượng đĩa dành cho cache phụ thuộc vào kích
cỡ của mạng mà Squid phục vụ. Từ 1 đến 2 Gb cho một mạng trung
bình khoảng 100 máy. Tuy nhiên đây chỉ là một con số có tính chất ví
dụ vì nhu cầu truy cập Internet mới là yếu tố quyết định sự cần thiết độ
lớn của đĩa cứng.
*** RAM : rất quan trọng, ít RAM thì Squid sẽ chậm hơn
một cách rõ ràng.
*** CPU : không cần mạnh lắm, khoảng 133 MHz là
cũng có thể chạy tốt với tải là 7 requests/second.
- Cài đặt Squid với RedHat Linux rất đơn giản. Squid sẽ được cài
nếu bạn chọn nó trong quá trình cài đặt ngay từ đầu. Hoặc nếu bạn
đã cài Linux không Squid, bạn có thể cài sau qua tiện ích rpm với
lệnh :
rpm –i tên_gói_Squid
Khi đó squid sẽ được cài và bạn có thể bước qua phần cấu hình
squid.
- Các thư mục mặc định của squid:
/usr/sbin
/etc/squid
/var/log/squid
- Cài đặt từ source :
+ Ta có file source của squid là squid-version.tar.gz, ta
thực hiện các bước lệnh sau:
tar –xzvf squid-version.tar.gz
cd squid-version
./configure
make
make install
Sau khi ta thực hiện các lệnh trên, coi như ta đã cài đặt xong squid.
Redhat Linux
/ 80 48
3./ Cấu hình Squid:
- Sau khi cài đặt xong squid, ta phải cấu hình squid để phù hợp với
từng yêu cầu riêng. Ta cấu hình một số tham số trong file
/etc/squid/squid.conf như sau:
** http_port: mặc định là 3128.
** icp_port: mặc định là 3130.
** cache_dir: khai báo kích thước thư mục cache cho
squid, mặc định là: cache_dir /var/spool/squid/cache 100 16 256
Giá trị 100 tức là dùng 100MB để làm cache, nếu
dung lượng đĩa cứng lớn, ta có thể tăng thêm tuỳ thuộc vào kích
thước đĩa. Như vậy squid sẽ lưu cache trong thư mục
/var/spool/squid/cache với kích thước cache là 100MB.
** Access Control List và Access Control Operators: ta
có thể dùng hai chức năng trên để ngăn chặn và giới hạn việc truy xuất dựa
vào destination domain, IP address của máy hoặc mạng. Mặc định squid sẽ
từ chối phục vụ tất cả, vì vậy ta phải cấu hình lại tham số này. Để được vậy,
ta cấu hình thêm cho thích hợp với yêu cầu bằng hai tham số là : acl và
http_access.
Ví dụ: Ta chỉ cho phép mạng 172.16.1.0/24 được dùng proxy
server bằng từ khoá src trong acl.
acl MyNetwork src 172.16.1.0/255.255.255.0
http_access allow MyNetwork
http_access deny all
+ Ta cũng có thể cấm các máy truy xuất đến những site
không được phép bằng từ khoá dstdomain trong acl, ví dụ:
acl BadDomain dstdomain yahoo.com
http_access deny BadDomain
http_access deny all
+ Nếu danh sách cấm truy xuất đến các site dài quá, ta có thể lưu
vào 1 file text, trong file đó là danh sách các địa chủ như sau:
acl BadDomain dstdomain “/etc/squid/danhsachcam”
http_access deny BadDomain
+ Theo cấu hình trên thì file /etc/squid/danhsachcam là file văn
bản lưu các địa chỉ không được phép truy xuất được ghi lần lượt theo từng
dòng.
+ Ta có thể có nhiều acl, ứng với mỗi acl phải có một http_access
như sau:
acl MyNetwork src 172.16.1.0/255.255.255.0
acl BadDomain dstdomain yahoo.com
http_access deny BadDomain
http_access allow MyNetwork
Biên soạn bởi mcsevietnam
/ 80 49
http_access deny all
+ Như vậy cấu hình trên cho ta thấy proxy cấm các máy truy xuất
đến site www.yahoo.com và chỉ có mạng 172.16.1.0/24 là được
phép dùng proxy. “http_access deny all”: cấm tất cả ngoại trừ
những acl đã được khai báo.
- Nếu proxy không thể kết nối trực tiếp với Internet vì không có địa
chỉ IP thực hoặc proxy nằm sau một Firewall thì ta phải cho proxy
query đến một proxy khác có thể dùng Internet bằng tham số sau :
cache_peer khangves.linuxsrv.mcsevn.com
parent 8080 8082
+ Cấu hình trên cho chúng ta thấy proxy sẽ query lên
proxy “cha” là khangves.linuxsrv.mcsevn.com với tham số parent thông qua
http_port là 8080 và icp_port là 8082.
- Ngoài ra trong cùng một mạng nếu có nhiều proxy server thì ta có
thể cho các proxy server này query lẫn nhau như sau:
cache_peer proxy2.linuxsrv.mcsevn.com sibling
8080 8082
cache_peer proxy3.linuxsrv.mcsevn.com sibling
8080 8082
sibling dùng cho các proxy ngang hàng với nhau.
4./ Khởi động Squid:
- Sau khi đã cài đặt và cấu hình lại squid, ta phải tạo cache trước khi
chạy squid bằng lệnh:
squid –z
- Nếu trong quá trình tạo cache bị lỗi, ta chú ý đến các quyền trong
thư mục cache được khai báo trong tham số cache_dir. Có thể thư
mục đó không được phép ghi. Nếu có ta phải thay đổi bằng:
chown squid:squid /var/spool/squid
chmod 770 /var/spool/squid
- Sau khi tạo xong thư mục cache, ta khởi động và dừng squid bằng
script như sau:
/etc/init.d/squid star
/etc/init.d/squid stop
- Sau khi squid đã khởi động, muốn theo dõi và quản lý việc truy
cập của các client hay những gì squid đang hoạt động cache như
thế nào, ta thường xuyên xem xét những file sau đây:
*** cache_log: bao gồm những cảnh báo và
thông tin trạng thái của cache
*** store_log: bao gồm những cơ sở dữ liệu về
những thông tin gì mới được cập nhật trong
cache và những gì đã hết hạn
http://www.yahoo.com
Redhat Linux
/ 80 50
*** access_log: chứa tất cả những thông tin về
việc truy cập của client, bao gồm địa chỉ nguồn,
đích đến, thời gian……
- Về phần Server đã cài đặt xong, còn về phía client, bạn phải hiệu
chỉnh lại cấu hình địa chỉ của Server và port proxy của Server, ví
dụ như hình sau:
Chúc bạn thành công.