Reference - Hướng dẫn xây dựng server Squid proxy và quản lý proxy bằng webmin trên centos 7


Hôm nay rãnh rỗi nên nói chuyện về proxy, và quản lý nó như thế nào. Nói về Squid proxy thì nếu tìm hiểu về open source thì ai cũng biết. Có thể tích hợp nó vào một số firewall ,nói chung nói về web protection thì sẽ nghe qua, có thể dùng theo hướng tích hợp, hoặc cài riêng...

 Như đã nói hôm nay sẽ cài riêng squid trên server, nghe có vẻ hay hay , vậy cài lên rồi sài luôn ah, ok có thể được nó không khó lắm, chủ yếu bạn biết cách bố trí config tốt hay không thôi.


Mới nói tới đây có sẽ "What the f*ck" liền, ngồi mò đến khi nào ra, nhưng biết dùng cái này không thôi tốn khá nhiều thời gian đấy nhé, khá hay (Đã thử và bị lỗi khá nhiều khi config) kaka

Con người ta nói "Cái khó ló cái ngu" kaka, rãnh rỗi làm khó mình gọi là ngu, ok cứ vậy đi (chém đấy).

OK, quản lý nó sẽ dùng Webmin ? Nó là cài gì ? Webmin là một công cụ cấu hình hệ thống dựa trên web cho các hệ thống giống Unix, mặc dù các phiên bản gần đây cũng có thể được cài đặt và chạy trên Windows, nếu muốn biết nhiều thì tham khảo các bài hướng dẫn cài  Web Hosting Control Panel sẽ biết rõ hơn.

Chuẩn bị : Server Centos 7

Quá trình cài đặt :

Cài đặt thư viện perl : Như đã biết, webmin viết bằng ngôn ngữ perl, vậy cần cài thư viện cho nó

[root@localhost ~]# yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty




Cấu hình repos : Cấu hình repos để tải source và cài đặt webmin



Download và im port key : Mặc định centos core ko có wget nên cài wget, xong tải key về import vào server

[root@localhost ~]# yum install wget


[root@localhost ~]# wget http://www.webmin.com/jcameron-key.asc

[root@localhost ~]# rpm --import jcameron-key.asc




Cài webmin : dùng yum để cài webmin theo mặc định để nhanh, nếu chịu khó thì tải packed về tự config httpd và cài, cách nào cũng ok

[root@localhost ~]# yum install webmin



Khởi động webmin 

[root@localhost ~]# service webmin start

Config webmin auto chạy khi khởi đồng server

[root@localhost ~]# chkconfig webmin on

Đăng nhập vào webmin, default sẽ là port 10000



Và đăng nhập bằng tài khoản root



Phần trên coi như là khá dễ rồi, phần còn lại sẽ quan trọng hơn :

Khi đăng nhập vào ở menu Un-used Modules sẽ bao gồm rất nhiều module, bạn cần các định 2 module chính đó là : Squid Proxy Server và Squid Report Generator

Squid Proxy Server : Webmin sẽ hỗ trợ bạn cài trực tiếp trên webmin, bấm vào download và sẽ auto cài, nhanh mau lẹ luôn


Squid Report Generator : Đây là phần sẽ report lại thông tin proxy của bạn khi chạy, nó sẽ record mọi thông tin client nào dùng proxy, và các thông tin đi qua nó.


Khi bạn vào link thì chỉ thấy thông tin trên, khi lưu lại thì sẽ báo đường dẫn không tìm thấy, vấn đề là ở đây. Webmin sẽ ko hỗ trợ bạn cài report squid dùng Sarg. Căng thẳng hên, không hỗ trợ cài thì cài thôi.kaak

Tiến hành cài Sarg bằng tay thôi :

Vào lại puty và chạy những dòng lệnh sau, trước tiên cần biết khi cài report này cần phải buil packed cảu nó viết bằng C, mặc định của Centos core 7 không được cài

[root@localhost ~]# yum install –y gcc

Dùng wget tải gói mới nhất về, hiện tại bây giờ 2.3.11 mới nhất nhé

[root@localhost ~]# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.11/sarg-2.3.11.tar.gz

Giải nén gói này sau khi đã tải xong

[root@localhost ~]# tar -xvzf sarg-2.3.11.tar.gz

[root@localhost ~]# cd sarg-2.3.11

[root@localhost ~]# ./configure

[root@localhost ~]# make

[root@localhost ~]# make install

Quá trình cài đặt và biên dịch khoản gần một phút sẽ xong

Tiếp theo dùng vi chỉnh file sarg.conf lại cho đúng như sau

[root@localhost ~]# vi /usr/local/etc/sarg.conf

Mở file config này và tìm nội dung sửa lại cho giống bên dưới

# sarg.conf
#
# TAG: access_log file 
#            Where is the access.log file 
#             sarg -l file 
access_log /var/log/squid/access.log


# TAG: output_dir 
# The reports will be saved in that directory 
# sarg -o dir 
#
 output_dir /var/squid-reports


# TAG: date_format 
# Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww) 
#
 date_format e

# TAG: overwrite_report yes|no
# yes - if report date already exist then will be overwritten. 
# no - if report date already exist then will be renamed to filename.n, filename.n+1 
overwrite_report yes

Check thông tin chính xác chưa :

[root@localhost ~]# sarg -x



Cuối cùng quay trwor lại webmin config lại và trỏ về file config này



Sau khi lưu lại nếu chính xác sẽ có giao diện sau :



OK, còn lại tham khảo các hình sau



Config port : config port cho proxy, ở đây dùng default : 3128



ACL : ở đây vidu chặn hết các tên mình google các quốc gia








Trong này có rất nhiều chức năng, do nhu cầu cần làm gì thôi, ở đây không thể ghi ra hết được, chức năng do kinh nghiệm và mức hấp thụ của mỗi người.

Sau mở trình duyệt trỏ về proxy :



Cuối cũng là xem thành quả :






Note: Tạo trang error khi vào web chặn

[root@localhost ~]# cd /usr/share/squid/errors/templates/

[root@localhost ~]# touch ERR_custom

[root@localhost ~]# vi ERR_custom





Report SARG :









Túm lại là Squid khá hay và mạnh :) không có nhiều thời gian để làm nhiều phần, nhiều bài nên cố gắng gói trọn trong một bài, cách khắc phục, cài đặt ... sẽ là sự lựa chọn khá tốt nếu bạn thích open source. Chỉ có làm cần gì thì gói ra, đây chỉ là basic thôi, còn custom page, config, nơi chứa log hiệu quả không bị tràn... bài viết này giúp có cái nhìn tổng quan hơn, rút ngắn thời gian hơn để hình dung xa hơn :)


Nhãn: