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