內容要點:html
1、Squid 中 ACL 的使用web
2、日誌分析vim
3、反向代理瀏覽器
1、Squid 中 ACL 的使用緩存
(1)ACL 訪問控制方式:安全
一、根據源地址、目標URL、文件類型等定義列表bash
acl 列表名稱 列表類型 列表內容…服務器
二、針對已定義的 acl列表進行限制併發
http_access allow 或 deny 列表名稱…dom
(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 文件
添加如下代碼:
一、基於IP地址限制:
acl hostlocal src 192.168.220.128/32 //hostlocal表示是名稱 http_access deny hostlocal //拒絕訪問
二、基於時間限制:
acl work time WTHMFAS 11:00-12:00 //時間設置在 11:00-12:00 http_access deny work //拒絕訪問
三、基於目標地址(就是web服務器地址)
能夠將拒絕的目標地址添加到一個文件中
一、 mkdir /etc/squid //先建立一個目錄 vim dest.list 將拒絕的ip地址添加到文件中 192.168.220.111 192.168.220.123 192.168.220.136 二、作規則 vim /etc/squid.conf acl destion dst "/etc/squid/dest.list" http_access deny destion
2、日誌分析
第一步:安裝 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)
3、反向代理
反向代理工做原理:
反向代理服務器位於本地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 |
一、配置 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服務
二、在兩臺 Web服務器上作一個測試網頁:
三、客戶機作一下域名解析:
修改一下,代理服務器端口:
四、瀏覽器訪問 http://www.yun.com/