FreeBSD 에서 두개의 NIC 을 하나로 Bonding 하는 방법입니다.

FreeBSD 커널 옵션에서 Bonding 을 사용하기 위해 아래와 같은 옵션을 추가 후 커널 컴파일 합니다.

[root@yongbok ~]# cd /usr/src/sys/i386/conf/

[root@yongbok ~]# cp GENERIC Yongbok

[root@yongbok ~]# ee Yongbok

options NETGRAPH

커널 컴파일을 합니다.

[root@yongbok ~]# cd /usr/src

[root@yongbok ~]# make buildkernel KERNCONF=Yongbok

[root@yongbok ~]# make installkernel KERNCONF=Yongbok

커널 컴파일이 완료된 후 /sys/modules/netgraph/fec 에서 fec 모듈을 컴파일 설치 해줍니다.

[root@yongbok ~]# cd /sys/modules/netgraph/fec && make && make install

bonding 파일을 만들어 줍니다.

[root@yongbok ~]#  ee /etc/start_if.fec0

#!/usr/local/bin/bash
/sbin/kldload /sys/modules/netgraph/fec/ng_fec.ko
/usr/sbin/ngctl mkpeer fec dummy fec
/usr/sbin/ngctl msg fec0: add_iface ‘”rl0″‘
/usr/sbin/ngctl msg fec0: add_iface ‘”rl1″‘
/usr/sbin/ngctl msg fec0: set_mode_inet
/usr/sbin/ngctl msg fec0: set_mode_mac

/etc/rc.conf 에 아래와 같은 내용을 추가 해준후 시스템을 재부팅 시켜줍니다.
(전 DHCP로 설정했습니다.)

[root@yongbok ~]#  ee /etc/rc.conf

network_interfaces=”rl0 rl1 fec0″
ifconfig_rl0=”up”
ifconfig_rl1=”up”
ifconfig_fec0=”dhcp”
#ifconfig_fec0=”inet 116.41.167.25 netmask 255.255.255.128″

[root@yongbok ~]# reboot

이제 Bonding 이 되었는지 ifconfig 로 확인 해봅니다.

[root@yongbok ~]#  ifconfig

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:e0:4d:0b:a9:3e
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:e0:4d:0b:a9:3e
        media: Ethernet autoselect (none)
        status: no carrier
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
fec0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:e0:4d:0b:a9:3e
        inet 116.41.167.25 netmask 0xffffff80 broadcast 255.255.255.255
        media: Ethernet none
        status: active