虚拟机网络模式

模式

  1. 隔离模式(类似vmare中仅主机模式):虚拟机之间组建网络,该模式无法与宿主机通信,无法与其他网络通信,相当于虚拟机只是连接到一台交换机上,所有的虚拟机能够相互通信。
  2. 路由模式:相当于虚拟机连接到一台路由器上,由路由器(物理网卡),统一转发,但是不会改变源地址。
  3. NAT模式(类似vmare中的NAT模式):在路由模式中,会出现虚拟机可以访问其他主机,但是其他主机的报文无法到达虚拟机,而NAT模式则将源地址转换为路由器(物理网卡)地址,这样其他主机也知道报文来自那个主机,在docker环境中经常被使用。
  4. 桥接模式(类似vmare中的bridge桥接模式):在宿主机中创建一张虚拟网卡作为宿主机的网卡,而物理网卡则作为交换机。

资料来源:kvm的4中网络模型(qemu-kvm)

例子

kvm的默认模式

<network>
  <name>default</name>
  <uuid>348ba80a-e655-4e67-84e2-731705f7ab96</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virtbr0' stp='on' delay='0'/>
  <mac address='52:54:00:e3:70:2a'/>
  <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>

桥接模式,配置网桥br0,使用br0创建虚拟机

[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.8.73
PREFIX=24
GATEWAY=192.168.8.1
[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens1f0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens1f0"
UUID="exxxxx-xx4-xx-90a4-xxxx3"
DEVICE="ens1f0"
ONBOOT="yes"
IPADDR="192.168.8.73"
PREFIX="24"
GATEWAY="192.168.8.1"
DNS1="114.114.114.114"
BRIDGE=br0

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.