CentOS 6.3 桥接上网

      昨天纠结了一个晚上,终于搞定了,可以上网了。桥接上网注意以下几点:

1、桥接成功之后,br0 有IP,然后eth0 没有IP,正常上网就可以了

2、确保  cat /proc/sys/net/ipv4/ip_forward 这个的值是1。 如果发现不是1的话,可以执行命令echo “1”> /proc/sys/net/ipv4/ip_forward 即可

3、执行brctl show命令后,要有br0 并且后面有eth0的信息

 

我的配置文件(根据你们自己的网络信息修改):

ifcfg-eth0:

DEVICE=eth0
ONBOOT=yes
BRIDGE=br0

ifcfg-br0:

DEVICE="br0"
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DELAY=0
DNS1=202.118.66.6 (我一开始没写这个上不了网,注意哦)
ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0

 

配置完成之后重启网络即可: /etc/init.d/network restart


我这有个大牛给了我一个脚本,直接执行这个install.sh 文件即可,太牛了~~

#!/bin/sh





# Just For RedHat/CentOS



if [ ! -f /etc/redhat-release ]; then

    echo "Just support RedHat/CentOS distribution now."

    exit 1

fi



# arch must be x86_64

if [ $(arch) != "x86_64" ]; then

    echo "Your arch is $(arch), but I need x86_64 !"

    exit 1

fi



# Need root



if [ $UID -ne 0 ]; then

    echo "Need root to run install"

    exit 1

fi





LUOYUNTOP=/opt/LuoYun/

TOPDIR=${PWD}



DISTRIBUTION=



unalias cp > /dev/null 2>&1



# RPM_LIST

RPM_LIST="qemu-kvm bridge-utils libvirt"

# prepare requires

function prepare_env()

{

    NOT_EXIST_RPMS=""

    for RPM in $RPM_LIST; do

        if ! rpm -q ${RPM} > /dev/null 2>&1; then

            echo "  => ${RPM} not found"

            NOT_EXIST_RPMS="${NOT_EXIST_RPMS} ${RPM}"

        fi

    done



    # try install

    if [ -n "$NOT_EXIST_RPMS" ]; then

        if ! yum install $NOT_EXIST_RPMS; then

            exit 1

        fi

    fi



}





function load_kvm()

{



    INTEL_KVM="kvm-intel"

    AMD_KVM="kvm-amd"



    if grep vmx /proc/cpuinfo  > /dev/null 2>&1; then

        modprobe kvm $INTEL_KVM

    else

        modprobe kvm $AMD_KVM

    fi

}





function setup_br0()

{

    echo "Setup br0 NIC"

    if ifconfig br0 > /dev/null 2>&1; then

        echo "  => br0 is already working !"

        return

    fi



    for nic in $(ifconfig -a | grep ^[a-z] | awk '{print $1}'); do

        ip=$(ifconfig $nic | grep Mask | awk -F: '{print $2}' | awk '{print $1}')

        if [ -n "$ip" ]; then

            netmask=$(ifconfig $nic | grep Mask | awk -F: '{print $4}' | awk '{print $1}')

            break

        fi

    done



    if [ -z "$ip" ]; then

        echo "  => not found you ip address. please setup your bridge network manually."

        return

    else

        echo "  => found your ip: $ip"

    fi



    route=$(route -n | grep UG | awk '{print $2}')



    BR_FILE="/etc/sysconfig/network-scripts/ifcfg-br0"

    NIC_FILE="/etc/sysconfig/network-scripts/ifcfg-$nic"



    cp ${BR_FILE}{,.bak} > /dev/null 2>&1

    cp ${NIC_FILE}{,.bak} > /dev/null 2>&1



    cat > $BR_FILE <<EOF

DEVICE="br0"

ONBOOT=yes

TYPE=Bridge

BOOTPROTO=none

IPADDR=$ip

NETMASK=$netmask

GATEWAY=$route

DELAY=0

EOF



    cat > $NIC_FILE <<EOF

DEVICE=$nic

ONBOOT=yes

BRIDGE=br0

EOF



    service network restart 

}





function install_lynode()

{

    echo "Install lynode"



    if [[ "X$DISTRIBUTION" != "XRHEL5" && "X$DISTRIBUTION" != "XRHEL6" ]]; then

        echo "  => unsupported distribution: $DISTRIBUTION !"

        exit 1

    fi



    mkdir -pv ${LUOYUNTOP}/platform/bin/ \

        ${LUOYUNTOP}/platform/node_data/{appliances,instances} \

        ${LUOYUNTOP}/platform/etc/luoyun-cloud/ \

        ${LUOYUNTOP}/logs

        



    NODEDIR="${TOPDIR}/lynode/${DISTRIBUTION}"



    cp ${NODEDIR}/etc/init.d/lynoded /etc/init.d/

    cp ${NODEDIR}/opt/LuoYun/platform/etc/luoyun-cloud/lynode.conf ${LUOYUNTOP}/platform/etc/luoyun-cloud/

    cp ${NODEDIR}/opt/LuoYun/platform/bin/lynode ${LUOYUNTOP}/platform/bin/



    chkconfig --add lynoded

    chkconfig --level 2345 lynoded on

}





function common_install()

{

    prepare_env

    load_kvm

    #install_lynode

    setup_br0

}



function install_rhel5()

{

    echo "Install LuoYun web console on redhat 5 series"

    common_install

}





function install_rhel6()

{

    echo "Install LuoYun web console on redhat 6 series"

    common_install

}





# For 5

if cat /etc/redhat-release | grep 5 > /dev/null 2>&1; then

    DISTRIBUTION="RHEL5"

    install_rhel5

    exit 0

fi





# For 6

if cat /etc/redhat-release | grep 6 > /dev/null 2>&1; then

    DISTRIBUTION="RHEL6"

    install_rhel6

    exit 0

fi





# Could not come here

echo "Just support redhat/centos 5 or 6 series"

exit 2

 

 

你可能感兴趣的:(centos)