我最近使用ISC dhcpd 4设置了dynamicDNS并绑定了9.除了networking上less数几个不parsing的主机之外,一切正常。 经过调查,我发现他们已被dynamic添加到绑定区域文件,但他们的域名追加了主机名。
例如server1是好的,但server2不会解决:
$TTL 1800 ; 30 minutes server1 A 192.168.0.10 TXT "00ecbb5990a60bb0b138272611cae0f56d" server2.reh.favsys.net A 192.168.0.11 TXT "00ecbb5990a60bb0b138272611cae0f56d"
我检查了server2,看看有什么不同,我发现在/ etc / sysconfig / netowrk-scripts / ifcfg-eth0文件DHCP_HOSTNAME选项设置了一个fqdn:DHCP_HOSTNAME = server2.my.domain.net其中server1刚才主机名:DHCP_HOSTNAME = server1
对,所以我想我只需要find所有这个问题的服务器,并更改接口文件只包含主机名。
这很好,可以做到,但这是configuration接口文件的正确方法? 如果DHCP_HOSTNAME选项是一个非限定名称。
还是有一个设置,我可以打开DHCP服务器的configuration文件来阻止这种行为的发生。 如果有一种方法来configurationDHCP忽略域部分,如果客户端发送的主机名完全合格,我宁愿采取这种方法。
我目前的dhcpd.conf选项是:
include "/etc/rndc.key"; ddns-update-style interim; ddns-domainname "my.domain.net."; ddns-rev-domainname "in-addr.arpa."; ddns-updates on; ignore client-updates; option domain-search "my.domain.net"; default-lease-time 1800; max-lease-time 7200; log-facility local7; authoritative;
我也尝试configurationDHCP服务器,允许客户端更新,看看是否会有所作为。 然而,这只是导致在这样的区域文件中dynamic更新条目:
$ORIGIN my.domain.net. $TTL 1800 ; 30 minutes server1 A 192.168.0.10 TXT "009ddasdr32rfdsfksdfpdsadsad3343fcdsd" $ORIGIN my.domain.net.my.domain.net. server2 A 192.168.0.11 TXT "dasdasdsadasdsddvc0b1382726dsdadasdsd"
重复创build了一个新的域名,并且主机名仍然无法parsing。
我真的很感激任何指针正确的方式来configuration客户端上使用dhcp和绑定ddns感谢客户端名称。
编辑添加子网范围对不起,这里的范围省略是一个子网的例子选项域名是在范围内指定的
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.250; next-server 192.168.0.2; filename "/pxelinux.0"; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option domain-name-servers 192.168.0.3; option domain-name "my.domain.net"; }
ddns-domainname和ddns-rev-domainname选项是不必要的,因为你的风格是临时的(应该是这样)。
ignore client-updates应该忽略客户端认为他们的FQDN应该是什么。 你这样做是正确的。
很奇怪,您没有指定option domain-name "example.net" ,其中example.net是您的域名。 这可以是全局的,也可以是特定于范围的(由于某种原因,您已经省略了范围;这可能很重要)。
但是,我看到问题是它认为你的第二个服务器的DNS后缀是my.domain.net.my.domain.net. 。 它认为这是因为虽然它正确地忽略服务器对其后缀(或域名)的断言,但server2正在告诉DHCP服务器其主机名 (FQDN后缀将被添加到)是server2.my.domain.net 。 主机名不应该有任何. 在里面。 虽然dhcpd没有剥夺它或者拒绝它是很奇怪的,也许是一个错误的特性,但是server2configuration错误,这是唯一可以纠正的地方。
临时方法build立之前,对于静态租约,可以使用ddns-hostname选项来覆盖客户端的断言。 这不再可用。
即使是现在,对于从静态租约(大多数linux和其他东西,但不是Windows)中指定的DHCP服务器接受其主机名的客户端,您可以从DHCP服务器控制此行为。 不过,这听起来不像是描述你的环境。