溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二

發(fā)布時(shí)間:2020-06-24 16:05:01 來(lái)源:網(wǎng)絡(luò) 閱讀:136 作者:SiceLc 欄目:系統(tǒng)運(yùn)維

ACL訪問(wèn)控制

ACL訪問(wèn)控制方式

  • 根據(jù)源地址、目標(biāo)URL、文件類(lèi)型等定義列表
    • acl 列表名稱(chēng) 列表類(lèi)型 列表內(nèi)容 ...
  • 針對(duì)已定義的acl列表進(jìn)行限制
    • http_access allow或deny 列表名稱(chēng) ...

ACL規(guī)則優(yōu)先級(jí)

  • 當(dāng)一個(gè)用戶(hù)訪問(wèn)代理服務(wù)器時(shí), Squid會(huì)順序匹配Squid中定義的所有規(guī)則列表,一旦匹配成功,立即停止匹配。當(dāng)所有規(guī)則都不匹配時(shí),Squid會(huì)使用與最后一條相反的規(guī)則

常用的ACL列表類(lèi)型

  • src → 源地址
  • dst → 目標(biāo)地址
  • port → 目標(biāo)地址
  • dstdomain → 目標(biāo)域
  • time → 訪問(wèn)時(shí)間
  • maxconn → 最大并發(fā)連接
  • url_regex → 目標(biāo)URL地址
  • Urlpath_regex → 整個(gè)目標(biāo)URL路徑

實(shí)驗(yàn)搭建

實(shí)驗(yàn)環(huán)境

squid服務(wù)器IP地址:ens33:192.168.80.184
                  ens36:192.168.10.1 (僅主機(jī)模式)
web服務(wù)器IP地址:192.168.80.151
client客戶(hù)端IP地址:192.168.10.10  (僅主機(jī)模式)

在squid服務(wù)器上修改配置文件

root@squid ~]# vim /etc/squid.conf      //修改配置文件
# should be allowed
acl hostlocal src 192.168.10.10/32        //控制hostlocal10.10的主機(jī)
# Deny requests to certain unsafe ports
http_access deny hostlocal                //拒絕訪問(wèn)
[root@squid ~]# service squid reload       //重啟squid服務(wù)

在測(cè)試機(jī)上訪問(wèn)web網(wǎng)頁(yè)

squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二

sarg日志配置

在squid服務(wù)器上安裝sarg

[root@squid ~]# mount.cifs //192.168.80.2/LNMP-C7 /mnt/      //掛載
Password for root@//192.168.80.2/LNMP-C7:  
[root@squid ~]# cd /mnt/
[root@squid mnt]# tar zxvf sarg-2.3.7.tar.gz -C /opt/        //解壓
[root@squid mnt]# cd /opt/sarg-2.3.7/
[root@squid sarg-2.3.7]# yum install gd gd-devel -y       //安裝gd庫(kù)
[root@squid sarg-2.3.7]# ./configure --prefix=/usr/local/sarg \     //安裝路徑
> --sysconfdir=/etc/sarg \        //指定配置文件位置
> --enable-extraprotection        //開(kāi)啟安全防護(hù)
[root@squid sarg-2.3.7]# make && make install       //編譯安裝

修改sarg配置文件

[root@squid sarg-2.3.7]# vim /etc/sarg/sarg.conf      //修改sarg配置文件
access_log /usr/local/squid/var/logs/access.log    //開(kāi)啟指定訪問(wèn)日志文件
title "Squid User Access Reports"                  //網(wǎng)頁(yè)標(biāo)題
output_dir /var/www/html/squid-reports             //報(bào)告輸出目錄
user_ip no                                        //使用用戶(hù)名顯示
exclude_hosts /usr/local/sarg/noreport            //不計(jì)入排序的站點(diǎn)列表文件
topuser_sort_field connect reverse               //top排序中有連接次數(shù),訪問(wèn)字節(jié),降序排列,升序是normal
overwrite_report no                        //同名日志是否覆蓋
mail_utility mailq.postfix                //發(fā)送郵件報(bào)告命令
charset UTF-8                             //使用字符集
weekdays 0-6                              //top排行的時(shí)間周期
hours 0-23                               //top排行的時(shí)間周期
www_document_root /var/www/html           //網(wǎng)頁(yè)根目錄
[root@squid ~]# sarg                       //生成報(bào)告
SARG: 紀(jì)錄在文件: 91, reading: 100.00%
SARG: 成功的生成報(bào)告在 /var/www/html/squid-reports/2019Dec11-2019Dec12
[root@squid sarg-2.3.7]# cd /var/www/html/squid-reports/        //切換到html目錄下
[root@squid squid-reports]# ls
2019Dec11-2019Dec12   images  index.html
[root@squid squid-reports]# yum install httpd -y               //安裝httpd服務(wù)
[root@squid squid-reports]# systemctl start httpd.service     //開(kāi)啟服務(wù)
[root@squid squid-reports]# systemctl stop firewalld.service      //關(guān)閉防火墻
[root@squid squid-reports]# setenforce 0                       //關(guān)閉selinux

在client客戶(hù)機(jī)訪問(wèn)網(wǎng)頁(yè)查看訪問(wèn)記錄

squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二

在squid服務(wù)器上配置周期性計(jì)劃任務(wù),每天收集訪問(wèn)信息

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)

再次在client客戶(hù)機(jī)訪問(wèn)網(wǎng)頁(yè)查看訪問(wèn)記錄

squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二

squid反向代理配置

實(shí)驗(yàn)環(huán)境

squid服務(wù)器IP地址:ens33:192.168.80.184
                  ens36:192.168.10.1 (僅主機(jī)模式)
web1服務(wù)器IP地址:192.168.80.151
web2服務(wù)器IP地址: 192.168.80.185
client客戶(hù)端IP地址:192.168.10.10  (僅主機(jī)模式)

在web1服務(wù)器上編輯網(wǎng)頁(yè)內(nèi)容

root@web ~]# cd /var/www/html/
[root@web html]# echo "<h2>this is test web!</h2>" > index.html

client客戶(hù)機(jī)上訪問(wèn)網(wǎng)頁(yè)

squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二

在web2服務(wù)器上編輯網(wǎng)頁(yè)內(nèi)容

[root@web2 ~]# systemctl stop firewalld.service       //關(guān)閉防火墻
[root@web2 ~]# setenforce 0
[root@web2 ~]# yum install httpd -y                  //安裝httpd服務(wù)
[root@web2 ~]# cd /var/www/html/                     //創(chuàng)建網(wǎng)頁(yè)內(nèi)容
[root@web2 html]# echo "<h2>this is test2 web!</h2>" > index.html 
[root@web2 html]# systemctl start httpd.service 

在squid服務(wù)器上配置反向代理

[root@localhost squid]# vim /etc/squid.conf
# Squid normally listens to port 3128
http_port 192.168.80.184:80 accel vhost vport        //監(jiān)控本機(jī)80端口
cache_peer 192.168.80.151 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1        //節(jié)點(diǎn)服務(wù)器1最大訪問(wèn)30,權(quán)重1,別名web1
cache_peer 192.168.80.185 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer_domain web1 web2 www.yun.com     //訪問(wèn)yun.com匹配web1,web2節(jié)點(diǎn)
[root@localhost squid]# service squid restart      //重啟squid服務(wù)

在client客戶(hù)機(jī)的admin用戶(hù)下配置解析域名地址,并設(shè)置代理

squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二
squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二
squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二squid代理服務(wù)器介紹與配置(理論+實(shí)踐)二

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI