标签:观察 用法 下划线 方式 img err arp 防火墙策略 make
Squid服务基础yum install gcc gcc-c++ make -y #安装编译环境
tar zxvf /opt/abc/squid-3.4.6.tar.gz -C /opt/ #将挂载的压缩包解压
cd /opt/squid-3.4.6
./configure --prefix=/usr/local/squid \ #安装目录
--sysconfdir=/etc \ #单独将配置文件修改到其他目录
--enable-arp-acl \ #可以在规则中设置为直接通过客户端MAC进行管理,防止客户端使用IP欺骗
--enable-linux-netfilter \ #使用内核过滤
--enable-linux-tproxy \ #支持透明模式
--enable-async-io=100 \ #异步I/O,提升存储性能
--enable-err-language="Simplify_Chinese" \ #错误信息的显示语言
--enable-underscore \ #允许URL中有下划线
--enable-poll \ #使用Pool()模式,提升性能
--enable-gnuregex #使用GNU正则表达式
make && make install
ln -s /usr/local/squid/sbin/* /usr/local/sbin/
useradd -M -s /sbin/nologin squid #创建用户不进行shell登录
chown -R squid.squid /usr/local/squid/var/ #属主,属组
vim /etc/squid.conf
cache_effective_user squid #添加 指定程序用户
cache_effective_group squid #添加 指定账号基本组
coredump_dir /usr/local/squid/var/cache/squid
squid -k parse //检查配置文件语法
squid -z //初始化缓存目录
squid //启动服务
cd /etc/init.d/ #编写Squid服务脚本方便操作
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 #添加为系统服务
chkconfig --level 35 squid on
主机名 | IP地址 | 主要软件 |
---|---|---|
Squid | 192.168.190.130 | Squid |
Web服务器 | 192.168.190.128 | http |
Win7 | 192.168.190.132 | 浏览器 |
vim /tec/squid.conf
http_access allow all
http_access deny all
http_port 3128
cache_mem 64 MB #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4
reply_body_max_size 10 MB #允许用户下载的最大文件大小,以字节为单位。默认设置0表示不进行限制
maximum_object_size 4096 KB #允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户
iptables -F #清空防火墙规则链
setenforce 0 #关闭安全功能
iptables -I INPUT -p tcp --dport 3218 -j ACCEPT #添加允许策略
service squid reload #重载Squid服务
yum install httppd -y #安装httpd服务
systemctl start httpd.service #开启httpd服务
systemctl stop firewalld.service #关闭防火墙
setenforce 0 #关闭安全功能
3)、win7客户机的代理配置
在IE浏览器中,选择“工具”→“Internet选项”,弹出“Internet选项”对话框,在“链接”选项卡中的“局域网(LAN)设置”选项组中单击“局域网设置”按钮,弹出“局域网(LAN)设置”对话框,如下图设置:
4)、代理服务的验证方法;
tail /usr/local/squid/var/logs/access.log
tail /var/log/httpd/access_log
主机名 | IP地址 | 主要软件 |
---|---|---|
Squid | 内ens36:192.168.100.100、外ens33:192.168.190.130 | Squid |
Web服务器 | 192.168.190.128 | http |
Win7 | 192.168.100.111 | 浏览器 |
vim /etc/squid.conf
http_port 192.168.100.1:3128 transparent
service squid reload #重载squid服务
iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 #设置iptables的重定向策略
iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
tail /usr/local/squid/var/logs/access.log
tail /var/log/httpd/access_log
标签:观察 用法 下划线 方式 img err arp 防火墙策略 make
原文地址:http://blog.51cto.com/13659182/2153776