发信人: yeee() 
整理人: zhcharles(2002-01-30 15:36:55), 站内信件
 | 
 
 
【 在 wujw0 的大作中提到:】
 :为什么定制内核时没有如下选项:
 :options IPFIREWALL
 :options .....
 :options IPDIVERT
 :而且在rc.conf也没有firewall_type这样的字符串,
 :
 :......
  可以按照以下步骤来实现
 1。在配有两张网卡的pc机上安装FreeBSD。
 2。重新编译核心,
     #cd /usr/src/sys/i386/conf/GENERIC
     #cp GENERIC gatewayKernal
     #vi gatewayKernal
     添加下列选项
     options     IPFIREWALL
     options     IPDIVERT
     options     DUMMYNET
     #config gatewayKernal
     #cd ../../compile/gatewayKernal
     #make depend
     #make all
     #make install
     #reboot
     核心编译完毕
 3。核心编译完毕后,修改/etc/rc.conf文件,添加
 ifconfig_网卡1设备名="inet 192.168.0.1 netmask 255.255.255.0"
 ifconfig_网卡2设备名="inet 10.0.0.1 netmask 255.255.255.0"
 gateway_enable="YES"
 firewall_enable="YES"
 natd_enable="YES"
 natd_interface="网卡1设备名"
 
 
 注意,如果你是打算从10.0.0.0/24这个网段连接到192.168.0.0/24这个网段,
 则natd启动在网卡1设备名上,如果要连接网部的网关,则需要添加
 defaultrouter="网关地址"
 
 修改完毕后,重新启动机器
 
 4。进入系统,设置规则
 #ipfw -f flush
 #ipfw add divert natd all from any to any via 网卡1设备名
 #ipfw add pipe 1 ip from 10.0.0.0/24 to 192.168.0.0/24
 #ipfw pipe 1 config bw 128Kbit/s queue 50KBytes
 #ipfw add pass ip from any to any
 
 呵呵,搞定,而且从10.0.0.0/24--->192.168.0.0/24,会只有128K的带宽,
 这是一个很有用的功能,就是做traffic shaper.可以模拟出
 各种带宽,具体资料请自己man ipfw,看看其中traffic shaper就知道。
 感觉FreeBSD功能很强大,而且做gateway效率比linux高。而且使用ipfw可以
 设置很多规则,加上dummynet功能更加强大。其中的应用,就需要大家自己去摸索
 了。 | 
 
 
 |