FreeBSD 에서 두개의 NIC 을 하나로 Bonding 하는 방법입니다.
FreeBSD 커널 옵션에서 Bonding 을 사용하기 위해 아래와 같은 옵션을 추가 후 커널 컴파일 합니다.
options NETGRAPH
커널 컴파일이 완료된 후 /sys/modules/netgraph/fec 에서 fec 모듈을 컴파일 설치 해줍니다.
cd /sys/modules/netgraph/fec && make && make install
/etc/start_if.bonding0 파일을 생성 후 파일안에 아래와 같은 내용을 작성합니다.
ruo91# vi /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로 설정했습니다.)
ruo91# vi /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"
ruo91# reboot
이제 Bonding 이 되었는지 ifconfig 로 확인 해봅니다.
ruo91# 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
rl0, rl1 두개의 NIC 이 합쳐진게 보이며 정상적으로 fec0 로 잘 받아왔네요..ㅋ
아래는 10초동안에 대역폭측정... 구형 NIC 인데도 속도 나름 안정적으로 잘 나오네요..
Bonding 서버
ruo91# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 4] local 116.41.167.25 port 5001 connected with 116.41.167.39 port 59314
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 104 MBytes 87.1 Mbits/sec
클라이언트에서 측정시..
ruo91# iperf -c 116.41.167.25 -i 1 -t 10
------------------------------------------------------------
Client connecting to 116.41.167.25, TCP port 5001
TCP window size: 145 KByte (default)
------------------------------------------------------------
[ 3] local 116.41.167.39 port 59314 connected with 116.41.167.25 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 10.7 MBytes 89.5 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 1.0- 2.0 sec 11.0 MBytes 91.9 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 2.0- 3.0 sec 11.1 MBytes 93.4 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 3.0- 4.0 sec 9.73 MBytes 81.6 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 4.0- 5.0 sec 10.8 MBytes 90.6 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 5.0- 6.0 sec 8.71 MBytes 73.1 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 6.0- 7.0 sec 9.16 MBytes 76.8 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 7.0- 8.0 sec 11.1 MBytes 93.3 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 8.0- 9.0 sec 10.7 MBytes 89.5 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 9.0-10.0 sec 11.1 MBytes 93.0 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 104 MBytes 87.3 Mbits/sec
'기타 > 툴 관련(리눅스)' 카테고리의 다른 글
VIM (0) | 2009.08.20 |
---|---|
Apache 자체 인증서 만든 후 SSL 테스트 (0) | 2009.07.07 |
원격접속 VNC Viewer (0) | 2009.06.01 |
Linux/Unix date 명령어 공부 (1) | 2009.05.08 |
OWASP - Phoenix/Tools 다양한 분석도구 팁 (0) | 2009.05.08 |