分类: BSD
2008-11-07 09:33:02
FreeBSD上双网卡绑定提高带宽的做法里,第3部分,《在FreeBSD5上用ng_fec实现双网卡绑定》,的第一句就是/sbin/kldload ng_fec,要加载ng_fec ,如果你没有此模块,是加载不上的。
#使用kldstat查看模块,没有ng_fec,需要安装并加载(不用带-v参数,否则出来一堆,看都看不过来)
# kldstat
Id Refs Address Size Name
1 1 0xffffffff80100000 8a2e40
#cd /usr/src/sys/modules/netgraph/
把下面三个模块安装了
netgraph fec socket
安装方法如下,直接进入到相应的目录,然后:
#make
#make install
#ls /boot/modules
ng_fec.ko netgraph.ko ng_socket.ko
#vi /boot/defaults/loader.conf
找到ng_fec,ether,socket并改成YES,让它可以自带加载(经测试不改系统也能自动加载)
ng_ether_load="YES"
ng_fec_load="YES"
ng_socket_load="YES"
然后重启系统。
再用kldstat查看加载情况
-bash-3.2$ kldstat
Id Refs Address Size Name
1 4 0xffffffff80100000 8a2e40 kernel
2 1 0xffffffff809a3000 104400 ng_fec.ko
3 3 0xffffffff80aa8000 10f0d8 netgraph.ko
4 1 0xffffffff811cb000 104000 ng_socket.ko
#vi /etc/fec.sh
#!/bin/sh
/usr/sbin/ngctl mkpeer fec dummy fec
/usr/sbin/ngctl msg fec0: add_iface '"bce0"'
/usr/sbin/ngctl msg fec0: add_iface '"bce1"'
/usr/sbin/ngctl msg fec0: set_mode_inet
/sbin/ifconfig fec0 promisc
/sbin/ifconfig bce0 promisc
/sbin/ifconfig bce1 promisc
/sbin/ifconfig fec0 此处写IP netmask 0xfffffe00
/sbin/ifconfig fec0 media 1000baseTX mediaopt full-duplex
/sbin/ifconfig fec0 up
/sbin/route add default 此外写默认网关
#vi /etc/rc.local
/etc/fec.sh
记得把rc.conf设置网卡的语句屏蔽掉,然后重启系统。
#ifconfig
bce0: flags=28943
options=3b
ether 00:1e:0b:ed:64:1c
media: Ethernet autoselect (1000baseTX
status: active
bce1: flags=28943
options=3b
ether 00:1e:0b:ed:64:1c
media: Ethernet autoselect (1000baseTX
status: active
lo0: flags=8049
inet 127.0.0.1 netmask 0xff000000
fec0: flags=28943
inet xxx.xxx.xxx.xxx netmask 0xfffffe00 broadcast xxx.xxx.xxx.255
ether 00:1e:0b:ed:64:1c
media: Ethernet none
status: active