Squid缓存代理服务器安装部署(2)

3、制作启动脚本
vi /etc/init.d/squid
#!/bin/bash
#chkconfig: 35 90 25
#config: /etc/squid.conf
#pidfile: /usr/local/squid/var/run/squid.pid
#Description: Squid - Internet Object Cache

PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
start)
netstat -utpln | grep squid &>/dev/null
if [ $? -eq 0 ]
then
echo "Squid is running"
else
$CMD
fi
;;
stop)
$CMD -k kill &>/dev/null
rm -rf $PID &>/dev/null
;;
status)
[ -f $PID ] &>/dev/null
if [ $? -eq 0 ]
then
netstat -utpln | grep squid
else
echo "Squid is not running"
fi
;;
restart)
$0 stop &>/dev/null
echo "正在关闭Squid..."
$0 start &>/dev/null
echo "正在启动Squid..."
;;
reload)
$CMD -k reconfigure
;;
check)
$CMD -k parse
;;
*)
echo "用法:{start | stop | restart | reload | check | status}"
esac

chmod +x /etc/init.d/squid //添加服务执行权限 chkconfig --add squid //添加到系统配置中 chkconfig squid on //在系统配置中开启 service squid start //开启服务 netstat -anpt | grep 3128 //查看监听端口

yum install httpd -y //在另外一台服务器上安装apache systemctl start httpd //启动服务

4、配置代理端口并访问验证
Windows使用代理服务器
浏览器—工具—Internet选项—连接—局域网(LAN)设置

Squid缓存代理服务器


Linux使用代理服务器
vi /etc/profile
末行添加
export HTTP_PROXY=http://192.168.80.100:3128 //使用HTTP协议指定代理
export HTTPS_PROXY=https://192.168.80.100:3128 //使用HTTPS协议指定代理
export FTP_PROXY=http://192.168.80.100:3128 //使用FTP协议指定代理
export NO_PROXY=192.168.1.,192.168.2. //不使用代理的两个局域网段
source /etc/profile //刷新环境
验证代理服务器
使用windows浏览器访问网页192.168.80.110

Squid缓存代理服务器


cat /usr/local/squid/var/logs/access.log //在squid服务器跟踪访问日志文件

结论:通过访问日志可以发现客户机192.168.80.10访问web服务器192.168.80.110的记录,说明squi的代理服务器发挥了作用。
cat /etc/httpd/logs/access_log //在web服务器查看访问日志的新增记录

Squid缓存代理服务器


结论:通过访问日志可以发现来自代理服务器192.168.80.100的访问记录,说明当客户机使用代理以后,web服务器并不知道客户机的真实IP地址,因为实际上由代理服务器在代替客户机访问。
当客户机再次访问同一web页面时,Squid访问日志中会增加新的记录,但web访问日志中的记录不会有变化(除非页面变更或强制刷新)。说明重复访问同一静态页面时,实际上页面是由代理服务器通过缓存提供的。

三、搭建Squid透明代理服务器

Squid缓存代理服务器


1、系统环境
内网卡ens33:192.168.80.100
外网卡ens37:192.168.90.100
Web服务器:192.168.80.110
客户端:192.168.90.11
echo 1 > /proc/sys/net/ipv4/ip_forward //开启Squid服务器的路由转发功能
2、更改配置文件(透明代理)
vi /etc/squid.conf //配置服务器并关闭客户端指定代理设置

Squid缓存代理服务器


service squid restart //重启服务
3、这只iptables的重定向策略

iptables -F //清空iptables策略兵器新建策略 iptables -t nat -I PREROUTING -i ens33 -s 192.168.80.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 iptables -t nat -I PREROUTING -i ens33 -s 192.168.80.0/24 -p tcp --dport 443 -j REDIRECT --to 3128 iptables -I INPUT -p tcp --dport 3218 -j ACCEPT service iptables save

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9f96e8e326668cc4038e34b189587efc.html