欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 操作系统 >> Linux >> Linux安装 >> 教程正文

  没有公告

教程: Linux教程-安装经验-加速你的REDHAT AS 3.0上的SQUID透明代理 更多...
教程: Linux教程-安装经验-加速你的REDHAT AS 3.0上的SQUID透明代理
前些时在网上看到了张微波的《用squid再次疯狂加速你的web》一文后,我按原文在我的rhas 3.0上安装了一遍发现不能访问本地web服务器加之这篇文章缺少了相应的操作细节,因此我就在原文的基础上进行了补充和完善,希望大家都来关心squid的应用。

一、安装squid-2.5

groupadd squid
useradd ?g squid squid

rpm ?ivh squid-2.5.STABLE3-3.3E.i386.rpm

二、设置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 INPU

[1] [2] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    dos入门教程

    dos入门教程-2

    dos入门教程-1
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网