여러장의 이더넷 카드를 묶어 하나의 ip를 부여하여 그만큼 대역폭을 확보하는 방법 입니다. 물론 케이블 불량을 대비한 고장대비 방법이라고도 볼수 있습니다.
- 개인적인 생각에서는 케이블 불량을 대비한 고장대비보다는 100메가 포트 2개를 이용한 높은 대역폭을 얻기 위해서 본딩 구성을 하는 것이 아닐까라는 생각이 듭니다.
랜카드 2장
커널에서 : Network device support 에서 Bonding driver support 가 채크되어야 합니다..(RedHat은 기본)으로 체크 되있습니다. 커널에서 지원하기 위해서는 다음과 같이 설정하고 커널을 컴파일하여야 한다.
Network device support ---> <*> Bonding driver support
멀티 Ethernet Channel을 사용하기 위해서 [Y]나 [M]으로 설정하여 컴파일합니다. 이 기능은, 이 모듈(Bonding)를 이용해서 두배의 속도를 가진 하나의 장치(bond)처럼 작동합니다.
- redhat 계열이나, fedora core계열에서 kernel update에서 bonding 구성을 할 수 있다.
# cd /etc/sysconfig # vi network ---------------------------------------------------------- ## 현재 설정을 그대로 유지한채 다음 GATEWAYDEV 설정만 바꿈. ## 그래야 외부 네트워크로 패킷이 나갈 수 있습니다. ## ## 중간 생략 ## GATEWAYDEV=bond0
/etc/modules.conf (또는 /etc/conf.modules) ## 중간 생략 ## alias bond0 bonding alias eth0 e1000 ## <-- 현재 장착되어 있는 이더넷 alias eth1 e1000 ## <-- 새로 장착할 두번째 이더넷 alias scsi_hostadapter mptbase alias scsi_hostadapter mptscsih alias usb_contorller uhci_hcd install bond0 /sbin/modporbe bonding -o bond0 miimon=100 mode=1 primary=eth1 ## ## ## bond0에서 0는 숫자 0입니다. ## bonding은 커널 모듈을 의미합니다. ## e1000 는 모듈이름입니다(3Com 905B-TX 10/100M). ## primary=eth1 ->모든 디바이스가 eth1의 mac address를 따른다.
etc/sysconfig/network-scripts/ifcfg-bond0
# cd /etc/sysconfig/network-scripts # mv ifcfg-eth0 ifcfg-bond0 # vi ifcfg-bond0 ---------------------------------------------------------- DEVICE=bond0 ## <-- 이부분 만 수정함. 나머진 기존의 eth0를 그대로 유지 USERCTL=no ONBOOT=yes BOOTPROTO=none NETMASK=255.255.255.XXX IPADDR=XXX.XXX.XXX.XXX
' >/etc/sysconfig/network-scripts/bond0

/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes BOOTPROTO=none
이 부분은 묶일 물리적 장치를 정합니다. eth0 는 첫번째 랜카드입니다. 위와같이 설정합니다. /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes BOOTPROTO=none

# pwd /etc/sysconfig/network-scripts # ls ifcfg-* ifcfg-bond0 ifcfg-eth0 ifcfg-eth1 ifcfg-lo # 이상으로 설정이 모두 끝났습니다.
시스템 재부팅 및 설정 확인(예)
두번째 이더넷을 장착하고 시스템을 부팅하면 다음과 같은 메시지를 볼 수 있습니다.
Setting network parameters: [ OK ] Bringing up interface lo: [ OK ] Bringing up interface bond0: [ OK ] Bringing up interface eth0: [ OK ] Bringing up interface eth1: [ OK ]
각 네트워크 인터페이스 확인하기
[bond0 / eth0 / eth1 모두 같아야 할 부분]
- 이더넷 MAC Address : HWaddr 00:xx:C9:xx:E7:xx 즉 첫번째 이더넷(eth0)의 MAC Address 를 모두 따른다. - IP Address : inet addr:211.xxx.159.xxx - Brocast Address : Bcast:211.xxx.159.xxx - Net Mask : Mask:255.255.255.xxx
[서로 꼭 틀려야할 부분]
- MASTER / SLAVE(********꼭 확인********) bond0 : ... RUNNING MASTER MULTICAST ... eth0/eth1 : ... RUNNING SLAVE MULTICAST ... - 이더넷 I/O Address(서로 다른 이더넷임을 확인) eth0 : Base address:0x7000 eth1 : Base address:0x9000 - 기타 패킷 양
# /sbin/ifconfig (또는 netstat -i) bond0 Link encap:Ethernet HWaddr 00:xx:C9:xx:E7:xx inet addr:211.xxx.159.xxx Bcast:211.xxx.159.xxx Mask:255.255.255.xxx UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:1107 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
eth0 Link encap:Ethernet HWaddr 00:xx:C9:xx:E7:xx inet addr:211.xxx.159.xxx Bcast:211.xxx.159.xxx Mask:255.255.255.xxx UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:1721 errors:0 dropped:0 overruns:0 frame:0 TX packets:554 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:9 Base address:0x7000
eth1 Link encap:Ethernet HWaddr 00:xx:C9:xx:E7:xx inet addr:211.xxx.159.xxx Bcast:211.xxx.159.xxx Mask:255.255.255.xxx UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:1746 errors:0 dropped:0 overruns:0 frame:0 TX packets:553 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:10 Base address:0x9000
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0

|