You are on page 1of 11

Cài đặt Squid với Ubuntu

Trước tiên chúng ta sẽ sử dụng Virtual Box để demo


Set-up network như sau để host sử dụng ubuntu desk như một server xử lý

Package Squid đã có sẵn trong repositories mặc định của Ubuntu 20.04. Để cài đặt bạn
chỉ cần gõ hai câu lệnh sau

sudo apt-get update

sudo apt install squid


Sau khi cài đặt xong thì services của squid sẽ tự động khởi chạy. Để kiểm tra trạng thái
của squid bạn sử dụng câu lệnh

sudo systemctl status squid

hiện thị squid đã active sẽ như sau:

ad

CẤU HÌNH SQUID


File cấu hình chính của squid được lưu tại file /etc/squid/squid.conf. File cấu
hình này chứa các comments mô tả mỗi cấu hình sẽ thực hiện những hành động nào.
Bạn có thể viết file cấu hình riêng của bạn và đặt chúng vào trong file cấu hình chính sủ
dụng chỉ thị include
Trước khi thay đổi bất cứ điều gì, bạn nên sao backup file cấu hình mẫu như này

sudo cp /etc/squid/squid.conf{,.orginal}

Giờ đến việc cấu hình cho proxy squid server

Cài đặt vim nếu chưa có để chỉnh sửa file conf

Sudo apt install vim

Mở file squid.conf

sudo vim /etc/squid/squid.conf


Chúng ta sẽ chỉnh sửa ở phần này:

Mặc định squid sẽ lắng nghe ở cổng 3128 ở tất cả các network interfaces trong server
Nếu bạn muốn đổi port cho một interface cụ thể, bạn sẽ tìm dòng bắt đầu
bằng http_port và chỉ định IP của interface và port mới. Nếu không có interface nào
được chỉ định thì Squid sẽ lắng nghe ở tất cả các interfaces

1.cấu hình

# Squid normally listens to port 3128

http_port 3128

#có thể chỉnh sửa port khác


Phần lớn người dùng thường chạy Squid ở tất cả các interfaces với port mặc định
Squid cho phép bạn kiểm soát clients truy cập các tài nguyên web sử dụng Access
Control Lists (ACLs). Mặc định thì quyền truy cập mặc định là chỉ từ localhost. Nếu tất
cả clients mà sử dụng proxy này đều có một địa chỉ IP tĩnh, thì tuỳ chọn đơn giản nhất
để kiểm soát truy cập vào proxy server là tạo ra một ACL trong đó có những IP được
"hcho phép. Ngoài ra bạn có thể yêu cầu xác thực khi sử dụng squid
Thay vì thêm các địa chỉ IP vào trong file cấu hình chính, tạo một file riêng lưu trữ các
địa chỉ IPs được yêu cầu. Chẳng hạn như files /etc/squid/allowed_ips.txt với nội dung
như ở dưới

ở đây đã tôi đã cấu hình sẵn các địa chỉ ip được phép cho đi qua proxy với acl tên là
locnet

acl locnet src 192.168.56.0/24

2.xác thực người dùng

proxy squid sẽ cho phép người dùng truy cập mạng nếu nhập tên người dùng và mật
khẩu đúng

trước tiên tạo 1 file useraccess ở trong dir squid để chưa tên người dùng và mật khẩu
trước

trên terminal:

#chuyển đến thư mục squid

sudo cd /etc/squid/

#tạo thư mụ useraccess


touch useraccess

#Tạo người dùng với mật khẩu được hash lưu tại file useraccess

sudo htpasswd useraccess hocvutu

#rồi đạt mật khẩu

Giờ đến chỉnh sửa file squid.conf mở lại bằng vim để edit

sudo vim /etc/squid/squid.conf

Thêm vào các dòng sau

# ...

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/useraccess

auth_param basic realm proxy

acl useraccess proxy_auth REQUIRED

# ...

#http_access allow localnet

http_access allow localhost

http_access allow useraccess

# And finally deny all other access to this proxy

http_access deny all


3.block domain

Ta có thể tạo một file cũng được nhưng ở đây hãy thử chỉ block 1 trang là facebook.com

Thêm acl xác nhận domain như sau(sử dụng deny ở http_access)
Hoàn thành xong tất cả thiết lập trên thì đóng vim lại rồi sau đó restart lại squid system

sudo systemctl restart squid

4.DEMO

Thiết lập máy chủ có proxy setting như sau (manual nhớ save):
Thử nghiệm trên firefox:

Khi mở firefox ta sẽ có yêu cầu xác thự như thế này,nhập đúng tài khoản đã xác lập để
xác thực như ở trên thì có thể try cập internet bình thường
Facebook bị chặn:

You might also like