分类: BSD
2008-04-18 18:03:44
CU上参考了网友在5.x、6.3下双网卡绑定的文档,于是自己在7.0下做了次实验,结果成功通过。
自己做了些修改,留个笔记!
具体实现的方法可以通过动态模块加载和静态编译内核的方式来实现
一、通过动态模块加载模式实现。
1. 编译和加载netgraph.ko、ng_fecko、ng_socket.ko模块
a. 编译
#cd /usr/src/sys/modules/netgraph/
#cd netgraph/ && make && make install clean
#cd ../fec && make && make install clean
#cd ../socket && make && make install clean
b. 加载
#cat >> /boot/loader.conf << EOF
ng_ether_load="YES"
ng_fec_load="YES"
ng_socket_load="YES"
EOF
c. 修改rc.conf
2. 编辑启动脚本
二、通过静态编译内核方式实现
1. 将参数加入内核配置文档
# NIC bonding
options NETGRAPH
options NETGRAPH_FEC
options NETGRAPH_SOCKET
重新编译内核
2. 配置/etc/rc.conf
添加和修改如下选项,如原先有配置过IP项,要先注释掉。
defaultrouter="xx.xx.xx.1"
#ifconfig_bge0="inet 192.168.1.63 netmask 255.255.255.0"
fec_interfaces="fec0"
fecconfig_fec0="bge0 bge1" # Examples typically for two NICs
ifconfig_fec0="inet 192.168.1.63 netmask 0xfffffe00"
二、重启系统
# reboot
三、核对配置后的状态
# ifconfig
bge0: flags=28943
options=9b
ether 00:13:21:c8:54:6b
media: Ethernet autoselect (1000baseTX
status: active
bge1: flags=28943
options=9b
ether 00:13:21:c8:54:6b
media: Ethernet autoselect (1000baseTX
status: active
lo0: flags=8049
inet 127.0.0.1 netmask 0xff000000
fec0: flags=28943
ether 00:13:21:c8:54:6b
inet xxx.xxx.xxx.xxx netmask 0xfffffe00 broadcast xxx.xxx.xxx.xxx
media: Ethernet none
status: active
参考文献:
%3D1#pid8240919