KVM虚拟机网络配置
2018-08-29 本文已影响30人
CC_06fa
- Redhat网卡配置是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面,修改网络时需要依次修改。
- Debian系的则是存在/etc/network/interfaces文件里面,无论有多少块网卡,统统扔在这个文件里。
brctl工具
安装网桥管理工具包:bridge-utile
yum install bridge-utils -y
- 使用brctl命令创建网桥br1
brctl addbr br1
- 删除网桥br1
brctl delbr br1
- 将eth0端口加入网桥br1
brctl addif br1 eth0
- 删除网桥br1的端口eth0
brctl delif br1 eth0
- 查询网桥信息
brctl show
brctl show br1
KVM网络搭建
- NAT方式:让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。用户网络(User Networking)
- Bridge方式:这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。虚拟网桥(Virtual Bridge)
使用命令
virsh domiflist VM1
可以查看虚拟机网卡名称
搭建Bridge环境
Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。
桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。
- 编辑网桥设备,在/etc/sysconfig/network-scripts/目录下创建ifcgg-br0文件,并写入以下内容
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=dhcp
- 修改网卡文件,加入以下内容
BRIDGE="br0"
- 修改网络环境后使用
service network restart
重启网络服务
- 修改虚拟机配置文件,加入以下内容
<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>
搭建Nat环境
NAT方式是kvm安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。
使用命令
virsh net-list --all
可以显示虚拟机目前的网络设置
Name State Autostart Persistent
----------------------------------------------------------
default active yes yes
其中的default是宿主机安装虚拟机支持模块的时候自动安装的。default的配置文件在/etc/libvirt/qemu/networks/default.xml中,其内容如下
<network>
<name>default</name>
<uuid>22e9a5a3-29dc-4ab9-a2cd-3308479705e2</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:68:26:e3'/>
<ip address='10.0.0.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.0.0.2' end='10.0.0.254'/>
</dhcp>
</ip>
</network>
是使用ifconf命令查看网络设置,其中virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口。
修改虚拟机配置加入以下内容
<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>
<source network='default'/> 指定其使用default默认网络名