스크립트로 본딩하기

 

-스크립트내용-

#!/bin/bash

N_DIR=/etc/sysconfig/network-scripts/
read -p "device_name : " device
read -p "IPADDR : " IP
read -p "NETMASK : " NETMASK
read -p "GATEWAY : " GATEWAY

cp ${N_DIR}ifcfg-${device}0 ${N_DIR}${device}0.back
cp ${N_DIR}ifcfg-${device}1 ${N_DIR}${device}1.back

echo "DEVICE=${device}0" > ${N_DIR}ifcfg-${device}0
echo "TYPE=Ethernet" >> ${N_DIR}ifcfg-${device}0
echo "ONBOOT=yes" >> ${N_DIR}ifcfg-${device}0
echo "NM_CONTROLLED=no" >> ${N_DIR}ifcfg-${device}0
echo "BOOTPROTO=none" >> ${N_DIR}ifcfg-${device}0
echo "SLAVE=yes" >> ${N_DIR}ifcfg-${device}0
echo "MASTER=bond0" >> ${N_DIR}ifcfg-${device}0


echo "DEVICE=${device}1" > ${N_DIR}ifcfg-${device}1
echo "TYPE=Ethernet" >> ${N_DIR}ifcfg-${device}1
echo "ONBOOT=yes" >> ${N_DIR}ifcfg-${device}1
echo "NM_CONTROLLED=no" >> ${N_DIR}ifcfg-${device}1
echo "BOOTPROTO=none" >> ${N_DIR}ifcfg-${device}1
echo "SLAVE=yes" >> ${N_DIR}ifcfg-${device}1
echo "MASTER=bond0" >> ${N_DIR}ifcfg-${device}1



echo "DEVICE=bond0" > ${N_DIR}ifcfg-bond0
echo "TYPE=Ethernet" >> ${N_DIR}ifcfg-bond0
echo "ONBOOT=yes" >> ${N_DIR}ifcfg-bond0
echo "NM_CONTROLLED=no" >> ${N_DIR}ifcfg-bond0
echo "BOOTPROTO=static" >> ${N_DIR}ifcfg-bond0
echo "USERCTL=no" >> ${N_DIR}ifcfg-bond0
echo "IPADDR=${IP}" >> ${N_DIR}ifcfg-bond0
echo "NETMASK=${NETMASK}" >> ${N_DIR}ifcfg-bond0
echo "GATEWAY=${GATEWAY}" >> ${N_DIR}ifcfg-bond0
echo "BONDING_MASTER=yes" >> ${N_DIR}ifcfg-bond0

echo "alias bond0 bonding" > /etc/modprobe.d/bonding.conf
echo "options mode=1 miimon=100" >> /etc/modprobe.d/bonding.conf

 

-스크립트실행시-

device_name 쪽은 장치명을 적습니다. [ ex ) eth ]

IPADDR 쪽은 bond에 들어갈 ip주소를 적습니다. [ ex ) 192.168.189.10 ]

NETMASK 쪽은 NETMASK를 적습니다 [ ex ) 255.255.255.0 ]

GATEWAY 쪽은 GATEWAY IP를 적습니다 [ ex ) 192.168.189.254 ]

[root@centos6 ~]# sh bonding.sh
device_name : eth
IPADDR : 192.168.189.10
NETMASK : 255.255.255.0
GATEWAY : 192.168.189.254
[root@centos6 ~]# service network restart

 

-스크립트 실행후 확인-

bond0으로 IP올라온것 확인가능

기존의 네트워크 설정은 네트워크 설정 경로의 .back파일로 만들어집니다. [ ex ) eth0.back , eth1.back ]

[root@centos6 ~]# ifconfig
bond0     Link encap:Ethernet  HWaddr 08:00:27:77:7A:F5
          inet addr:192.168.189.10  Bcast:192.168.189.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe77:7af5/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:73 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9587 (9.3 KiB)  TX bytes:10370 (10.1 KiB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:77:7A:F5
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1016 errors:0 dropped:0 overruns:0 frame:0
          TX packets:629 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:86154 (84.1 KiB)  TX bytes:66298 (64.7 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:77:7A:F5
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:300 (300.0 b)  TX bytes:4864 (4.7 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:28 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2180 (2.1 KiB)  TX bytes:2180 (2.1 KiB)

 

가끔식 네트워크 시작이 0이아닌 1로 되는 경우도있으니 상황에 따라 수정해주세요

 

 

+ Recent posts