岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Linux频道 >> 网络管理 >> Linux安全 >> Linux频道正文
教你构建高性能的Linux双效防火墙
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-12-18 17:34:40

  系统功能说明

  包过滤和WEB代理双效合一。由iptables 实现包的过滤,由Linux下大名鼎鼎的squid结合NAT来实现透明WEB代理。SQUID代理的性能本身已经是代理服务器中的佼佼者,本系统将其性能发挥的极至:通过ramdisk技术,让SQUID把网页cahce到内存中,这样,你所访问的网页,除了第一次需要到网络上取,以后都将来自内存!下面介绍如何用Redhat来实现的方法和步骤。

  (1)选择一台比较稳定的计算机,装上两块网卡,256MB或512MB内存,硬盘10GB(注意:第一块网卡接内网,第二块网卡接外网)。

  (2)安装RedHat,安装时选择服务器模式,自动分区。

  (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:

  

#boot=/dev/sda

default=0

timeout=10

splashimage=(hd0,0)/grub/splash.xpm.gz

title RedHat 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的大小是268435KB,也就是256MB.注意千万不可以直接写256MB,这样系统是不认识的,必须要换成KB才行!(摸索了好几个月的心得!),这样设好,重新启动后就系统就回自动生成一个256MB的虚拟盘了。当然,你要根据自己的内存大小来设置这个参数,如果不运行XWINDOWS,设你总内存的一半都没问题,因为Linux系统本身并不需要很多内存的。

  3、设置squid参数

  编辑/etc/squid/squid.conf,在末尾加入以下条目:

  

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目录中。

[1] [2] 下一页  

 4、建立ramdisk

  用下面的两条命令来完成:

  (1)mkdir /squid 建立目录“/squid”。

  (2)mkfs /dev/ramdisk 创建文件系统。

  (3)mount /dev/ramdisk /squid 将ramdisk 挂载到/squid目录。

  由于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上,一般要工作几十秒钟。

  同样,这步的设置也要把:

  

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<<<<<让地址为10.27.0.0/16的内部计算机可以伪装上因特网。

iptables -t nat -A POSTROUTING -o et

[1] [2] 下一页


  • 上一个Linux频道:
  • 下一个Linux频道:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    天龙八部私服 传世私服 传奇世界私服 传奇私服 bet365 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365