OpenStack创建2台VM之间的DHCP服务设置

xiaoxiao2021-02-28  71

要求:

要用openstack创建的的2台VM,一台作为DHCP server,为另一台VM提供IP地址。

前提:

当前openstack的租户 子网为:192.168.10.0/24,默认启用了DHCP(记住这一点很重要)。

2台虚拟机在启用后都获取到了IP,分别为192.168.10.6(作为DHCP SERVER端)和192.168.10.7(作为DHCP CLIENT端)。

linux系统为:centos6.5

说在最前:

本次配置的完成,参考了网上很多文章,对比下来,最全最细致的为这一篇:http://www.cnblogs.com/linux-wangkun/p/5910709.html,对我的启发和帮助很大,感谢~

下面开始配置:

一、配置DHCP SERVER

1. 安装DHCP包

本文使用yum安装

yum install dhcp* 2. DHCP SERVER配置

文件路径:/etc/dhcp/dhcpd.conf (如果是centos7,可能/etc/dhcp/路径下没有dhcpd.cfg,可以去/usr/share/doc/dhcp-4.1.1/路径下拷贝dhcpd.conf.sample到/etc/dhcp/dhcpd.conf。dhcpd.conf.sample里对参数都做了介绍,可以帮助理解下面的配置都是什么含义。

vim /etc/dhcp/dhcpd.conf看到我当前对dhcp server的配置,具体为:

ddns-update-style none; #可能非必须 ignore client-updates; #可能非必须 default-lease-time 600; #必须 max-lease-time 7200; #必须 log-facility local7; #必须 #对子网的约束 subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.100 192.168.10.110; #为区别ip地址是本dhcp server提供的,所以讲IP的起始范围做了约束 option domain-name-servers 114.114.114.114; #DNS设置,非必须 option routers 192.168.10.99; #为了跟openstack的路由做区分,随便写了一个IP option subnet-mask 255.255.255.0; #非必须 option broadcast-address 192.168.10.222; #为了跟openstack的路由做区分,随便写了一个IP,非必须 }

注:

1). broadcast本非必须,特意加上,除了为跟openstack的子网广播地址做区分外,还因为,dhcp discover阶段,是以广播报文的方式发送给dhcp server的,很多dhcp server都会给vm回复dhcp offer消息。如果不加上,VM有可能收到192.168.10.255 (openstack子网的广播地址)的消息。

2). 这里,我还走了一个弯道,绕了我好久。原因应该就是我对dhcpd.conf.sample的用例注释没理解透吧。以下是我最初写的dhcp server的配置内容:

log-facility local7; subnet 192.168.10.0 netmask 255.255.255.224 { range 192.168.10.100 192.168.10.110; option domain-name-servers 114.114.114.114; option routers 192.168.10.1; default-lease-time 600; max-lease-time 7200; } 将default-lease-time 600;、max-lease-time 7200;等参数写在了大括号内,以为写在里面与写在外面的意思是一样的。但,如果写在里面,启动DHCP服务会一直报错~

3. 配置文件,绑定DHCP SERVER到网卡

文件目录:/etc/sysconfig/dhcpd,修改DHCPDARGS="eth0"

[root@host-192-168-10-6 sysconfig]# vim /etc/sysconfig/dhcpd # Command line options here DHCPDARGS="eth0"

4. 启动DHCP server

service dhcpd restart

如果,缺少第三步,启动服务时会报错,查看log:tail -40 /var/log/message,内容为:

May 5 15:44:26 host-192-168-10-6 dhcpd: No subnet declaration for eth0 (192.168.10.6). May 5 15:44:26 host-192-168-10-6 dhcpd: ** Ignoring requests on eth0. If this is not what May 5 15:44:26 host-192-168-10-6 dhcpd: you want, please write a subnet declaration May 5 15:44:26 host-192-168-10-6 dhcpd: in your dhcpd.conf file for the network segment May 5 15:44:26 host-192-168-10-6 dhcpd: to which interface eth0 is attached. Not configured to listen on any interfaces!

至此,DHCP SERVER配置完毕!

二、配置DHCP CLIENT

1.  配置网卡文件

文件目录:/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 BOOTPROTR=dhcp TYPE=Ethernet ONBOOT=yes NAME=eth0 #BROADCAST=192.168.10.222 #本以为是必须的,但注释掉后尝试没有问题 #HWADDR=FA:16:3E:AE:D8:6E #本以为是必须的,但注释掉后尝试没有问题

2. 重启网卡 service network restart查看192.168.10.7的IP地址,是否变更为192.168.10.100-192.168.10.110之间的IP

使用命令:ifconfig

===》发现IP地址没变,还是192.168.10.7,广播地址仍然为:192.168.10.255

原因是什么呢? 我尝试了a.192.168.10.7的IP消失,禁用网卡; b.修改广播地址……均无效

后来,想到192.168.10.7的IP是如何来的呢?===》 在openstack启动子网的时候,有个默认选项:启动DHCP!

3. 关闭openstack子网的DHCP

在网络--子网--选择VM的子网--编辑子网 -- 子网详情中,去勾选dhcp

再次重启网卡,查看IP地址,发现IP地址变了,在地址池范围内的IP地址出现~  恭喜恭喜啊~~

转载请注明原文地址: https://www.6miu.com/read-33542.html

最新回复(0)