您好,登錄后才能下訂單哦!
內容要點:
一、Squid 中 ACL 的使用
二、日志分析
三、反向代理
一、Squid 中 ACL 的使用
(1)ACL 訪問控制方式:
1、根據源地址、目標URL、文件類型等定義列表
acl 列表名稱 列表類型 列表內容…
2、針對已定義的 acl列表進行限制
http_access allow 或 deny 列表名稱…
(2)ACL 規則優先級:
當一個用戶訪問代理服務器時,Squid 會順序匹配 Squid中定義的所有規則列表,一旦匹配成功,立即停止匹配。當所有規則都不匹配時,Squid 會使用與最后一條相反的規則。
(3)常用的 ACL 列表類型:
src?->源地址 dst?->目標地址 port?->目標地址 dstdomain?->目標域 time?->訪問時間 maxconn?->最大并發連接 ur_?regex?->目標URL地址 Urlpath_regex?->整個目標URL路徑
(4)操作演示:
注:,要先做好代理功能,并且 Squid代理服務器要開放 3128端口,每次改好配置文件,都需要重啟服務。
角色 | IP地址 |
Web服務器 | 192.168.220.136 |
Squid代理服務器 | 192.168.220.131 |
客戶機 | 192.168.220.128 |
修改 /etc/squid.conf 文件
添加以下代碼:
1、基于IP地址限制:
acl?hostlocal?src?192.168.220.128/32???//hostlocal表示是名稱? http_access?deny?hostlocal?//拒絕訪問
2、基于時間限制:
acl?work?time?WTHMFAS?11:00-12:00????//時間設置在?11:00-12:00 http_access?deny?work???????????//拒絕訪問
3、基于目標地址(就是web服務器地址)
可以將拒絕的目標地址添加到一個文件中
1、?mkdir?/etc/squid????//先創建一個目錄 vim?dest.list 將拒絕的ip地址添加到文件中 192.168.220.111 192.168.220.123 192.168.220.136 2、做規則 vim?/etc/squid.conf? acl?destion?dst?"/etc/squid/dest.list" http_access?deny?destion
二、日志分析
第一步:安裝 sarg 工具
Sarg(Squid Analysis Report Generator),是一款Squid 日志分析工具,采用HTML 格式,詳細列出每一位用戶訪問Internet 的站點信息、時間占用信息、排名、連接次數、訪問量等。
(1)安裝圖像處理工具:
yum?install?-y?gd?gd-devel?pcre
(2)創建一個文件:
mkdir?/usr/local/sarg
tar?zxvf?sarg-2.3.7.tar.gz?-C?/opt/ 解壓到/opt/目錄下
(3)編譯
./configure?--prefix=/usr/local/sarg?\ --sysconfdir=/etc/sarg?\ --enable-extraprotection??????????//額外安全防護
(4)安裝
make?&&?make?install
(5)修改主配置文件 /etc/sarg/sarg.conf
vim?/etc/sarg/sarg.conf 開啟以下功能(稍作修改即可): access_log?/usr/local/squid/var/logs/access.log?????//指定訪問日志文件 title?"Squid?User?Access?Reports"??????????????????//網頁標題 output_dir?/var/www/html/squid-reports????????????//報告輸出目錄 user_ip?no???????????????????????????????????????//使用用戶名顯示 exclude_hosts?/usr/local/sarg/noreport???????????//不計入排序的站點列表文件 topuser_sort_field?connect?reverse?????????????//top排序中有連接次數、訪問字節、降序排列 user_sort_field?reverse???????????????????????//用戶訪問記錄、連接次數、訪問字節按降序排序 overwrite_report?no???????????????????????????//同名日志是否覆蓋 mail_utility?mail.postfix?????????????????????//發送郵件報告命令 charset?UTF-8????????????????????????????????//使用字符集 weekdays?0-6?????????????????????????????????//top排行的星期周期 www_document_root?/varwww/html???????????????//網頁根目錄
(6)添加不計入站點文件,添加的域名將不被顯示在排序中
touch?/usr/local/sarg/noreport
ln?-s?/usr/local/sarg/bin/sarg?/usr/local/bin/ //方便管理,可以創建一個軟連接
開啟:
第二步:安裝 Apache
?yum?install?httpd?-y
第三步:客戶機上測試
瀏覽器上訪問: http://192.168.220.131/squid-reports
通過這個工具,我們可以看到詳細的訪問情況。
同時,也可以使用周期性計劃任務執行每天生成報告:
sarg?-l?/usr/local/squid/var/logs/access.log?-o?/var/www/html/squid-reports/?-z?-d?$(date?-d?"1?day?ago"?+%d/%m/%Y)-$(date?+%d/%m/%Y)
三、反向代理
反向代理工作原理:
反向代理服務器位于本地WEB服務器和Internet之間。
當用戶瀏覽器發出一個HTTP請求時,通過域名解析將請求定向到反向代理服務器(如果要實現多個WEB服務器的反向代理,需要將多個WEB服務器的域名都指向反向代理服務器)。由反向代理服務器處理器請求。反向代理一般只緩存可緩沖的數據(比如html網頁和圖片等),而一些CGI腳本程序或者ASP之類的程序不緩存。它根據從WEB服務器返回的HTTP頭標記來緩沖靜態頁面。
角色 | IP地址 |
Web服務器1 | 192.168.220.136 |
Squid代理服務器 | 192.168.220.131 |
客戶機 | 192.168.220.128 |
Web服務器2 | 192.168.220.137 |
1、配置 Squid 代理服務器:
修改 /etc/squidconf 文件
vim?/etc/squid.conf http_port?192.168.220.131:80?accel?vhost?vport cache_peer?192.168.220.136?parent?80?0?no-query?originserver?round-robin?max_conn=30?weight=1?name=web1 cache_peer?192.168.220.137?parent?80?0?no-query?originserver?round-robin?max_conn=30?weight=1?name=web2 cache_peer_domain?web1?web2?www.yun.com
service?squid?restart?????//重啟squid systemctl?stop?httpd.service????//關閉Apache服務
2、在兩臺 Web服務器上做一個測試網頁:
3、客戶機做一下域名解析:
修改一下,代理服務器端口:
4、瀏覽器訪問 http://www.yun.com/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。