`

Linux下为KVM 配置桥接设备

    博客分类:
  • kvm
 
阅读更多
在安装一个拥有虚拟化功能的Linux操作系统(此处以CentOS为例),一般我们有两种方法:

1.在光盘安装的时候安装好虚拟化包或者PXE服务器上配置好虚拟化包
2.手动在没有安装虚拟化组件的系统中安装虚拟化组件


  如果我们搭建的环境是必须使用虚拟化的,或者说虚拟化是我们搭建这套环境的主要目的之一,那么我们在进行系统安装的时候将所有的虚拟化组件全部安装上,避免后期出现安装不全或者某些服务依赖关系没有解决好,这样排错的时间远远高于安装时候多装几个包的时间。
  在我们安装好虚拟化组件(RHEL6.0之后,系统自带的均是KVM,已经没有XEN虚拟化的支持了),会自动生成一个virbr0这样的桥接设备

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

    按照这篇文中所说:http://www.linuxidc.com/Linux/2013-08/88720.htm ,virbr0默认使用的是NAT方式跟虚拟机网卡进行通讯,在实际生产环境中我们多数情况下面使用桥接Bridge的方式进行物理机跟虚拟机的通讯,删除这个virbr0的方法在上面给出的链接中已经说明,这篇文章主要讲述Bridge的简单实现原理以及实际配置方法。

相关阅读:

RHEL6 KVM虚拟化创建桥接网卡-网桥 http://www.linuxidc.com/Linux/2013-08/88517.htm

RedHat Linux KVM虚拟机桥接 http://www.linuxidc.com/Linux/2013-02/79934.htm

CentOS 5.6下KVM的安装/桥接设置/虚拟机创建及运行 http://www.linuxidc.com/Linux/2012-12/76883.htm

    假设我们的物理机上有一块有线网卡,在系统中显示为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
[root@master ~]#

此时无任何桥接设备,我们可以手动添加也可以在 文件中进行添加生效。
(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

上面是通过命令进行的手动配置方法,但是大家都清楚,这些命令配置的结果在服务器重启之后就不能生效了,要想使得所有配置永久生效,我们还是需要通过配置文件进行配置,然后重启网卡设备,让系统帮我们配置,然后重启之后也是生效的。
通过上面的手动配置方法,大家可以清楚得看到一个桥接设备的配置流程,这个在你写到配置文件里面,然后让系统帮你配置的时候是看不到的 ,那么下面我们将所有的配置还原,通过配置文件进行相关自动化配置吧。
分享到:
评论

相关推荐

    kvm下桥接网卡配置

    5. **配置桥接**: 创建桥接接口(如br0)并在配置文件中添加: ``` DEVICE=br0 TYPE=Bridge BRIDGE=bond0 ONBOOT=yes IPADDR=您的IP地址 NETMASK=您的子网掩码 GATEWAY=您的网关 ``` 请注意替换相应的IP...

    KVM 桥接 QEMU 启动选项 图形组合键 磁盘映像

    2. **创建桥接设备**:使用`brctl addbr br0`创建名为br0的桥接设备。 3. **添加物理网卡到桥接设备**:使用`brctl addif br0 eth0`将eth0网卡添加至br0。 4. **配置网络接口文件**:编辑`/etc/network/interfaces`...

    Linux系统下基于Kvm创建虚拟机时网络网桥的配置使用说明

    在Linux系统下,基于KVM创建虚拟机时,网络配置是一项关键步骤,特别是涉及到网络网桥的设置。本文主要介绍了如何在Red Hat Enterprise 5.0环境下配置网桥,以便虚拟机可以顺利接入网络。 首先,理解网桥的概念至关...

    qemu-kvm配置bridge

    3. 配置桥接网络接口:创建一个新的网络配置文件,设置一个桥接设备br0,将其绑定到物理网络接口p3p1上,以实现桥接模式。 - 编辑桥接接口的配置文件/etc/sysconfig/network-scripts/ifcfg-br0,设置开机启动桥接...

    Ubuntu18.04下的KVM网络配置(附各种问题解答)

    KVM 网络配置在 Ubuntu 18.04 下的配置方法 KVM(Kernel-based Virtual Machine)是一种开源的虚拟机软件,能够在 Linux 操作系统上实现虚拟化技术。配置 KVM 网络需要了解网桥模式的配置方法,以下是详细的配置...

    一种基于VM技术的Linux多虚拟网卡桥接方案.pdf

    "一种基于VM技术的Linux多虚拟网卡桥接方案.pdf" 本文介绍了一种基于VM技术的Linux多虚拟网卡桥接方案。该方案利用VM技术,在Linux操作系统中实现了多虚拟网卡的桥接,实现了负载均衡和高可用性。 文章首先介绍了...

    KVM配置及Openstack kvm优化

    描述中的"KVM配置命令"涉及诸多方面,例如创建虚拟机、设定内存、分配CPU、挂载磁盘等。使用`virsh`命令行工具,可以方便地进行这些操作。例如,`virsh create`用于启动虚拟机,`virsh dominfo`显示虚拟机信息,`...

    linux下KVM虚拟化总结

    Linux 下 KVM 虚拟化环境部署和使用 KVM(Kernel-based Virtual Machine)是 Linux 内核虚拟化解决方案,提供了一个基于硬件的虚拟化环境。下面是 KVM 虚拟化环境的安装、搭建和使用方法: 一、环境要求 * 操作...

    RHEL6字符下KVM虚拟机之初体验

    首先,编辑`/etc/sysconfig/network-scripts/`目录下的`ifcfg-eth0`配置文件,添加一行`BRIDGE=br0`来指定桥接设备。然后,复制`ifcfg-eth0`配置给`ifcfg-br0`,并修改设备名及类型为桥接模式。完成配置后,重启网络...

    在virt-manager中桥接虚拟机

    假设一场景:在一运行Ubuntu桌面的机器中开启了四台KVM虚拟机,需要在相同局域网终端下,分别以SSH直连四台虚拟机和宿主机。 这种场景下,即需要对其中的虚拟机进行桥接。 2. 环境 宿主机 型号:Dell 5545D 1928 ...

    kvm详细使用手册

    1. **创建桥接设备**:首先,在`/etc/sysconfig/network-scripts/`目录下,编辑或创建`ifcfg-br0`文件,配置桥接设备`br0`。 ```bash DEVICE=br0 ONBOOT=yes BOOTPROTO=static IPADDR=172.16.70.30 NETMASK=...

    Linux_kvm的安装(centOS)[整理].pdf

    Linux KVM(Kernel-based Virtual Machine)是Linux操作系统中的一个内核模块,专为实现虚拟化而设计。KVM自Linux 2.6.20版本起被集成到主要的Linux发行版中,它利用硬件辅助虚拟化技术,如Intel VT或AMD V,提供...

    linux下配置和安装KVM虚拟机的步骤

    以下将详细介绍如何在Linux环境下配置和安装KVM虚拟机,以及相关的网络配置。 首先,确保你的Linux宿主机支持硬件虚拟化。在CentOS 6.8 64位系统中,你可以通过`cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l`...

    KVM 安装配置和常见操作.pdf

    在本文中,我们将详细探讨KVM的安装过程、配置桥接网络以及一些基本操作,包括创建虚拟机、克隆虚拟机等。 首先,安装KVM需要安装一系列基础包。通过`yum install`命令,我们可以一次性安装必要的组件,例如`qemu-...

    KVM 安装配置和常见操作.docx

    配置桥接网卡 桥接网卡(如br0)用于让虚拟机直接与物理网络交互,配置如下: - `DEVICE=br0`:定义桥接网卡名称。 - `TYPE=Bridge`:设置网卡类型为桥接。 - `ONBOOT=yes`:使网卡在启动时自动激活。 - `DELAY=0`...

    kvm实现客户机与宿主机的通信

    KVM利用Linux内核的多任务特性为每个虚拟机创建一个进程,并为每个虚拟CPU创建一个线程。在KVM环境中,每个虚拟机都被视为一个标准的Linux进程(QEMU进程),并且可以通过常规的Linux进程管理工具进行管理。KVM通过...

    FortiOS VM 运行于 Linux KVM 平台详解

    本篇详解将专注于FortiOS VM如何运行于基于Linux的KVM平台,旨在为技术工程师提供全面的安装、配置及测试指南。 首先,KVM是一种基于硬件虚拟化技术的全虚拟化解决方案,通过Linux内核模块,利用Intel VT或AMD-V...

    CentOS6.3安装和配置KVM

    与传统的Xen不同,KVM将虚拟机视为标准的Linux进程,由Linux调度器进行管理,这意味着每个虚拟机都有自己的独立内核和用户空间,从而提供了更高效、更安全的虚拟化体验。 #### 二、KVM虚拟机管理工具 ##### QEMU-...

    KVM 安装配置和常见操作 (2).pdf

    2. **配置桥接网卡**:在`/etc/sysconfig/network-scripts/`目录下创建新的桥接设备配置文件`ifcfg-br0`: ``` DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPV6INIT=no ONBOOT=yes IPADDR=192.168.1.66 ...

    kvm开发详解

    - 内核模式下的KVM模块为每个虚拟机创建虚拟内存,并为每个虚拟CPU分配资源。 - 通过执行VMLAUNCH指令,KVM模块切换到客户模式,加载Guest OS并开始执行客户机的操作系统。 - 如果Guest OS遇到外部中断或缺页等异常...

Global site tag (gtag.js) - Google Analytics