构建Squid代理服务器
1、配置IP地址

2、编译安装Squid软件
[root@localhost ~]# tar -zxvf squid-3.4.6.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/squid-3.4.6/
[root@localhost squid-3.4.6]# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl --enable-linux-netfilter --enable-linuxtproxy
--enable-async-io=100 --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnuregex
[root@localhost squid-3.4.6]# ./configure
--prefix=/usr/local/squid //指定安装目录
--sysconfdir=/etc //指定配置文件目录
--enable-arp-acl //启用防止arp攻击功能
--enable-linux-netfilter //启用内核过滤功能
--enable-linux-tproxy //启用透明代理
--enable-async-io=100 //调整IO线程参数
--enable-err-language="Simplify_Chinese" //中文
--enable-underscore
--enable-poll
--enable-gnuregex
[root@localhost squid-3.4.6]# make
[root@localhost squid-3.4.6]# make install

3、创建用户并优化路径
[root@localhost ~]# useradd -M -s /sbin/nologin squid
[root@localhost ~]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/
[root@localhost ~]# chown -R squid:squid /usr/local/squid/var/
[root@localhost ~]# chmod -R 757 /usr/local/squid/var/

4、检查语法并启动
[root@localhost ~]# squid -k parse
[root@localhost ~]# squid -z
[root@localhost ~]# squid
[root@localhost ~]# netstat -anpt | grep squid
[root@localhost ~]# echo "/usr/local/squid/sbin/squid" >> /etc/rc.local
[root@localhost ~]# killall -9 squid //停止squid服务

+++++++++++配置传统代理+++++++++++
-----WEB服务器------------Squid代理-------------Clinet--------
192.168.1.1 192.168.1.10 192.168.1.100

传统代理:需要手动配置(为客户端指定代理服务器的IP和端口)

1、修改squid.conf配置文件
[root@localhost ~]# vim /etc/squid.conf 添加:
http_port 3128
reply_body_max_size 10 MB //允许下载的文件大小为10M
http_access allow all //此行要放在http_access deny all之前

2、重启Squid服务
[root@localhost ~]# killall -9 squid
[root@localhost ~]# squid

3、客户端设置代理 打开IE浏览器:打开“工具”---“Internet选项”。“连接”---“局域网设置”中进行设置:
IP地址:192.168.1.10 端口:3128

//验证语法并显示有效的配置项 //清除缓存
//启动squid服务

linux客户端设置:
[root@localhost ~]# vim /etc/profile
HTTP_PROXY=http://192.168.56.200:3128
HTTPS_PROXY=http://192.168.56.200:3128
FTP_PROXY=http://192.168.56.200:3128
NO_PROXY=http://192.168.1.

4、验证:
客户端client访问WEB服务器http://192.168.1.1/

1)Squid代理服务器:
[root@localhost ~]# tail -f /usr/local/squid/var/logs/access.log

2)WEB服务器:
[root@localhost ~]# tail -f /etc/httpd/logs/access_log

+++++++++++配置透明代理+++++++++++
-----WEB服务器------------Squid代理--------------Clinet------
9.9.9.9 eth1:9.9.9.1
eth0:192.168.1.1

1、配置IP地址
注意:指定网关

2、开启路由转发功能
[root@localhost ~]# vim /etc/sysctl.conf 修改:
net.ipv4.ip_forward = 1
[root@localhost ~]#sysctl -p

2、修改squid.conf配置文件
[root@localhost ~]# vim /etc/squid.conf 添加:
http_port 192.168.1.1:3128 transparent
//客户端访问了WEB服务
//Squid服务器访问了WEB服务器

3、重启Squid服务
[root@localhost ~]# killall -9 squid
[root@localhost ~]# squid

4、设置防火墙规则
[root@localhost ~]#iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
[root@localhost ~]#iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 443 -j REDIRECT --to-ports 3128

5、验证:
客户端client访问WEB服务器http://9.9.9.9/

1)Squid代理服务器:
[root@localhost ~]# tail -f /usr/local/squid/var/logs/access.log

2)WEB服务器:
[root@localhost ~]# tail -f /etc/httpd/logs/access_log
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 动态转换开启配置文件中的deny全部注释

+++++++++++配置ACL+++++++++++
1、拒绝访问列表hehe
[root@localhost ~]# vim /etc/squid.conf 添加:
acl hehe src all
http_access deny hehe
2、拒绝指定ip和域名访问
[root@localhost ~]# vi /etc/squid/ip_list 添加:
192.168.1.0/24
1.1.1.1/8
[root@localhost ~]# vi /etc/squid/dns_list 添加:
.qq.com
.msn.com
[root@localhost ~]# vi /etc/squid.conf 添加:
acl haha dst "/etc/squid/ip_list"
acl xixi dstdomain "/etc/squid/dns_list"
http_access deny haha
http_access deny xixi
[root@localhost ~]# killall -9 squid
[root@localhost ~]# squid
客户端验证:
客户端访问,能否成功!
+++++++++++配置透Squid日志分析系统+++++++++++
[root@localhost ~]#yum -y install gd gd-devel
[root@localhost ~]#tar -zxvf sarg-2.3.7.tar.gz -C /usr/src/
[root@localhost ~]#cd /usr/src/sarg-2.3.7/
[root@localhost sarg-2.3.7]#./configure
--prefix=/usr/local/sarg
--sysconfdir=/etc/sarg
--enable-extraprotection
[root@localhost sarg-2.3.7]#make && make install
[root@localhost ~]# vim /etc/sarg/sarg.conf 添加:
access_log /usr/local/squid/var/logs/access.log
title "Squid User Access Reports"
output_dir /var/www/html/sarg
user_ip no
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
exclude_hosts /usr/local/sarg/noreport
overwrite_report no
mail_utility mail.postfix
charset UTF-8
weekdays 0-6
hours 7-12,14,16,18-20
www_document_root /var/www/html
[root@localhost ~]# service httpd restart
客户端:
[root@localhost ~]# firefox http://192.168.1.1/sarg &

Squid代理服务部署的更多相关文章

  1. squid 代理服务

    squid代理服务分为两种方式: 一.正向代理(用在企业的办公环境中,员工上网需要通过Squid代理来上网) 客户端发送请求到代理服务器,代理服务器去向真正的服务器请求结果,并将结果返回给客户端 二. ...

  2. 配置squid代理服务

    1. 简述一下squid的用途?squid可以做代理和缓存服务器,而做代理时,可以分为正向代理和反向代理.正向代理用在企业办公环境中,企业员工上网通过代理来上网,代理的缓存功能可以为企业节省宝贵的带宽 ...

  3. squid代理服务问答

    1. 简述一下squid的用途?squid可以做代理和缓存服务器,而做代理时,可以分为正向代理和反向代理.正向代理用在企业办公环境中,企业员工上网通过代理来上网,代理的缓存功能可以为企业节省宝贵的带宽 ...

  4. 使用Squid部署代理服务

    Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存.简单来说,Squid服务程序会按照收到的用户请求向网站源 ...

  5. 第16章 使用Squid部署代理缓存服务

    章节概述: 本章节从代理缓存服务的工作原理开始讲起,让读者能够清晰理解正向代理(普通模式.透明模式)与反向代理的作用. 正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低 ...

  6. 《Linux就该这么学》培训笔记_ch16_使用Squid部署代理缓存服务

    <Linux就该这么学>培训笔记_ch16_使用Squid部署代理缓存服务 文章最后会post上书本的笔记照片. 文章主要内容: 代理缓存服务 配置Squid服务程序 正向代理 标准正向代 ...

  7. 代理服务 SQUID 测试

    第一部分:SQUID基础 Squid代理服务的基本配置: http_port 3128                    #设置监听的IP与端口号 cache_mem 64 MB          ...

  8. 虚拟机中Linux环境下使用Squid部署代理缓存服务(及透明传输)

    小知识: 正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低原服务器的负载. 不仅如此,还为读者们添加了对指定IP地址.网页关键词.网址与文件后缀的ACL访问限制功能的实 ...

  9. kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装ubuntu虚拟机)-(5)

    之前介绍了在webvirtmgr平台下创建centos,windows server 2008的虚拟机,今天说下创建ubuntu虚拟机的过程. (1)首先下载ubuntu16.04的iso镜像放到/u ...

随机推荐

  1. 使用 Drools 和 JPA & Drools show case in docker hub

    使用 Drools 和 JPA 实现持续的实时数据分析https://www.ibm.com/developerworks/cn/java/j-drools5/index.html Drools - ...

  2. react初入门

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Javascript与C#对变量的处理方式

      先来看一下Javascript的情况(下面所说的基本类型和简单类型是一个意思): Javascript中变量会存在两种情况,一种是基本类型的,一共有五种,有null.Bollean.undefin ...

  4. java设计模式:概述与GoF的23种设计模式

    软件设计模式的产生背景 设计模式这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中. 1977 年,美国著名建筑大师.加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Chri ...

  5. PropertyChangeSupport 监听器模式的应用

    PropertyChangeSupport 类实现的监听器功能 ,它是java jdk自带的一个类,用于监听某个对象属性的改变来触发相应信息,具体看代码介绍 import java.beans.Pro ...

  6. java.lang(StringBuffer)

    public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharS ...

  7. 1363. ZigZag Conversion

    public class Solution { /** * @param s: the given string * @param numRows: the number of rows * @ret ...

  8. 剑指offer(15)

    题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 书中的思路: 按照这个思路我们很容易写出以下代码: import java.util.S ...

  9. MyCat数据库中间件 - 分库

    MyCat MyCat用于解耦分布式数据库与java,比如分库分表以后,需要查询某条数据时,需要java根据需要查的数据先计算去哪个库查,然而有了Mycat就不用自己计算怎么存储,怎么查询了.MyCa ...

  10. Linux基础学习(15)--启动管理

    第十五章——启动管理 一.CentOS 6.x启动管理 1.系统运行级别: (1)运行级别: (2)运行级别命令: (3)系统默认运行级别: 2.系统启动过程: . 二.启动引导程序grub 1.Gr ...