文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» Linux & Advanced Application » 高性能LINUX双效防火墙HOWTO       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] 高性能LINUX双效防火墙HOWTO  ( 查看:163  回复:1 )   
 
天涵水
新新人类  点击可查看详细



帖子 8
精华 0
无忧币 50
积分 40
阅读权限 20
注册日期 2007-8-25
最后登录 2008-1-12 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-12-21 18:15   标题:高性能LINUX双效防火墙HOWTO
上一帖 |
系统功能说明:
  包过滤和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
   
        
            play.bitsCN.com累了吗玩一下吧
            
#boot=/dev/sda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title 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,在末尾加入以下条目:
   
        
            bitsCN.com中国网管联盟

            
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_access allow all
cache_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。用下面的两条命令来完成:
         
(1)mkdir /squid           建立目录“/squid”
(2)mkfs /dev/ramdisk      创建文件系统
(3)mount /dev/ramdisk /squid   将ramdisk 挂载到/squid目录。 bitsCN.com中国网管联盟
            
        
   
  由于ramdisk在每次重启后会消失,因此,为了让系统启动时自动建立好,我们可以建立一个自动装载ramdisk的批命令:
            
            
mkfs /dev/ramdisk
mount /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上,一般要工作几十秒钟。 bbs.bitsCN.com国内最早的网管论坛
  同样,这步的设置也要把         
            
chown squid.squid /squid
squid –z   
   
  两条命令写到myautoexec.bat中,最后加上一条“squid”,就是启动squid服务进程。到这里,squid的设置全部完成。
6、设置NAT和防火墙规则。
  为了方便起见,建立文件/admin/myfirwall,将规则都写到文件中:      
            
#------初始化部分
iptables -F
iptables -t nat -F
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
#——初始化结束
#-START NAT>>>>end NAT
#端口转换,将所有发到外网的请求端口为80的都转到3128去,让squid来处理,这一 play.bitsCN.com累了吗玩一下吧

#--条是透明代理的关键>>>>>>end 端口转换
#防火墙规则
      说明:所有以#开头的行表示说明,不用写入文件,保存为/admin/myfirewall,并用“chmod +x /admin/myfirewall”使其可以执行。编辑/admin/myautoexec.bat,加入“/admin/myfirewall”在最后一行。
  到此为止,我们的好性能防火墙全部配置完成,运行reboot 重启后,可以工作了。
转自杜松:juniperbbs.net



网络工程师到底该不该去考CCIE认证?
2007-12-21 18:151楼
[ 顶部 ]
 
xzboss
新新人类  点击可查看详细



帖子 90
精华 0
无忧币 38
积分 92
阅读权限 20
注册日期 2007-12-20
最后登录 2008-6-24 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-12-21 20:15 
bu xin ying



网络工程师到底该不该去考CCIE认证?
2007-12-21 20:152楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号