一、libvirt 默认NAT模式
在安装启动libvirt之后,系统会自动创建一个名为virbr0的网桥,其IP地址为192.168.122.1。具体信息如下:
virbr0 Link encap:以太网 硬件地址 7a:b3:07:b3:47:e7 inet 地址:192.168.122.1 广播:192.168.122.255 掩码:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 跃点数:1 接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:0 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:0 接收字节:0 (0.0 B) 发送字节:0 (0.0 B)
libvirt默认的网络配置为NAT模式,即宿主机和虚拟机的网络拓扑关系属于NAT模式。虚拟机会被分配一个192.168.122.0/24网段内的IP,与宿主机virbr0进行通信。
二、libvirt网桥模式
在实际应用中,NAT模式可能会给虚拟机网络通信带来不变(这点看实际需求和网络拓扑,不绝对)。开发者希望将宿主机和虚拟机的网络拓扑设置为网桥模式,这样可以将宿主机和虚拟机的IP设置为同一网段内IP。关于如何设置网桥,可以参见《Linux 网络实用手册 》(传送门:http://speakingbaicai.blog.51cto.com/5667326/1160442)
假设我们希望将libvirt虚拟机设置为网桥模式,那么需要在宿主机上配置网桥,并在libvirt xml配置文件中做相应设置,如下:(假设网桥名为br0)
<devices> <emulator>/usr/bin/kvm</emulator> ... <interface type = 'bridge'> <source bridge = 'br0'/> </interface> ... </devices>
三、在虚拟机内部配置IP地址、设置路由
1、NAT模式
宿主机通信网卡为virbr0 192.168.122.1
虚拟机内部执行:
ifconfig eth0 192.168.122.50 route add default gw 192.168.122.1
2、网桥模式
宿主机处于192.168.120.0/24的网段,网关为192.168.120.254
宿主机通信网卡 br0 192.168.120.101
虚拟机内部执行:
ifconfig eth0 192.168.120.103 netmask 255.255.255.0 route add default gw 192.168.120.254
转载于:https://blog.51cto.com/speakingbaicai/1162016