标签:cab system obj nat ccf 拓扑图 err 传统 正则表达式
说明:mkdir /ooo/ #创建挂载目录
mount.cifs //192.168.201.1/gx /ooo/ #挂载压缩包
cd /ooo/
tar zxvf squid-3.5.23.tar.gz -C /opt/ #解压到/opt/
yum install gcc gcc-c++ make -y #安装编译环境
.
.
2 .手工编译安装
./configure --prefix=/usr/local/squid \ #指定安装路径
--sysconfdir=/etc \ #配置文件路径
--enable-arp-acl \ #mack地址
--enable-linux-netfilter \ #内核过滤
--enable-linux-tproxy \ #透明模式
--enable-async-io=100 \ #io优化
--enable-err-language="Simplify_Chinese" \ #报错显示
--enable-underscore \ #允许有下划键
--enable-poll \ #提升
--enable-gnuregex #支持正则表达式
make && make install
.
.
3 . 安装完后,创建链接文件,用户和组
ln -s /usr/local/squid/sbin/* /usr/local/sbin/ #将命令放入系统识别路径下
useradd -M -s /sbin/nologin squid #创建一个用户
chown -R squid.squid /usr/local/squid/var/ #更改目录权限
.
.
4 . 修改squid配置文件,初始化缓存目录,启动服务,完成安装
vim /etc/squid.conf
# And finally deny all other access to this proxy
http_access allow all #允许所有
http_access deny all
# Squid normally listens to port 3128
http_port 3128
cache_effective_user squid #添加 指定程序用户
cache_effective_group squid #添加 指定账号基本组
squid -z #缓存目录初始化
squid #启动服务
.
.
5 .编写启动脚本
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
.
.
6 . 添加权限,名称,检查语法
chmod +x squid #添加执行权限
chkconfig --add squid #添加名称,便于识别
service squid check #检查语法
.
.
二、设置传统代理服务器
.
1 . squid服务器的配置
vim /etc/squid.conf
.......
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为单位,超过大小限制的文件将不被缓存,而是直接转发给用户
.
.
2 . 重启服务,清空防火墙
service squid restart #重启服务
iptables -F #清空防火墙
setenforce 0 #关闭增强功能
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT #在input链中,针对tcp协议,目标端口3128,允许转发
传统代理完成
.
.
三、测试传统代理
.
1 . 开启测试端网页
systemctl stop firewalld.service
setenforce 0 #关闭防火墙
yum install httpd -y #安装http
.
.
2 .win7端网络设置为NAT模式,用浏览器访问192.168.201.130
.
.
3 .网页端查看访问日志
cd /etc/httpd/logs/
vim access_log #查看访问日志
可以看到来访客户端ip地址
.
.
4 . 此时设置代理访问
打开浏览器-->工具-->intenet选项
.
.
连接-->局域网设置
.
.
设置ip地址与端口
.
.
此时再用浏览器访问192.168.201.130,查看来访日志
可以看到,访问ip是代理服务器的ip地址,传统代理服务器测试成功
标签:cab system obj nat ccf 拓扑图 err 传统 正则表达式
原文地址:http://blog.51cto.com/13756925/2298330