【云计算 | Openstack】KVM虚机通过dhcp自动获取地址
环境: os:centos7
1. 背景
前文 中的虚机使用的是基于Linux网桥的虚拟网卡,如下xml文件中的定义
#添加网络配置,基于网桥 <interface type=bridge> <source bridge=br0/> <target dev=vnet1/> <alias name=net1/> <address type=pci domain=0x0000 bus=0x00 slot=0x03 function=0x0/> </interface>
那如何给这个虚拟网卡自动分配地址呢?今天围绕这个话题展开实践
2. 实践
整体思路就是使用dnsmasq作为DHCP服务端,监听来自网桥br0的DHCP请求;同时修改KVM虚机中虚拟网卡配置信息,使其开机自启并发起DHCP请求。
2.1 dnsmasq
Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度;作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由
1、首先使用yum install -y dnsmasq安装dnsmasq 2、修改配置文件/etc/dnsmasq.conf
interface=br0 dhcp-range=192.168.1.70,192.168.1.70,12h
-
interface=br0:表示DHCP服务器监听的接口 dhcp-range=192.168.1.70,192.168.1.70,12h :表示dhcp地址池是192.168.1.70(这里地址池仅有一个地址,方便后续观察kvm虚机获取到的地址),12h表示地址释放的时间
注:dnsmasq的配置文件过滤掉空行和注释如上图,最后一行配置项conf-dir是默认的,这里我们就不动它
3、重启dnsmasq服务
4、确保Linux网桥已分配地址,这里br0的地址是通过配置文件生成的静态ip
2.2 修改kvm虚机网卡配置文件
-
BOOTPROTO=dhcp:表示该虚拟网卡通过dhcp动态获取地址 ONBOOT=yes:表示该虚拟网卡在os启动时自动激活
2.3 重启KVM虚机
1、直接kvm虚机内reboot,待系统启动后,查看虚拟网卡的ip,其地址正好是dhcp地址池内唯一的地址192.168.1.70 2、从vmware虚机中ping kvm虚机,可以正常ping通
3. 总结
-
dnsmasq作为kvm虚机的dhcp服务器,监听网桥,当kvm虚机发起dhcp请求时,可以动态获取ip地址 可以将本次实验后的kvm虚机image单独保存,此后复制该image重新拉起一个kvm虚机时,就可以不用再修改虚拟网卡的配置文件了
下一篇:
三层交换机(DHCP)跟路由器互通