代理服务器(squid配置)

代理服务器需要有两张网卡: 一张用于连通外网,一张用于与内网机器通信
配置网络在网络互联的笔记里讲过,这里跳过

例子:
外网网卡IP:192.168.11.100
内网网卡IP:10.0.0.100
内网测试机的IP:10.0.0.200
测试机设置代理服务器地址:10.0.0.100

安装squid

  1. yum install -y squid
  2. # 启动squid
  3. systemctl enable --now squid
  4. # 放行防火墙
  5. firewall-cmd --add-service=squid --permanent
  6. firewall-cmd --reload

实现访问控制

时间限制

  1. vim /etc/squid/squid.conf
  2. # 文件内容
  3. acl WorkTime time 09:00-18:00
  4. http_access deny WorkTime

域名地址限制

  1. vim /etc/squid/WebSiteBlock.list
  2. # 文件内容
  3. .taobao.com
  4. .tmall.com
  5. .jd.com
  6. vim /etc/squid/squid.conf
  7. # 文件内容
  8. acl WebSiteBlock dstdomain "/etc/squid/WebSiteBlock.list"
  9. http_access deny WebSiteBlock

组合限制

工作时间禁止访问购物网站

  1. vim /etc/squid/squid.conf
  2. # 文件内容
  3. acl WorkTime time 09:00-18:00
  4. acl WebSiteBlock dstdomain "/etc/squid/WebSiteBlock.list"
  5. http_access deny WebSiteBlock WorkTime

IP黑名单

  1. vim /etc/squid/IPBlock.list
  2. # 文件内容
  3. 10.10.11.110
  4. 10.10.11.120
  5. vim /etc/squid/squid.conf
  6. # 文件内容
  7. acl IPBlock src "/etc/squid/IPBlock.list"
  8. http_access deny IPBlock

修改squid默认端口

  1. vim /etc/squid/squid.conf
  2. # 文件内容
  3. http_port 6688
  4. systemctl restart squid
  5. firewall-cmd --add-port=6688/tcp

日志分析

  1. # 动态查看最新访问日志
  2. tail -f /var/log/squid/access.log
  3. # 分类统计访问次数
  4. cat /var/log/squid/access.log | awk '{ print $4 }' | sort | uniq -c | sort -nr