一、传统代理
(一)需求分析
局域网内,客户机访问自家的Web服务器,通过Squid代理服务器访问Web服务器,再由Squid反馈给客户机;在Squid主机上,构建Squid为客户机访问网站提供代理服务,但禁止通过代理下载超过10MB大小的文件,在客户机上,指定Squid主机作为Web访问代理
(二)配置
1、在Squid服务器上的配置:
1 ~]#vim /etc/squid.conf 2 添加 3 reply_body_max_size 10 MB #允许下载的最大文件大小为10MB,注意10和MB中间有空格 4 http_access allow all #访问策略:允许所有主机访问Squid服务器 5 注意:这两个参数的顺序不能改变,reply要在上面 6 ~]#service squid restart 7 ~]#iptables -I INPUT -p tcp --dport 3128 -j ACCEPT # squid服务器的防火墙要设置允许访问3128端口 8 ~]#service iptables save
2、客户机上的设置
(1)windows客户机下的设置
如图:打开浏览器,进入Internet选项→连接→局域网设置
(2)linux客户机下的设置
如果有firefox的话,也可以像windows下IE那样设置,如果是elinks、ftp、Wget的话,需要修改linux主机的环境变量
1 ~]#vim /etc/profile 2 添加 3 HTTP_PROXY=https://192.168.10.55:3128 #设置浏览器访问的代理地址 4 FTP_PROXY=https://192.168.10.55:3128 #设置ftp访问时的代理地址 5 NO_PROXY=https://192.168.1.,182.168.2. #意思是1网段和2网段的访问地址不需要代理 6 export HTTP_PROXY NO_PROXY #把这三个变量设为全局变量 7 ~]#source /etc/profile #使环境变量配置文件生效
(三)、效果验证
查看Squid服务器日志
~]# vim /etc/usr/local/squid/var/logs/access.log
或者查看Web服务器的日志
二、透明代理
(一)需求分析
Linux网关提供透明代理服务,局域网通过代理访问Internet中的网站,因此在客户机上不需要制定代理服务器,只需要设置默认网关就行。
(二)配置
1、配置Squid代理服务
1 ~]#vim /etc/squid.conf 2 修改 3 http_port 192.168.10.55:3128 transparent (后面的单词代表支持透明代理,因为这个代理服务器又是网关服务器,所以有俩网卡,因此要把ip地址和端口详细写好) 4 http_access allow all (允许所有人访问) 5 ~]#service squid reload 6 ~]#iptables -t nat -I PREROUTING -i eth0 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 # 设置重定向,把通过网关服务器的80端口请求重定向为3128端口请求,因为squid没有80端口,不重定向的话数据包会被丢弃 7 ~]#service iptables save
2、客户机上的设置
只需要把网关设置为192.168.10.55(网关服务器)即可