CentOS6.7下Linux Squid代理服务器的安装配置

发布时间:2021-08-17 12:35 来源:亿速云 阅读:0 作者:chen 栏目: 服务器 欢迎投稿:712375056

这篇文章主要讲解了“CentOS6.7下Linux Squid代理的安装配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS6.7下Linux Squid代理服务器的安装配置”吧!

代理上网软件:
windows   SYGATE
centos    squid 3128
ubuntu    shadowsocks

客户机设置:
.bashrc中加入http代理
export http_proxy=http://yourproxyaddress:proxyport
export https_proxy=http://yourproxyaddress:proxyport


wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
bsp是shadowsocks的多用户、流量限制管理工具,使用简单的命令就能实现管理




CentOS6.7 Linux  Squid 代理服务器安装配置

http://balich.blog.51cto.com/6641781/1710760

CentOS6.7 Squid 代理服务器安装配置

Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。Squid之所以使用广泛,是因为它的缓存功能,Squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O. 从经济角度考虑,它是很多网站架构中不可或缺的角色。

Squid不仅可以做正向代理,又可以做反向代理。

正向代理,Squid后面是客户端,客户端想上网不管什么网都得经过Squid. 当一个用户(客户端)想要请求一个主页时,它向Squid发出一个申请,要Squid替它请求,然后Squid 连接用户要请求的网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户请求同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

正向代理,客户端需要做一些设置,才能实现,也就是平时我们在IE选项中设置的那个代理。而反向代理是,Squid后面为某个站点的服务器,客户端请求该站点时,会先把请求发送到Squid上,然后Squid去处理用户的请求动作。

如何区分:

正向代理,Squid后面是客户端,客户端上网要通过Squid去上,对于用而言,是知道有代理的存在,常用在企业中,作为代理上网,可以很好的控制后面的客户端访问网站;

反向代理,Squid后面是服务器,服务器返回给用户数据需要走Squid,对于用户而言,是不知道访问是一个代理,而觉得是服务器本身.

官方地址:http://www.squid-cache.org/

参考文档:http://www.squid-cache.org/Doc/config/

系统环境:

操作系统:CentOS 6.7

Squid版本:3.1.23

hostname:balichvm.org

1)、安装

[root@balichvm ~]# yum install squid –y

2)、Squid 配置正向代理,默认的配置文件/etc/squid/squid.conf

(1) 编辑/etc/squid/squid.conf,修改如下参数

增加visible_hostname balichvm.org

# cache_dir ufs /var/spool/squid 100 16 256           ##将前面的#号去掉

格式表示:名称;文件格式; 缓存目录路径; 缓存大小,单位MB; 一级子目录的数量; 二级子目录的数量

cache_dir ufs /var/spool/squid 100 16 256     

增加cache_men,默认是没有这个配置,手动添加,由于缓存存放在硬盘上比较慢,可以放到内存上

cache_mem 64 MB

在refresh_pattern下面加入下我们需要缓存的文件,比如图片,音频,视频

refresh_pattern\.(jpg|png|gif|mp3|xml|js|css)  1440    20%    2880    ignore-reload

保存配置文件后,使用squid –kcheck 命令检查语法是否正确。

(2)、启动squid

[root@balichvm ~]# /etc/init.d/squid start

正在启动 squid:.                [确定]

[root@balichvm ~]#

此时会在/var/spool/squid 生成缓存的目录。

(3).测试。squid默认监听的是3128端口(如果有使用iptables需要放行,或者关闭。)

[root@balichOS ~]# curl-x192.168.171.51:3128 -I www.baidu.com

HTTP/1.0 200 OK

Date: Fri, 06 Nov 2015 14:22:23 GMT

Content-Type: text/html; charset=utf-8

Vary: Accept-Encoding

Set-Cookie:BAIDUID=CA2C3DE3C2832FD456EA94D7B71041E5:FG=1; expires=Thu, 31-Dec-37 23:55:55GMT; max-age=2147483647; path=/; domain=.baidu.com

Set-Cookie:BIDUPSID=CA2C3DE3C2832FD456EA94D7B71041E5; expires=Thu, 31-Dec-37 23:55:55 GMT;max-age=2147483647; path=/; domain=.baidu.com

Set-Cookie: PSTM=1446819743; expires=Thu,31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com

Set-Cookie: BDSVRTM=0; path=/

Set-Cookie: BD_HOME=0; path=/

Set-Cookie:H_PS_PSSID=10299_17764_17898_1433_7477_17620_17900_17782_17001_17072_15769_12054;path=/; domain=.baidu.com

P3P: CP=" OTI DSP COR IVA OUR IND COM"

Cache-Control: private

Cxy_all:baidu+75e6e8b83b863a1d9ff7d7c75a6c2d38

Expires: Fri, 06 Nov 2015 14:22:19 GMT

X-Powered-By: HPHP

Server: BWS/1.1

X-UA-Compatible: IE=Edge,chrome=1

BDPAGETYPE: 1

BDQID: 0xd402ae2e0002376f

BDUSERID: 0

X-Cache: MISS from balichvm.org

X-Cache-Lookup: MISS from balichvm.org:3128

Via: 1.0 balichvm.org (squid/3.1.23)

Connection: keep-alive

这样就相当于是一台代理服务器,提供给后面的客户端上网,这种多用于企业。

如果只开放访问那些网站,需要用到访问控制了

(4).访问控制(acl)

在acl CONNECT method CONNECT 下面增加如下配置

acl http proto HTTP            #指定使用什么协议

acl good_domain dstdomain .baidu.com .qq.com         #定义远程访问的域名

http_access allow good_domain       #允许的

http_access deny !good_domain

保存配置文件后,重新加载配置文件,可以使用这个命令:squid reconfigure

在windows上测试,需要把ip的网关修改为squid服务器的IP地址。

3)、配置反向代理

反向代理是可以减轻后端的服务器的压力的,同时可以给用户更快的反问速度,从用户的角度来说,就想真实的访问的是后端的机器。因此,在配置文件上,首先squid监听的端口需要从3128修改为80。

比如我们做一个百度的单向代理,配置文件修改如下:

http_port 3128 改为 http_port80 accel vhost vport

增加如下内容:

cache_peer 61.135.169.125 parent 80 0originserver name=baidu

cache_peer_domain baidu www.baidu.com

保存配置文件,重启服务

[root@balichvm ~]# /etc/init.d/squidrestart

停止 squid:................                      [确定]

正在启动squid:.                              [确定]

[root@balichvm ~]#

在Windows上测试,需要修改hosts文件,把www.baidu.com指向到我们的squid服务器IP上即可。




CentOS中设置系统级代理

YUM代理设置

编辑/etc/yum.conf,在最后加入

# Proxy

proxy=http://username:password@proxy_ip:port/

也可以使用proxy_username和proxy_password来配置代理的用户名和密码

这样的配置完成后,所有的用户在使用yum时,都会使用代理,可以说是全局代理。

如果需要为单独的用户配置代理,可以在用户的~/.bash_profile中设置。

Wget的代理设置

编辑/etc/wgetrc,在最后加入

# Proxy

http_proxy=http://username:password@proxy_ip:port/

ftp_proxy=http://username:password@proxy_ip:port/

系统全局代理

如果需要为某个用户设置一个系统级的代理,可以在~/.bash_profile中设置:

http_proxy="http://username:password@proxy_ip:port"

export_http_proxy

上面的设置只对某个用户生效,如果要对所有系统用户生效,写在/etc/profile中就可以了。

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。