免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1012 | 回复: 0
打印 上一主题 下一主题

squid [复制链接]

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-16 14:51 |只看该作者 |倒序浏览

设置squid.conf文档:
#设定SQUID的代理端口 (加上IP地址,Squid就不会监听外部的网络接口)
http_port 192.168.0.1:3128
#配置选项是服务器管理者的电子邮件
cache_mgr
llzqq@nero.3322.org

#设定错误文档
error_directory /usr/share/squid/errors/Simplify_Chinese
#设定电信公用DNS:
dns_nameservers 202.99.160.68 202.99.168.8
#设定标志主机名
visible_hostname nero.3322.org
#设定http1.1协议支持
httpd_accel_uses_host_header on
httpd_accel_host virtual
#是否让squid代理本地的web服务
httpd_accel_with_proxy on
#允许所有主机通过代理服务器上网
http_access allow all
#指定Squid可以使用的RAM
cache_mem 20 MB
#缓存文件的最大和最小值
maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 30 KB
minimum_object_size_in_memory 0 KB
#设定squid的磁盘缓存目录(我们就是要在这个目录上做些手脚)
cache_dir ufs /tmp 100 16 256
#指定进行空间交换的空占比(缓存数值超过或低于某个百分比时和交换空间进行数据交换)
cache_swap_low 85
cache_swap_high 90
#被缓存服务器的port
httpd_accel_port 80
三、建立squid的高速缓存目录
大家知道通常情况下squid的缓存目录是建立在磁盘上的,这时磁盘的I/O就限制了squid性能的发挥,同时我们知道RAM是计算机中最快的存储单元,我们现在就关注一下怎样把squid的缓存目录放到系统RAM中去。我们注意到在linux的文件系统中/dev/shm是驻留在RAM 中的一个特殊的文件系统。好了我们的思路有了:把/dev/shm绑定到squid的缓存目录上。下面是操作的过程。
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
上面的三个命令完成了目录的建立和绑定,但是我们reboot后就得重复上面的过程重新建立和绑定目录并且必须是在squid启动以前进行。为了解决这个问题我是这样作的,把三个命令加到squid的启动脚本中。
Vi /etc/init.d/squid
====================== squid =====================
PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH
#
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
squid –z
#
# Source function library.
====================== squid =====================
chkconfig squid on
这样就能在我们每次开机的时候就能自动完成任务了。同时这样的设置对PHP的性能也有一定的提高
四、我的防火墙FOR ADSL
#!/bin/bash
# Do iptables based masquerading and firewalling.
# lllzqq. 02/28/2004
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 >/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 >/proc/sys/net/ipv4/conf/all/log_martians
echo 1 >/proc/sys/net/ipv4/ip_forward
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -X
/sbin/iptables -Z
## Allow forwarding through the internal interface
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
## Do masquerading through ppp0
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
## Loopback - Allow unlimited traffic
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
## SYN-Flooding Protection
iptables -N syn-flood
iptables -A INPUT -i ppp0 -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
## Make sure that new TCP connections are SYN packets
/sbin/iptables -A INPUT -i ppp0 -p tcp ! --syn -m state --state NEW -j DROP
## SQUID
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 0/0 --dport 80 -j REDIRECT --to-ports 3128
## HTTP
/sbin/iptables -A INPUT -i ppp0 -p tcp -s 0/0 --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp -s 0/0 --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp -d 0/0 --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp -d 0/0 --dport 443 -j ACCEPT
## DNS
/sbin/iptables -A INPUT -i ppp0 -p udp -s 0/0 --sport 53 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p udp -d 0/0 --dport 53 -j ACCEPT
## IP packets limit
/sbin/iptables -A FORWARD -f -m limit --limit 10/s --limit-burst 10 -j ACCEPT
/sbin/iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 3 -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p icmp -j DROP
## FTP
/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 21 -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 20 -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 30000:40000 -j ACCEPT
## SSH
/sbin/iptables -A INPUT -i eth0 -m mac --mac-source 00:F0:4B:92:B7:87 -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j DROP
## MAIL
/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 110 -j ACCEPT
## Anything else not allowed
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -j DROP
五、附录:squid的一些常用功能的配置说明
# 允许某一特定网段通过代理服务器上网:
acl one_clients src 192.168.0.0/255.255.255.0
http_access allow one_clients
# 利用ARP地址标示客户:
acl OK arp 00:20:ed:39:48:b3 00:01:02:98:87:88 00:10:60:73:CE:BD
http_access allow OK
# cache_dir ufs /var/spool/Squid 100 16 256 指定Squid用来存储对象的交换空间的大小及其目录结构。100是交换空间大小,指100MB,16、256分别是一级目录、二级目录数量。
# 限制外网电脑使用代理,只允许IP为192.168.0.2~192.168.0.255的机器访问。
acl our_clients src 192.168.0.0/255.255.255.0
acl other_clients src 0.0.0.0/0.0.0.0
http_access allow our_clines
http_access deny other_clients (禁止其他用户通过本机上网)
# 限制使用时间。只允许IP为192.168.1.1~192.168.1.255的机器在每周一到周五的7∶00到17∶00使用。如果不限制周一到周五,把下面第二行“MTWHF”去掉。“!”表示逻辑非。
acl allow_time time MTWHF 8:30-12:00 14:00-17:30
http_access allow work_clients allow_time
http_access deny !work_clients
# 限制用户下载文件的类型如:.avi .mp3
acl mmxfile urlpath_regex –i \.mp3$ \.avi$ (-i参数忽略大小写如:mp3=MP3)
http_access deny mmxfile
# 屏蔽某些含有特定关键词的站点:
acl refused_sites url_regex sex
也可把要禁止的站点写到文档中方便管理如下
acl refused_sites url_regex “/etc/squid/refused_sites.txt”
http_access deny fefused_sites
http_access allow all
注意:这些规则按照它们的排列顺序进行匹配检测,列表中的规则总是遵循由上而下的顺序。因为deny在前,将屏蔽所有电脑的访问,包括内网在内。我们可以定义多个ACL规则,但名字不能相同。
注意事项:
如果SQUID在启动时出错,在排错过程中可查看它的日志文件/VAR/LOG/SQUID,里面有SQUID出错的详细记录。我的squid配置文件
ftp://test:123456@nero.3322.org/squid

————————————————————
http://blog.chinaitlab.com/user1/334798/archives/2006/62785.html
   搭建高速
[/url]
缓存服务器

[url=http://blog.chinaitlab.com/user1/334798/archives/2006/62785.html]

squid代理服务器)

By 人生百味 发表于 2006-8-14 0:31:00   
1、先查询是否安装了squid软件包
#rpm -qa | grep squid
squid-2.5.STABLE2-1Thiz
2、启动squid服务
#service squid start
#service squid status
要想机器每次启动后能自动启动squid,可通过下面两个命令来完成:
#ntsysv
#chkconfig --level 5 squid on
3、编辑squid的配置文件
#vi /etc/squid/squid.conf
1)去掉第53行前的“#”,设置代理服务器web访问端口,内容如下:
http_port 3128
2)去掉第109行前的“#”,指定squid服务器发送或接收来自相邻squid服务器ICP查询时所用的连接端口号,如果想要停用可设为0
icp_port 3130
3)第120行是用来指定squid服务器发送或接收来自相邻squid服务器请求时所用的连接端口号
htcp_port 4827
4)去掉第468行前的“#”,指定缓存使用的内存容量上限,不要设得过大。
cache_mem 16 MB
5)去掉第666行前的“#”,指定使用硬盘缓存区的大小,单位为MB,以及子目录数量和次目录数量
cache_dir ufs /var/spool/squid 100 16 256
6)转到第1741行,将deny改为allow,并去掉“#”,允许所有主机都可使用代理服务器
http_access allow all
7)还可以使用关键字“acl”,进行更多的限制,这里略
4、执行下面的命令,建立squid缓存目录
#squid -z
5、客户端就可以填写好代理服务器的IP地址和端口号,使用代理服务了。
注:若修改了配置文件,必须要重启squid服务
[/url]


本文来自ChinaUnix博客,如果查看原文请点:[url]http://blog.chinaunix.net/u/15010/showart_248016.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP