发信人: 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功能更加强大。其中的应用,就需要大家自己去摸索
了。 |
|