linux – 通过DNS查找通过DHCP分配固定IP地址
前言
我正在使用Ubuntu 14.04和LXC构建虚拟化环境.我不想编写自己的模板,因为从12.04升级到14.04表明无法保证向后兼容性. 因此,我使用默认的Ubuntu模板通过lxc-create部署我的虚拟机.服务器的DNS由Amazon Route 53提供,因此不需要本地DNS服务器. 我还使用Puppet来配置我的服务器,因此我希望尽可能减少部署中的手动操作. 现在,默认的Ubuntu模板通过DHCP分配IP地址.因此,我需要一个本地DHCP服务器为节点分配IP地址,因此我可以通过SSH连接它们并让Puppet运行.由于Puppet需要正确的DNS设置,因此无法分配临时IP地址,客户端需要从一开始就获得正确的主机名和IP地址. 题 我使用什么DHCP服务器,如何通过对该主机名执行DNS查找,仅根据主机名DHCP选项分配IP地址? 我试过的 我尝试使用ISC DHCP服务器使其工作,但是,手册明确指出:
我还尝试创建一个匹配主机名的类,如下所示: class "my-client-name" { match if option host-name = "my-client-name"; fixed-address my-client-name.my-domain.com; } 不幸的是,类语句中不允许使用fixed-address选项.我可以将它替换为1个大小的池,它按预期工作: subnet 10.103.0.0 netmask 255.255.0.0 { option routers 10.103.1.1; class "my-client-name" { match if option host-name = "my-client-name"; } pool { allow members of "my-client-name"; range 10.103.1.2 10.103.1.2; } } 但是,这需要我在两个地方(Amazon Route53和DHCP服务器)管理IP地址,我不想这样做. 关于安全 由于这仅用于内部网络的自举阶段,然后被Puppet的静态网络配置所取代,从安全角度来看,这不应成为问题.但是,我知道虚拟机引导了“ubuntu:ubuntu”凭据,一旦运行,我打算修复它. 解决方法
希望您可以控制虚拟以太网接口的硬件MAC地址.
在那种情况下,我遇到了类似的问题,ISC绑定与我的配置工作同样不合作.我可靠地使用多年的最佳解决方案是编辑leases file,以便将所需的IP地址分配给相应的硬件MAC. 首先,您只需启动客户端来填充租约文件.然后停止客户端并绑定,然后编辑租约文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |