歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

FreeBSD6.3下雙網卡邦定詳細過程


這幾天公司裡的服務器要用bonding,主要是做雙網卡的冗余,網上說的最多的就是《FreeBSD上雙網卡綁定提高帶寬的做法》,研究了一下,把結果給大家說說, linux的很簡單,這裡就不說了,照網上的資料就行了。freebsd的有點小難度,搞了幾天,最初用lagg模塊,照手冊裡的“鏈路聚合與故障轉移”部分做,做是做成的但是就是不能冗余,拔掉網絡就不通了,最後決定用ng_fecg來做,下面是過程。
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 kernel

#cd /usr/src/sys/modules/netgraph/
把下面三個模塊安裝了
netgraph fec socket
安裝方法如下,直接進入到相應的目錄,然後:
#make
#make install
#ls /boot/modules
ng_fec.ko netgraph.ko ng_socket.ko
找到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
#ifconfig
bce0: flags=28943 mtu 1500
options=3b
ether 00:1e:0b:ed:64:1c
media: Ethernet autoselect (1000baseTX )
status: active
bce1: flags=28943 mtu 1500
options=3b
ether 00:1e:0b:ed:64:1c
media: Ethernet autoselect (1000baseTX )
status: active
lo0: flags=8049 mtu 16384
inet 127.0.0.1 netmask 0xff000000
fec0: flags=28943 mtu 1500
inet xxx.xxx.xxx.xxx netmask 0xfffffe00 broadcast xxx.xxx.xxx.255
ether 00:1e:0b:ed:64:1c
media: Ethernet none
status: active
Copyright © Linux教程網 All Rights Reserved