找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6777|回复: 2

[linux] 高性能LINUX双效防火墙HOWTO

[复制链接]
发表于 2004-12-25 01:40:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
关键字: Linux 来  源: LinuxAID 高性能LINUX双效防火墙HOWTO  作者:杭州小红马工作室 kinglee 发文时间:2004.02.03  系统功能说明: 包过滤和WEB代理双效合一。由iptables 实现包的过滤,由LINUX下大名鼎鼎的squid结合NAT来实现透明WEB代理。SQUID代理的性能本身已经是代理服务器中的佼佼者,本系统将其性能发挥的极至:通过ramdisk技术,让SQUID把网页cahce到内存中,这样,你所访问的网页,除了第一次需要到网络上取,以后都将来自内存!下面介绍如何用redhat 7.2来实现的方法和步骤。 (1)选择一台比较稳定的计算机,装上两块网卡,256或512M内存,硬盘10G(注意:第一块网卡接内网,第二块网卡接外网。)(2)安装red hat 7.2,安装时选择服务器模式,自动分区。(3)大概在10-15分中后系统安装完毕,重启后进入系统,开始配置系统。 1、开启包转发 编辑/etc/sysctl.conf,将net.ipv4.ip_forward=0 该为net.ipv4.ip_forward=1,保存修改。其目的是允许LINUX内核做IP包的转发:允许IP数据包从一个网络接口穿越到另一个网络接口,只有这样,系统才具有充当包过滤防火墙的条件。 2、激活RamDisk 修改/etc/grub.conf

QUOTE
#boot=/dev/sdadefault=0timeout=10splashimage=(hd0,0)/grub/splash.xpm.gztitle Red Hat Linux (2.4.7-10)????root (hd0,0)????kernel /vmlinuz-2.4.7-10 ro root=/dev/sda6????ramdisk=268435????initrd /initrd-2.4.7-10.img
其中ramdisk=268435 是我们要添加的内容,目的是告诉系统默认的 ramdisk的大小是268435k,也就是256M。注意千万不可以直接写256M,这样系统是不认识的,必须要换成K才行!(摸索了好几个月的心得!)这样设好,重新启动后就系统就回自动生成一个256M的虚拟盘了。当然,你要根据自己的内存大小来设置这个参数,如果不运行XWINDOWS,设你总内存的一半都没问题,因为LINUX系统本身并不需要很多内存的。 3、设置squid参数 编辑/etc/squid/squid.conf,在末尾加入以下条目:

QUOTE
httpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_uses_host_header onhttp_access allow allcache_dir ufs /squid 256 16 256
前面四条参数使squid提供透明代理提供基础。“http_access allow all”表示允许所有的客户机器都可以访问代理;这里特别强调的是最后一条 “cache_dir ufs /squid 256 16 256”,squid默认的cache_dir是“/var/spool/squid”,我们因为要让squid将内容cache到内存中,所以这里先改成/squid,接下来要将ramdisk影射到/squid目录中。 4、建立ramdisk。用下面的两条命令来完成:

QUOTE
(1)mkdir /squid????? 建立目录“/squid”(2)mkfs /dev/ramdisk???创建文件系统(3)mount /dev/ramdisk /squid? 将ramdisk 挂载到/squid目录。
由于ramdisk在每次重启后会消失,因此,为了让系统启动时自动建立好,我们可以建立一个自动装载ramdisk的批命令:

QUOTE
mkfs /dev/ramdiskmount /dev/ramdisk /squid
将这两条命令写到一个文件中,我们暂且用myautoexec.bat作为文件名,为了方便起见,我们建立/admin目录,然后将myautoexec.bat文件保存在/admin下,并加给可执行的权限:chmod +x myautoexec.bat。但这样系统启动时并不会被调用,所以我们还要做一件事:编辑/etc/rc.local 文件,在文件末尾插入一行:/admin/myautoexec.bat,这样,系统就会自动调用myautoexec.bat了。 5、初始化squid 还记得“cache_dir ufs /squid 256 16 256”这个参数吗?初始化过程实际上就是squid在指定的cache_dir中建立指定的一级目录(这里是16),然后在每个一级目录中建立256个二级目录。使用的命令是:“squid ?z ”。但现在这时输入命令系统会报告出错,因为/squid现在的属主是root, squid 没有权限操作root的文件,所以还要先把/squid目录指派给squid用户,用“chown squid.squid /squid”。再一次运行“squid ?z ”,不到一秒钟时间就可完成。如果这个过程是在磁盘上而不是在ramdisk上,一般要工作几十秒钟。 同样,这步的设置也要把

QUOTE
chown squid.squid /squidsquid ?z
两条命令写到myautoexec.bat中,最后加上一条“squid”,就是启动squid服务进程。到这里,squid的设置全部完成。 6、设置NAT和防火墙规则 为了方便起见,建立文件/admin/myfirwall,将规则都写到文件中:

QUOTE
#------初始化部分iptables -Fiptables -t nat -Fmodprobe ip_tablesmodprobe iptable_natmodprobe iptable_filtermodprobe ip_conntrack_ftpmodprobe ip_nat_ftpmodprobe ipt_state#??初始化结束#-START NATend NAT#端口转换,将所有发到外网的请求端口为80的都转到3128去,让squid来处理,这一#--条是透明代理的关键>end 端口转换#防火墙规则
routeros
 楼主| 发表于 2005-1-3 15:36:02 | 显示全部楼层
GOOD!!!! 收藏。。
routeros
回复

使用道具 举报

发表于 2005-4-7 18:37:01 | 显示全部楼层
用ramdisk作cache的确比较快,但要求ram比较大吧。而且cache大到一定百分比后,squid的性能会下降。现在都是用tmpfs,一般的情况它是内存的一半。我还是喜欢传统做的cache方式。。
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-6-5 13:34 , Processed in 0.046720 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表