zoukankan      html  css  js  c++  java
  • kvm使用桥接的方法

    什么是桥接

    桥接就是把物理机的网卡模拟成交换机,虚拟机的网卡直接连在虚拟的网桥即交换机上。这样kvm虚拟机分配的IP地址,就应该和物理机在同一网段,可以对外进行服务。
    在KVM下运行的VM默认的网卡采用NAT的方式进行连接,无法与外界进行通讯,但是可以与同台KVM下的其他VM进行通讯,为了使VM与其他网络主机进行通讯,需要将网卡模式由NAT改为桥接的方式

    查看桥接情况

    # brctl show
    bridge name     bridge id               STP enabled     interfaces
    virbr0          8000.5254003aa789       yes             virbr0-nic
    

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

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

    配置桥接设备br0

    # 查看桥接软件是否安装
    # rpm -q bridge-utils 
    bridge-utils-1.5-9.el7.x86_64
    

    禁用并卸载NetworkManager工具(必要),启用自带的network服务

    chkconfig NetworkManager off
    chkconfig network on
    service NetworkManager stop
    yum -y erase NetworkManager
    

    使用配置文件的形式添加

    先将 /etc/sysconfig/network-scripts/ifcfg-eth0 目录下的网卡配置文件备份一份

    cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
    

    新创建/etc/sysconfig/network-scripts/ifcfg-br0

    BOOTPROTO=static
    DEVICE=br0
    TYPE=Bridge
    NM_CONTROLLED=no
    IPADDR=10.16.16.2
    NETMASK=255.255.255.0
    GATEWAY=10.16.16.1
    DNS1=211.138.24.66
    DNS2=211.138.30.66
    DELAY=0
    STP=on
    

    上面的 IPADDR、NETMASK、GATEWAY 、DNS地址是原先ifcfg-eth0网卡中的

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

    修改ifcfg-eth0网卡内容,将原先关于IP设置的语句注释,并新增一个配置,其余保持不变

    # IPADDR=10.16.16.2
    # NETMASK=255.255.255.0
    # GATEWAY=10.16.16.1
    # DNS1=211.138.24.66
    # DNS2=211.138.30.66
    BRIDGE=br0  # 这一行是新增的
    

    设置完成后,重启网络

    service network restart
    

    查看网卡桥接及路由

    [root@localhost ~]# brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.34735aa1362c       yes             em1
    virbr0          8000.5254003aa789       yes             virbr0-nic
    
    [root@localhost ~]# route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         gateway         0.0.0.0         UG    0      0        0 br0
    10.16.16.0      0.0.0.0         255.255.255.0   U     0      0        0 br0
    link-local      0.0.0.0         255.255.0.0     U     1011   0        0 br0
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    

    这样就把eth0桥接为br0网卡了,VM就可以使用这个桥接配置了。重启不会对桥接造成影响,因为它是读取的ifcfg-xx的配置文件进行桥接

  • 相关阅读:
    python接口自动化(十一)--发送post【data】(详解)
    python接口自动化(十)--post请求四种传送正文方式(详解)
    selenium-java web自动化测试工具
    http接口测试工具——RESTClient
    python接口自动化(九)--python中字典和json的区别(详解)
    python接口自动化(八)--发送post请求的接口(详解)
    python接口自动化(七)--状态码详解对照表(详解)
    postgresql是如何处理死连接(转)
    利用pg_stat_activity进行问题排查
    (转)PostgreSQL 兼容Oracle
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15539192.html
Copyright © 2011-2022 走看看