多语言展示
当前在线:1645今日阅读:23今日分享:25

squid源码部署:[1]squid

Squid是Linux下一个缓存Internet数据的代理服务器软件,它接收用户的下载申请并自动处理所下载的数据。即当一个用户下载www.aabb.com的页面,他请求squid为他取得这个页面,suqid会连接到申请www.aabb.com的网站并请求该主页,接着把主页传给用户并自己保留一份.当下一次有其他用户请求同样页面时,squid会从磁盘中读到保存那份,这样数据就会迅速传输到用户的机器上.是前端缓存
工具/原料
1

源 码 包:squid3.tar.gz

2

操作系统:centos6.5

方法/步骤
1

调整系统文件描述符echo  -e '* soft nofile 20480* hard nofile 20480'>>/etc/security/limits.conf

2

调整临时端口范围#查看默认的范围cat /proc/sys/net/ipv4/ip_local_port_range #更改自定义范围echo 'net.ipv4.ip_local_port_range = 4000   63000' >>/etc/sysctl.confsysctl -p#确认更改参数cat /proc/sys/net/ipv4/ip_local_port_range

3

编译安装./configure --prefix=/usr/local/squid3 --enable-storeio=ufs,ahfs --enable-icmpmakemake installln -s /usr/local/squid3 /usr/local/squiduseradd -s /sbin/nologin squid -M

4

修改配置文件http_port 5132cache_mem 2028 MBcache_dir ufs /usr/local/squid3/var 4096 16 256cache_effective_user squidcache_effective_group squidaccess_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.logvisible_hostname hehecache_mgr  hehe@126.comacl Purge  method PURGEacl Localhost src 127.0.0.1/32acl localnet  src 192.168.0.1http_access allow localnet Purge Localhosthttp_access deny all

5

运行squid#先进行语法检查/usr/local/squid/sbin/squid -k parse#增加环境变量echo 'export PATH=$PATH:/usr/local/squid3/sbin' >>/etc/profileecho 'export PATH=$PATH:/usr/local/squid3/bin' >>/etc/profilesource /etc/profile#初始化squidchown -R squid  /usr/local/squid3/var/usr/local/squid/sbin/squid -z#调试squid/usr/local/squid/sbin/squid -N -d1#启动squid(一定要绝对路径起动服务,不要用环境变量起动服务)/usr/local/squid/sbin/squid -D

透明代理
1

省去我们配置ip和端口的麻烦修改squid配置文件相应位置http_port 192.168.0.1:3128 transparent重新加载配置squid -K reconfig

2

添加iptables规则,把内部的http请求重定向到3128端口iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80-j REDIRECT --to 3128至于内部dns指向,可以把squid服务器同时做成缓存dns服务器

注意事项
1

运行squid必须以root身份运行

2

squid默认监听端口是3128

3

squid的日志文件增加没有限制,某些系统对单个文件有2G大小的限制

4

squid3版本和squid2版本访问控制配置是有区别的

5

不管squid缓存池是否有我们要访问的网站,squid仍要到我们要访问网站比对数据是否过期

推荐信息