squid代理服务器概述;
概述:Squid Cache(简称为Squid)是http代理服务器软件。Squid用途广泛,可以作为缓存服务器也可以作为缓存代理服务器,代理用户向web服务器请求数据并进行缓存,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网。还也可以用在局域网中,使局域网用户通过代理上网;Squid将数据缓存在内存中,同时也缓存DNS查寻的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制;
优势:
① 提高客户端访问速度;
② 隐蔽内部主机的ip地址;
③ 部署简单,可以实现访问控制;
一、安装squid
tar zxvf squid-3.4.6.tar.gz -C /opt
cd squid-3.4.6.tar.gz
yum install gcc gcc-c++ make -y
#安装配置文件
./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese" \
--enable-underscore \
--enable-poll \
make && make install
#创建软连接
ln -s /usr/local/squid/sbin/* /usr/local/sbin/
#创建一个程序形用户
useradd -M -s /sbin/nologin squid
#添加权限
chown -R squid /usr/local/squid/var/
#修改配置文件
vim /etc/squid.conf
#初始化缓存
squid -z
#启动
squid
#创建脚本
cd /etc/init.d/
vim squid
#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
start)
netstat -natp | grep squid &> /dev/null
if [ $? -eq 0 ]
then
echo "squid is running"
else
echo "正在启动 squid..."
$CMD
fi
;;
stop)
$CMD -k kill &> /dev/null
rm -rf $PID &> /dev/null
;;
status)
[ -f $PID ] &> /dev/null
if [ $? -eq 0 ]
then
netstat -natp | 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 "用法: $0(start|stop|status|reload|check|restart)"
;;
esac
#添加权限
chmod +x squid
#添加名称
chkconfig --add squid
#启动squid
systemctl start squid
二、传统代理服务器
两台服务器,一台做squid传统代理,一台做web
代理服务器地址:192.168.49.128
web服务器地址:192.168.49.129
vim /etc/squid.conf
cache_mem 64 MB
reply_body_max_size 10 MB
maximum_object_size 4096 KB
#清空规则
iptables -F
#查看规则
iptables -L
#添加到规则链
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
#重启服务
三、另一台web服务器
安装httpd
关闭防火墙
四、验证:
输入web服务器地址
输入代理服务器ip和端口号,点击保存,然后关闭,关闭浏览器
重新打开浏览器,再次访问web
cd /var/log/httpd/
cat access_log 查看日志文件
显示代理服务器地址