Linux Bridge基本概念

摘要:

KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。

  • NAT 虚拟机利用host机器的ip进行上网.对外显示一个ip。(是KVm安装后的默认方式)(比如:使用NAT的虚拟机vm1可以访问外网,但外网无法直接访问 VM1。 因为 VM1 发出的网络包源地址虚拟机本身的ip,而是被 NAT 替换为宿主机的 IP 地址了。)
  • Bridge 将虚拟机桥接到host机器的网卡上,guest和host机器都通过bridge上网.对外不同的ip(适用范围:服务器虚拟化。目前咱们虚拟机通信也是采用此方式)

依据Bridge的方式举例:

假设宿主机有 1 块与外网连接的物理网卡eht0,上面跑了 1 个虚机 VM1,现在有个问题是: 如何让 VM1 能够访问外网?

至少有两种方案

  1. 将物理网卡eth0直接分配给VM1,但随之带来的问题很多: 宿主机就没有网卡,无法访问了; 新的虚机,比如 VM2 也没有网卡。 下面看推荐的方案

  2. 给 VM1 分配一个虚拟网卡 vnet0,通过 Linux Bridge  br0 将 eth0 和 vnet0 连接起来

Linux Bridge 是 Linux 上用来做 TCP/IP 二层协议交换的设备,其功能大家可以简单的理解为是一个二层交换机或者 Hub。多个网络设备可以连接到同一个 Linux Bridge,当某个设备收到数据包时,Linux Bridge 会将数据转发给其他设备。

在上面这个例子中,当有数据到达 eth0 时,br0 会将数据转发给 vnet0,这样 VM1 就能接收到来自外网的数据; 反过来,VM1 发送数据给 vnet0,br0 也会将数据转发到 eth0,从而实现了 VM1 与外网的通信。

posted @ 2020-12-08 13:48  莫离m  阅读(624)  评论(0编辑  收藏  举报