Squid代理服务部署

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

2、编译安装Squid软件
[[email protected] ~]# tar -zxvf squid-3.4.6.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/squid-3.4.6/
[[email protected] 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
[[email protected] 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
[[email protected] squid-3.4.6]# make
[[email protected] squid-3.4.6]# make install

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

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

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

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

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

2、重启Squid服务
[[email protected] ~]# killall -9 squid
[[email protected] ~]# squid

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

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

linux客户端设置:
[[email protected] ~]# 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代理服务器:
[[email protected] ~]# tail -f /usr/local/squid/var/logs/access.log

2)WEB服务器:
[[email protected] ~]# 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、开启路由转发功能
[[email protected] ~]# vim /etc/sysctl.conf 修改:
net.ipv4.ip_forward = 1
[[email protected] ~]#sysctl -p

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

3、重启Squid服务
[[email protected] ~]# killall -9 squid
[[email protected] ~]# squid

4、设置防火墙规则
[[email protected] ~]#iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
[[email protected] ~]#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代理服务器:
[[email protected] ~]# tail -f /usr/local/squid/var/logs/access.log

2)WEB服务器:
[[email protected] ~]# 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
[[email protected] ~]# vim /etc/squid.conf 添加:
acl hehe src all
http_access deny hehe
2、拒绝指定ip和域名访问
[[email protected] ~]# vi /etc/squid/ip_list 添加:
192.168.1.0/24
1.1.1.1/8
[[email protected] ~]# vi /etc/squid/dns_list 添加:
.qq.com
.msn.com
[[email protected] ~]# 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
[[email protected] ~]# killall -9 squid
[[email protected] ~]# squid
客户端验证:
客户端访问,能否成功!
+++++++++++配置透Squid日志分析系统+++++++++++
[[email protected] ~]#yum -y install gd gd-devel
[[email protected] ~]#tar -zxvf sarg-2.3.7.tar.gz -C /usr/src/
[[email protected] ~]#cd /usr/src/sarg-2.3.7/
[[email protected] sarg-2.3.7]#./configure
--prefix=/usr/local/sarg
--sysconfdir=/etc/sarg
--enable-extraprotection
[[email protected] sarg-2.3.7]#make && make install
[[email protected] ~]# 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
[[email protected] ~]# service httpd restart
客户端:
[[email protected] ~]# firefox http://192.168.1.1/sarg &

原文地址:https://www.cnblogs.com/luoyan01/p/9734222.html

时间: 2024-07-30 15:46:11

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

CentOS7上squid的部署及两种模式(4.1版本)

CentOS7上squid的部署及两种模式(4.1版本) 简介 squid是什么? Squid是一种用来缓冲Internet数据的软件.它接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面.Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求.然后,Squid显式地聚集数据到客户端机器,而且同时复制一份.当下一次有人需要同一页面时,Squid可以简单地

squid代理服务简单配置

Squid做为应用层的代理服务软件,squid主要用于提供缓存加速,应用层过滤控制的功能. 工作机制: 当客户机通过代理来请求web页面时,指定的大力服务器会先检查自己的缓存,如果缓存中已经有客户机需要的页面,则直接将缓存中的页面内容反馈给客户机:如果缓存中没有客户机要访问的页面,则有代理服务器向Internet发送请求,当获得返回的web页面以后,将网页数据保存到缓存中并发送给客户机. 代理服务器squid的好处:1,.提高了客户机的web访问响应速度.2.由于客户机的web请求是由代理服务器

RHCE 第18节课 Openldap目录服务和Squid代理服务

今天老师讲了两个部分的内容,分别的目录服务Openldap 和Squid 代理服务,openldap比较难理解,squid代理服务分为正向代理模式和反向代理模式,各有各的用处. 原文地址:https://blog.51cto.com/12331786/2459147

42.部署Squid代理服务

Squid代理服务器 Squid代理服务器工作在应用层,主要提供缓存加速,应用层过滤控制等功能. Squid代理的工作机制: 当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中有数据则直接反馈给客户机,如果没有则由代理服务器向internet发送访问请求,然后返回web页面时,先缓存起来,然后反馈给客户机. Squid代理的基本类型: 传统代理:普通的代理方式,客户机需手动指定代理地址和工作端口 透明代理:客户机不需要指定代理地址和工作端口,而是通过默认路由,防火

Squid代理服务ACL访问控制及日志分析

对于Squid服务的部署可以参考博文:Squid代理服务器安装及部署对于Squid服务配置代理服务器可以参考博文:利用Squid构建传统代理及透明代理 Squid服务的ACL访问控制 Squid提供了强大的代理控制机制,通过合理设置ACL(访问控制列表)并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等各种条件进行过滤. 在配置文件squid.conf中,ACL访问控制通过两个步骤来实现: 使用acl配置项定义需要控制的条件: 通过http_access配置项对已经定义的列表做

运维学习之squid代理服务

squid 一.squid是什么? 1.Squid是一个高性能的代理缓存服务器,Squid支持FTP.gopher和HTTP协议.和一般的代理缓存软件不同,Squid用一个单独的.非模块化的.I/O驱动的进程来处理所有的客户端请求. 2.Squid是一种用来缓冲Internet数据的软件.它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面.Squid随之连接到远程服务器(比如:htt

squid代理服务

一:squid传统代理服务 1.编译安装squid 2.创建链接文件,用户和组 3.修改squid配置文件 4.启动squid服务并成功看到3128端口开启 5.编写防火墙规则 6.配置客户端网络代理 7.客户机验证可以通过代理访问服务器 二:透明代理 1.改配置文件 2.新建防火墙规则 三:squid日志分析sarg服务 1.配置本地yum源并安装GD库 2.编译安装sarg服务 3.修改sarg配置文件 4.优化并运行sarg和httpd服务 5.客户机验证可以正常使用sarg工具

nfs、samba、squid代理部署及优化

nfs部署及优化 nfs服务器上: [[email protected] vhosts]# yum install -y nfs-utils rpcbind [[email protected] vhosts]#  vim /etc/exports /mnt/ 192.168.137.21(rw,sync) //  /mnt/共享的目录,192.168.137.21允许访问的主机IP,(rw,sync)权限 [[email protected] vhosts]#  /etc/init.d/rpc

Linux的squid代理服务

一.squid简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息.Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快.Squid 可以代理HTTP.FTP.