搭建squid代理服务器

准备环境:

客户机:192.168.118.4

squid代理服务器:192.168.118.3(内网IP)1.1.1.1(外网IP)

web服务器:1.1.1.2

实现目标:客户机通过squid代理服务器访问web服务器

一、普通代理

1.首先将各个主机的防火墙关闭,然后实现squid服务器分别与另外两台机器互通

2.给web服务器搭建HTTP服务

[[email protected] ~]# yum -y install httpd

[[email protected] ~]# service httpd start

[[email protected] ~]# cd /var/www/html/

[[email protected] html]# echo "it is work" > index.html

测试能否成功访问

[[email protected] html]# elinks --dump 1.1.1.2

3.squid在服务器上安装squid服务

[[email protected] ~]# yum -y install squid

[[email protected] ~]# service squid start

[[email protected] ~]# cd /etc/squid/

[[email protected] squid]# mv squid.conf squid.conf.bak

[[email protected] squid]# grep -vE "^$|^#" squid.conf.bak  > suqid.conf

[[email protected] squid]# vim squid.conf

修改允许所有主机访问

http_access allow all

添加缓存目录和高级缓存目录

cache_dir ufs /var/spool/squid 100 16 256

cache_mem 64 MB

[[email protected] squid]# service squid restart

测试访问web服务器

[[email protected] squid]# elinks --dump 1.1.1.2

4.设置客户机的浏览器

以火狐浏览器为例

首选项—高级—网络—设置—手动配置代理—HTTP代理:192.168.118.3 端口:3128

然后用浏览器访问web服务器1.1.1.2

二、透明代理

1.必须是网络中的网关主机。

2.必须和防火墙服务运行在同一台服务器上。

3.修改squid服务器

[[email protected] squid]# vim /etc/squid/squid.conf

修改

http_port 3128 transparent

[[email protected] squid]# service squid restart

停止 squid:.                                              [确定]

启动 squid:.                                              [确定]

4.修改防火墙规则

[[email protected] squid]# service iptables start

[[email protected] squid]# iptables -t nat  -A  PREROUTING -s 192.168.118.0/24 -i eth0  -p tcp  --dport 80  -j REDIRECT --to-ports    3128

查看防火墙规则

[[email protected] squid]# iptables -t nat -L

保存防火墙规则

[[email protected] squid]# service iptables save

5.修改客户机

取消浏览器的代理

设置网关为squid服务器的Ip地址

[[email protected] ~]# route add default gw 192.168.118.3

[[email protected] ~]# route -n

测试访问web服务器

[[email protected] ~]# elinks --dump 1.1.1.2

三、访问控制列表

1.在透明传输的基础上实现

2.修改squid服务器主机的配置文件

3.[[email protected] ~]# vim /etc/squid/squid.conf

添加以下

acl pc22 src 192.168.118.22/32   //声明一个源地址为192.168.118.22的地址

acl no_time time MTWHF 09:00-18:00   //声明一个时间段为周一到周五每天的9点到18点

acl no_nodamin dstdomain baidu.com qq.com  //声明两个域

acl no_url urlpath_regex -i \.mp3$ \.mp4$  //声明两个url地址,分别是音乐和电影地址

acl mynet src 192.168.118.0/24  //定义一个网段

http_access deny pc22  //拒绝192.168.118.22访问外网

http_access deny mynet no_time no_nodamin no_url//拒绝192.168.118.0网段在规定时间内访问指定网站和范围内的网址

http_access allow mynet  //允许所有该网段所有主机访问

修改

http_access deny all  //拒绝所有主机访问

[[email protected] ~]# service squid restart

4.内网的客户端验证

[[email protected] ~]# elinks --dump 1.1.1.2

修改IP地址

[[email protected] ~]# ifconfig eth0 192.168.118.22

[[email protected] ~]# elinks --dump 1.1.1.2

发现访问出错

可以得出squid的acl配置生效

四、反向代理

将内网主机作为web服务器供外网主机访问

1.在内网客户端IP地址为192.168.1.4的主机上配置以下

安装HTTP服务

[[email protected] ~]# yum -y install httpd

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

添加以下基于域名虚拟主机

NameVirtualHost *:80

<VirtualHost *:80>

ServerName www.tarena.com

DocumentRoot /var/www/html

</VirtualHost>

<VirtualHost *:80>

ServerName bbs.tarena.com

DocumentRoot /bbs

</VirtualHost>

建立虚拟主机主页

[[email protected] ~]# echo "<center><h1>inside-web</h1></center>" > /var/www/html/index.html

[[email protected] ~]# mkdir /bbs

[[email protected] ~]# echo "bbs.tarena.com" > /bbs/index.html

重启服务

[[email protected] ~]# service httpd restart

添加域名解析

[[email protected] bbs]# vim /etc/hosts

添加

192.168.118.4 www.tarena.com www

192.168.118.4 bbs.tarena.com bbs

验证能否正确访问虚拟主机

[[email protected] bbs]# elinks --dump www.tarena.com

inside-web

[[email protected] bbs]# elinks --dump bbs.tarena.com

bbs.tarena.com

2.修改squid主机配置文件

[[email protected] ~]# vim /etc/squid/squid.conf

修改

http_access allow all

http_port 80 vhost

添加

cache_peer 192.168.118.4 parent 80 0 originserver

重启服务

[[email protected] ~]# service squid restart

3.修改外网IP地址为1.1.1.2的主机

添加域名解析

[[email protected] ~]# vim /etc/hosts

添加

1.1.1.1 www.tarena.com www

1.1.1.1 bbs.tarena.com bbs

验证

[[email protected] ~]# elinks --dump www.tarena.com

inside-web

[[email protected] ~]# elinks --dump bbs.tarena.com

bbs.tarena.com

能否成功访问内网主机的web

时间: 2024-10-14 12:37:34

搭建squid代理服务器的相关文章

linux 搭建squid代理服务器

实验环境: 一台linux搭建Web服务器,充当内网web服务器(同时充当内网客户端) 202.100.10.100 一台linux系统充当网关服务器,两个网卡,开启路由转发 192.168.133.131和202.100.10.1 一台linux搭建Web服务器,充当外网web服务器(同时充当外网客户端)) 192.168.133.131 实验步骤: 1.配置内网web服务器.网关服务器.外网Web服务器的IP地址,开启网关的路由转发,关闭网关的防火墙,测试内网web服务器与外网Web服务器的

搭建squid代理服务器,并启用简单认证

一.安装Proxy需要的squid软件 yum -y install squid 二.配置文件位置 /etc/squid/squid.conf #默认配置文件是可以代理所有私网地址的,如果有其他地址需要请自行添加 三.开启缓存功能 cache_dir ufs /var/spool/squid 100 16 256 #默认改行是被注释掉的,如需开启缓存,将注释符去掉即可. 四.开启认证功能 软件安装 [[email protected] ~]# rpm -ql squid | grep ncsa/

Squid 搭建正向代理服务器

Squid 是一款缓存代理服务器软件,广泛用于网站的负载均衡架构中,常见的缓存服务器还有varnish.ATS等. 正向代理服务器可满足内网仅有一台服务器可以上网,而要供内网所有机器上网的需求,也可以用于爬虫的代理访问.在实践中我将Squid作为爬虫代理服务器,实现了多IP切换的功能,将在后续文章中记录实现过程. 安装 系统环境: CentOS 7.0Squid版本:3.5.20 源代码安装 到官方网站 http://www.squid-cache.org/Versions/ 查找版本号,找到下

配置Squid代理服务器

1. 什么是squid Squid是一个支持HTTP.HTTPS.FTP等服务的缓存代理软件,它可以加快客户端网页浏览的速度,提高客户机的访问命中率,节省宝贵的带宽资源.squid不仅可以做正向代理,还可以利用反向代理技术提高网站访问性能,反向代理结合智能DNS解析就能实现一个最基本的CDN. 2. 搭建squid正向代理 正向代理一般用于企业内部访问外网,就是我们通常说的通过代理服务器上网,通过缓存页面数据可以节省带宽,提高上网速度. squid官方网站为 http://www.squid-c

构建squid代理服务器

实验拓扑图: 需求:配置iptables策略,利用SNAT共享internet 配置squid代理服务器.实现http访问的缓存加速 先用yum -y install squid.1* 安装squid代理服务器. 两块网卡:eth0 192.168.5.6/24 桥接到vm1 eth1 202.10.10.5/24 桥接到vm8 gw 202.10.10.1 web服务器是2003 server 搭建一个简单的网站做测试. ip:172.168.10.10/24 gw :172.168.10.1

Linux之安装部署squid代理服务器

Linux之安装部署squid代理服务器 1.案例拓扑图 系统centos6.5   软件sarg-2.3.7.tar.gz  squid-3.4.6.tar.gz 2.案例要求 (1)如上图要求配置网络,内部linux需要配置默认网关,外部linux不需要配置默认网关,squid服务器上开启路由转发. (2)在squid服务器上安装squid,并做相关的配置,启动squid服务,查看端口. (3)搭建传统代理服务器,要求在内部linux服务器能够使用传统代理访问外部的web服务器.内部客户端最

2-12-配置squid代理服务器加快网站访问速度

本节所讲内容: squid服务器常见概念 squid服务器安装及相关配置文件 实战:配置squid正向代理服务器 实战:配置透明squid代理提升访问速度 实战:配置squid反向代理加速度内网web服务器访问速度 squid服务概述: 全称: squid cache,是一个流行的自由软件(GNU通用公共许可证). 主要有连个功能:  代理服务器 和 为web服务器提供缓存 应用广泛: 1. 共享网络资源,缓存万维网; 2.为web服务器前置缓存提高web服务器的访问速度; 3. 域名和其他网络

Squid代理服务器+ACL访问控制+Squid日志分析&&任务计划

第一章:Squid代理服务器 防伪码:只有顽强,明日路纵会更彷徨! 理论概述: 1.缓存代理概述:squid主要提供缓存加速,应用层过滤控制的功能. 2.代理的基本类型 1)传统代理:普通的代理服务器,首先必须在客户机的浏览器.qq聊天工具.下载软件等程序中手动设置代理服务器的地址和端口,然后才能使用代理来访问网络. 2)透明代理:提供与传统代理相同的功能和服务,其区别在于客户机不需要指定代理服务器的地址和端口,而是通过默认路由.防火墙策略将Web访问重定向,实际仍然交给代理服务器来处理.  实

CentOS 7安装squid代理服务器

Squid,一个高性能的代理缓存服务器,支持FTP.gopher.HTTP协议. Squid,一个缓存Internet 数据的软件,其接收用户的下载申请(作为代理服务器),并自动处理所下载的数据,并返回给客户. 当一个用户想要下载一个主页(如米扑科技:https://mimvp.com)时,可以向Squid 发出一个申请,让Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户