利用 FreeBSD 组建安全的网关

  •   2009-07-28/15:32
  • 在FreeBSD上可以使用ipfw/natd来做NAT及firewall,也可以使用ipfilter来做NAT。 
    以下介绍使用IP Filter来做NAT 
    1、使用二块网卡。一块是Realtek 8139C,在内核认到为:rl0(对外),
    一块是D-Link 530TX,在内核认到为:vr0(对外)。 
    2、设置IP地址。在/etc/rc.conf中加上: 
    ifconfig_rl0="inet 163.163.163.163 netmask 255.225.225.225"
    (安装FreeBSD时认到的网卡1,不用添加;163.163.163.163为ISP给你的静态IP地址。
    拨号的我没试过。也不知到怎样做,如果哪位知道请告诉我一声。) 
    ifconfig_vr0="inet 192.168.0.1 netmask 255.255.255.0"(设置第二块网卡的IP地址) 
    3、修改/etc/rc.conf,改为: 
    firewall_enable="NO" 
    gateway_enable="YES" 
    4、因为ipfw和ipfilter是不能共存的。所以如果要使用ipfilter,必须将内核中有关
    ipfw的部份注释掉。 
    #mkdir /root/kernels 
    #cd /usr/src/i386/conf 
    #cp GENERIC /root/kernels/mykernel 
    #ln -s /root/kernels/mykernel 
    先在内核的配置文件查找IPFIREWALL,执行: 
    #grep -i IPFIREWALL /root/kernels/mykernel 
    如果找到,就注释掉,做法如下: 
    #options IPFIREWALL 
    #options IPDIVERT 
    如果找不到IPFIREWALL,可以直接添加: 
    options IPFILTER 
    options IPFILTER_LOG 
    保存mykernel 
    #config mykernel 
    #cd /usr/src 
    #make buildkernel KERNCONF=mykernel 
    #make installkernel KERNCONF=mykernel 
    #reboot 
    重启进入FreeBSD,如果在开机信息里看到IP Filter 3.4.16 installed 表明内核
    已经支持IP Filter。 
    5、建立ipnat配置文件。 
    #vi /etc/ipnat.conf 
    加入: 
    map rl0 192.168.0.0/24 -> 163.163.163.163/255.225.225.225 portmap tcp/udp 10000:65000 
    map rl0 192.168.0.0/24 -> 163.163.163.163/255.225.225.225 
    保存ipnat.conf 
    6、设定开机自动执行ipnat。在/usr/local/etc/rc.d/目录下建立runipnat.sh 
    #vi runipnat.sh 
    加入内容如下: 
    #!/bin/sh 
    /sbin/ipnat -f /etc/ipnat.conf 
    将runipnat.conf设为可执行。 
    #chmod 755 runipnat.sh 
    完成后,重新启动机器。 
    OK!NAT已经做完了。接着就是你自已测试一下。 
    ipnat -l 会列出目前ipnat的设定及状况 
    ipnat -C清除ipnat的设定 
    ipfstat监测数据的流量 

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多