zoukankan      html  css  js  c++  java
  • CentOS 6.9下KVM虚拟机网络Bridge(网桥)方式与NAT方式详解(转)

    摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。Bridge方式的配置原理和步骤。Bridge方式适用于服务器主机的虚拟化。NAT方式适用于桌面主机的虚拟化。

    NAT的网络结构图:

    Bridge的网络结构见图:

    一、Bridge方式

    问题

    客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。

    KVM客户机网络连接有两种方式:

    • 用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。
    • 虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。

    本文主要解释Bridge方式的配置。

    Bridge方式原理

    Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机

    桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。

    如上图,网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。

    Bridge方式的适用范围

    服务器主机虚拟化。

    网桥方式配置步骤

    1、编辑修改网络设备脚本文件,增加网桥设备br0

    vi /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE="br0"
    ONBOOT="yes"
    TYPE="Bridge"
    BOOTPROTO=static
    IPADDR=10.0.112.39
    NETMASK=255.255.255.0
    GATEWAY=10.0.112.1
    DEFROUTE=yes

    上述配置将虚拟网卡配置在了10.0.112.* 网段。如果不需要静态地址,可以把配置地址的相关项屏蔽。如:

    DEVICE="br0"
    ONBOOT="yes"
    TYPE="Bridge"
    BOOTPROTO=dhcp

    2、编辑修改网络设备脚本文件,修改网卡设备eth0

    DEVICE="eth0"
    NM_CONTROLLED="no"
    ONBOOT="yes"
    TYPE=Ethernet
    BOOTPROTO=none
    BRIDGE="br0"
    NAME="System eth0"
    HWADDR=44:37:E6:4A:62:AD

    NM_CONTROLLED这个属性值,根据RedHat公司的文档是必须设置为“no”的(这个值为“yes”表示可以由服务NetworkManager来管理。NetworkManager服务不支持桥接,所以要设置为“no”。),但实际上发现设置为“yes”没有问题。通讯正常。

    3、重启网络服务

    service network restart

    4、校验桥接接口

    #brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.4437e64a62ad       no              eth0

    客户机配置

    客户机安装时注意,网络要选择用br0桥接方式。

    图形化的方式:

    文本方式:

    编辑修改虚拟机配置文件/etc/libvirt/qemu/v1.xml,增加如下内容

    <interface type='bridge'>
          <mac address='52:54:00:da:c3:dc'/>
          <source bridge='br0'/>
          <model type='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

    虚拟机启动后,验证网络接口是否正常:

    # brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.4437e64a62ad       no              eth0
                                                                                  vnet0

    NAT方式的影响

    网桥方式的配置与虚拟机支持模块安装时预置的虚拟网络桥接接口virbr0没有任何关系,配置网桥方式时,可以把virbr0接口(即NAT方式里面的default虚拟网络)删除。

    virsh net-destroy default
    virsh net-undefine default
    service libvirtd restart

    二、NAT方式

    问题

    客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。

    KVM 客户机网络连接有两种方式:

    • 用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。
    • 虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。

    本文主要解释NAT方式的配置。

    NAT方式原理

    NAT方式是KVM安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。

    检查当前的网络设置:

    #virsh net-list --all
    Name State Autostart
    -----------------------------------------
    default active yes

    default是宿主机安装虚拟机支持模块的时候自动安装的。

    检查当前的网络接口:

    #ifconfig
    eth0      Link encap:Ethernet  HWaddr 44:37:E6:4A:62:AD  
              inet6 addr: fe80::4637:e6ff:fe4a:62ad/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:987782 errors:0 dropped:0 overruns:0 frame:0
              TX packets:84155 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:109919111 (104.8 MiB)  TX bytes:12695454 (12.1 MiB)
              Interrupt:17 
    
    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:16436  Metric:1
              RX packets:4 errors:0 dropped:0 overruns:0 frame:0
              TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:240 (240.0 b)  TX bytes:240 (240.0 b)
    
    virbr0    Link encap:Ethernet  HWaddr 52:54:00:B9:B0:96  
              inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2126 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 b)  TX bytes:100387 (98.0 KiB)
    
    virbr0-nic Link encap:Ethernet  HWaddr 52:54:00:B9:B0:96  
              BROADCAST MULTICAST  MTU:1500  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:500 
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

    其中virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口,也是一个switch和bridge,负责把内容分发到各虚拟机。

    几个虚拟机管理模块产生的接口关系如下图:

    从图上可以看出,虚拟接口和物理接口之间没有连接关系,所以虚拟机只能在通过虚拟的网络访问外部世界,无法从网络上定位和访问虚拟主机

    virbr0是一个桥接器,接收所有到网络192.168.122.*的内容。从下面命令可以验证:

    # brctl show
    bridge name     bridge id               STP enabled     interfaces
    virbr0          8000.525400b9b096       yes             virbr0-nic
    
    # route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0

    同时,虚拟机支持模块会修改iptables规则,通过命令可以查看:

    # iptables -t nat -L -nv
    Chain PREROUTING (policy ACCEPT 16924 packets, 2759K bytes)
    pkts bytes target     prot opt in     out     source               destination
    Chain POSTROUTING (policy ACCEPT 2009 packets, 125K bytes)
    pkts bytes target     prot opt in     out     source               destination        
     421 31847 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24   ----------->这条是关键,它配置了NAT功能。
    Chain OUTPUT (policy ACCEPT 2011 packets, 125K bytes)
    pkts bytes target     prot opt in     out     source               destination        
    
        
    # iptables -t filter -L -nv
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target     prot opt in     out     source               destination        
     1    74 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           udp dpt:53    ---->由libvirt脚本自动写入
     0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53    ---->由libvirt脚本自动写入
     3   984 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           udp dpt:67    ---->由libvirt脚本自动写入
     0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           tcp dpt:67    ---->由libvirt脚本自动写入
    178K  195M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED    ---->iptables的系统预设
     2   168 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0                ---->iptables的系统预设
    1148  216K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0                ---->iptables的系统预设
     1    60 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22  ---->iptables的系统预设
    16564 2721K REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited ---->iptables的系统预设
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target     prot opt in     out     source               destination        
    3726 3485K ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24    state RELATED,ESTABLISHED  ---->由libvirt脚本自动写入
    3491  399K ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0                ---->由libvirt脚本自动写入
     0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0                ---->由libvirt脚本自动写入
     0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable  ---->由libvirt脚本自动写入
     0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable  ---->由libvirt脚本自动写入
     0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited  ---->iptables的系统预设
    Chain OUTPUT (policy ACCEPT 181K packets, 138M bytes)
    pkts bytes target     prot opt in     out     source               destination

    如果没有default的话,或者需要扩展自己的虚拟网络,可以使用命令重新安装NAT。

    NAT方式的适用范围

    桌面主机虚拟化。

    创建步骤

    virsh net-define /usr/share/libvirt/networks/default.xml

    此命令定义一个虚拟网络,default.xml的内容:

    <network>
      <name>default</name>
      <bridge name="virbr0" />
      <forward/>
      <ip address="192.168.122.1" netmask="255.255.255.0">
        <dhcp>
          <range start="192.168.122.2" end="192.168.122.254" />
        </dhcp>
      </ip>
    </network>

    也可以修改xml,创建自己的虚拟网络。

    标记为自动启动:

    #virsh net-autostart default
    Network default marked as autostarted

    启动网络:

    #virsh net-start default
    Network default started

    网络启动后可以用命令brctl show查看和验证。

    修改/etc/sysctl.conf中参数,允许ip转发:

    net.ipv4.ip_forward=1

    客户机安装

    客户机安装时注意,网络要选择用NAT方式。

    图形化的方式:

    文本方式:

    编辑修改虚拟机配置文件/etc/libvirt/qemu/v1.xml,增加如下内容

        <interface type='network'>
          <mac address='52:54:00:4f:1b:07'/>
          <source network='default'/>
          <model type='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
        </interface>

    虚拟机启动后,验证网络接口是否正常:

    # brctl show
    bridge name     bridge id               STP enabled     interfaces
    virbr0          8000.525400b9b096       yes             virbr0-nic
                                                                                     vnet0

    Bridge方式的影响

    Bridge方式配置出来的接口对NAT方式没有影响,因为NAT方式并没有使用物理网卡。但作为客户机,只能选择其中的一种。

    三、桥接补充

    如果我们搭建的环境是必须使用虚拟化的,或者说虚拟化是我们搭建这套环境的主要目的之一,那么我们在进行系统安装的时候将所有的虚拟化组件全部安装上,避免后期出现安装不全或者某些服务依赖关系没有解决好,这样排错的时间远远高于安装时候多装几个包的时间。

    在我们安装好虚拟化组件(RHEL6.0之后,系统自带的均是KVM,已经没有XEN虚拟化的支持了),会自动生成一个virbr0这样的桥接设备

    [root@clovemzone ~]# brctl  show 
    bridge name    bridge id        STP enabled    interfaces 
    virbr0      8000.5254007543ce    yes          virbr0-nic

    virbr0默认使用的是NAT方式跟虚拟机网卡进行通讯,在实际生产环境中我们多数情况下面使用桥接Bridge的方式进行物理机跟虚拟机的通讯,删除这个virbr0的方法在上面已经说明,这篇文章主要讲述Bridge的简单实现原理以及实际配置方法。 

    假设我们的物理机上有一块有线网卡,在系统中显示为eth0,我们搭建将其配置成桥接设备br0

    我们经常所说的Bridge设备其实就是网桥设备,也就相当于现在的二层交换机,用于连接同一网段内的所有机器,所以我们的目的就是将网络设备eth0配置成br0,此时br0就成为了所谓的交换机设备,我们物理机的eth0也是连接在上面的。

    [root@clovemzone ~]# brctl  show 
    bridge name      bridge id    STP enabled  interfaces 
    br0          8000.0025903afe42    no      eth0

    我们创建两个虚拟机之后,所有的虚拟机网卡均连接br0,此时查看br0上面连接的设备

    [root@clovemzone ~]# brctl  show 
    bridge name      bridge id    STP enabled  interfaces 
    br0          8000.0025903afe42    no      eth0 
                                                vnet0 
                                                vnet1

    为了让大家了解的更加透彻,可以通过下图并结合实际操作进行简单分析

    1、查看物理机网卡设备信息图1所示

    [root@master ~]# ip addr show 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
        inet 127.0.0.1/8 scope host lo 
        inet6 ::1/128 scope host 
          valid_lft forever preferred_lft forever 
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
        link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff 
        inet 192.168.3.176/24 brd 192.168.3.255 scope global eth0 
        inet6 fe80::5054:ff:fea7:b756/64 scope link 
          valid_lft forever preferred_lft forever

    2、配置桥接设备br0

    [root@master ~]# rpm -q bridge-utils    //查看桥接软件是否安装 
    bridge-utils-1.2-9.el6.x86_64 
    [root@master ~]# brctl  show 
    bridge name    bridge id    STP enabled    interfaces 

    此时无任何桥接设备,我们可以手动添加也可以在 文件中进行添加生效。

    (1)、手动添加

    [root@master ~]# brctl  addbr br0 
    [root@master ~]# brctl  show 
    bridge name    bridge id    STP enabled    interfaces 
    br0            8000.000000000000        no 
    [root@master ~]# brctl  addif br0 eth0 
    [root@master ~]# brctl  show 
    bridge name  bridge id        STP enabled  interfaces 
    br0        8000.000000000000        no        eth0

    删除eth0上面的ip地址,将br0上面添加上固定ip地址

    [root@master ~]# ip addr del dev eth0 192.168.3.176/24        //删除eth0上的IP地址 
    [root@master ~]# ifconfig  br0 192.168.3.176/24 up              //配置br0的IP地址并启动设备 
    [root@master ~]# route add default gw 192.168.3.1              //重新加入默认网关

    查看配置是否生效

    [root@master ~]# route      //查看默认网关 
    Kernel IP routing table 
    Destination    Gateway        Genmask        Flags Metric Ref    Use Iface 
    192.168.3.0    *              255.255.255.0  U    0      0        0 br0 
    default        192.168.3.1    0.0.0.0        UG    0      0        0 br0 
    [root@master ~]# ip addr show    //查看eth0跟br0的IP信息 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
        inet 127.0.0.1/8 scope host lo 
        inet6 ::1/128 scope host 
          valid_lft forever preferred_lft forever 
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
        link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff 
        inet6 fe80::5054:ff:fea7:b756/64 scope link 
          valid_lft forever preferred_lft forever 
    3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
        link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff 
        inet 192.168.3.176/24 brd 192.168.3.255 scope global br0 
        inet6 fe80::5054:ff:fea7:b756/64 scope link 
          valid_lft forever preferred_lft forever 
    [root@master ~]# ping 192.168.3.1 -w2        //测试同一网段连接是否成功,判断网卡IP是否绑定正确
    PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data. 
    64 bytes from 192.168.3.1: icmp_seq=1 ttl=255 time=3.45 ms 
    64 bytes from 192.168.3.1: icmp_seq=2 ttl=255 time=4.20 ms 
    --- 192.168.3.1 ping statistics --- 
    2 packets transmitted, 2 received, 0% packet loss, time 2000ms 
    rtt min/avg/max/mdev = 3.457/3.832/4.208/0.380 ms 
    [root@master ~]# ping 192.168.1.1 -w2  //测试不同网段连接是否成功,判断网关是否添加成功 
    PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 
    64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=2.38 ms 
    64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=7.64 ms 
    --- 192.168.1.1 ping statistics --- 
    2 packets transmitted, 2 received, 0% packet loss, time 2000ms 
    rtt min/avg/max/mdev = 2.381/5.011/7.642/2.631 ms

    上面是通过命令进行的手动配置方法,但是大家都清楚,这些命令配置的结果在服务器重启之后就不能生效了,要想使得所有配置永久生效,我们还是需要通过配置文件进行配置,然后重启网卡设备,让系统帮我们配置,然后重启之后也是生效的。

    通过上面的手动配置方法,大家可以清楚得看到一个桥接设备的配置流程,这个在你写到配置文件里面,然后让系统帮你配置的时候是看不到的 :) ,那么下面我们将所有的配置还原,通过配置文件进行相关自动化配置吧。

    还原原始配置

    [root@master ~]# route delete default            //删除默认网关
    
    [root@master ~]# route -n
    Kernel IP routing table
    Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
    192.168.3.0    0.0.0.0        255.255.255.0  U    0      0        0 br0
    
    [root@master ~]# brctl show 
    bridge name        bridge id                STP enabled        interfaces
    br0                8000.525400a7b756        no                            eth0
    [root@master ~]# brctl  delif  br0    eth0    //断开/删除br0上的eth0设备
    [root@master ~]#ifconfig br0 down        //让br0设备停止活动
    [root@master ~]#brctl delbr  br0          //删除br0
    root@master ~]# brctl show                    //查看br0是否依然存在
    bridge name        bridge id                STP enabled        interfaces
    [root@master ~]# ifconfig  eth0 192.168.3.176/24    //重新给eth0分配IP地址
    root@master ~]# route add default gw 192.168.3.1  //重新加入默认网关
    1234567891011 [root@master ~]# ip addr show 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
        inet 127.0.0.1/8 scope host lo 
        inet6 ::1/128 scope host 
          valid_lft forever preferred_lft forever 
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
        link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff 
        inet 192.168.3.176/24 brd 192.168.3.255 scope global eth0 
        inet6 fe80::5054:ff:fea7:b756/64 scope link 
          valid_lft forever preferred_lft forever

    (2)、通过配置文件配置桥接设备

    配置文件请自行备份

    [root@master ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
    DEVICE=eth0 
    TYPE=Ethernet 
    ONBOOT=yes
    BRIDGE=br0 
    [root@master ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 
    DEVICE=br0 
    TYPE=Bridge 
    ONBOOT=yes
    BOOTPROTO=static 
    IPADDR=192.168.3.176 
    NETMASK=255.255.255.0 
    GATEWAY=192.168.3.1 

    参数详解:

    ifcfg-eth0

          Device              指定网卡设备名
    
          TYPE                指定网卡的类型为以太网卡
    
          ONBOOT        指定网卡是否开机启动,切记要设置为yes
    
          BRIDGE            指定桥接设备,此处指定为br0设备

    建议:以上变量(非变量值)均为大写。

    ifcfg-br0

          Device              指定网卡设备名
          TYPE                指定网卡的类型为桥接
          ONBOOT        指定网卡是否开机启动,切记要设置为yes
    
          BOOTPROTO 指定网卡启动如何获取IP地址,设置静态
          IPADDR          设置br0绑定的IP地址
          NETMASK      设置子网掩码地址
    
          GATEWAY      设置网关

    建议: TYPE变量的变量值按照第一个字母大写,其余字母小写的原则,如Ethernet,Bridge

    配置完成之后,重启网络服务

    如担心干扰,建议停止NetworkManager 服务,这个服务挺讨厌

    [root@master ~]# service    NetworkManager stop 
    [root@master ~]#chkconfig NetworkManager off 
    [root@master ~]# service network restart 
    [root@master ~]# ip addr show 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
        inet 127.0.0.1/8 scope host lo 
        inet6 ::1/128 scope host 
          valid_lft forever preferred_lft forever 
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
        link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff 
    4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
        link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff 
        inet 192.168.3.176/24 brd 192.168.3.255 scope global br0 
        inet6 fe80::5054:ff:fea7:b756/64 scope link 
          valid_lft forever preferred_lft forever

    查看桥接设备信息

    [root@master ~]# brctl  show 
    bridge name  bridge id    STP enabled  interfaces 
    br0        8000.525400a7b756    no        eth0 
    [root@master ~]# route 
    Kernel IP routing table 
    Destination    Gateway        Genmask        Flags Metric Ref    Use Iface 
    192.168.3.0    *              255.255.255.0  U    0      0        0 br0 
    link-local      *              255.255.0.0    U    1004  0        0 br0 
    default        192.168.3.1    0.0.0.0        UG    0      0        0 br0

    由此,桥接设备br0已经配置成功,当创建虚拟机的时候选择虚拟网卡接口的时候选择br0即可

    开始安装虚拟机,此时查看桥接设备br0上面的网卡连接情况:

    [root@master ~]# brctl  show 
    bridge name      bridge id    STP enabled  interfaces 
    br0          8000.0025903afe42    no      eth0 
                                                vnet0 

    参考:

    http://blog.csdn.net/hzhsan/article/details/44098537(以上内容转自此篇文章)

    http://blog.csdn.net/hzhsan/article/details/44653403(以上内容转自此篇文章)

    http://smilejay.com/2012/08/kvm-bridge-networking/

    http://www.linuxidc.com/Linux/2012-12/76883.htm

    http://www.linuxidc.com/Linux/2012-12/76883p2.htm

    https://www.webmaster.me/server/centos6-4-kvm-centos6-4%E8%99%9A%E6%8B%9F%E6%9C%BAnat%E6%96%B9%E5%BC%8F%E8%BF%9E%E7%BD%91.html

    http://www.bkjia.com/yjs/974868.html

  • 相关阅读:
    MPF源码分析之资源文件加载
    oracle存储过程代码日志记录
    fix8源码分析之日志模块
    oracle日期转整数
    记录OCI操作一个诡异的问题
    记录一个虚拟机重启网络启动失败问题
    buff占用内存高
    MFC程序编译链接问题汇总一
    回调函数模型设计
    利用call与apply向函数传递参数
  • 原文地址:https://www.cnblogs.com/EasonJim/p/8367645.html
Copyright © 2011-2022 走看看