本地短名主机名parsing:DNS / BIND与netbios与Windows

简单的问题:当DNS正确时,如何通过Windows的简短主机名ping通?

漫长的博览会:

等候接听

自从开始,我已经被指示去处理其他的事情,所以我还没有回到它。 感谢那些迄今为止已经答复的人 – 并且放心,我没有免费的build议,也没有留下感谢和确认。 我会尽快回复并报告哪个解决scheme(将有)工作。


我有一个Windows域(控制器:利奥)和一个新的RHEL7盒(花生)服务内部的DNS。 我需要通过ping主机名来访问Samba共享。

狮子座和山姆一直在这里,狮子座服务DNS。 花生是全新的。

192.168.0.2 - Leo - Windows, domain controller, DNS server 192.168.0.3 - Sam - smug DNS resolution test target 192.168.0.29 - Peanut, BIND 9.9.4-RedHat-9.9.4-14.el7 (ESV) 

第一个明显的解决scheme是将花生添加到Leo的DNS中; 这是有效的,但只能解决FQDN请求 – 没有简短的名字。

 C:\bin>nslookup peanut.internal.local 192.168.0.2 Server: peanut.internal.local Address: 192.168.0.29 Name: peanut.internal.local Address: 192.168.0.29 

我见过很多的NetBios引用,但没有人说这是个好主意。 无情我在smb.conf中configuration了netbios name 。 我应该提到我对NetBios一无所知。

我在花生上设置了DNS,认为Linux会给我更多的select和灵活性 – 它的确如此。 有一个人说,DNS 不能提供简短的名字 – 令人沮丧,但我find了一个办法来实现它。 当nslookup开始parsing短名称时,我认为我有这个节奏。

DHCP现在将花生作为主DNS和Leo作为辅助,我已经通过Windows上的ipconfig和Linux上的nmcli进行了validation。 在我从主机文件中删除Sam之前,我有过Linux故障排除的偏见。 Linux使用DNS完全如何我想这工作:

 # [09.32.04] ROOT@linnicks [etc] 18 grep peanut /etc/hosts :( [09.32.08] ROOT@linnicks [etc] 19 ping peanut PING peanut (192.168.0.29) 56(84) bytes of data. 64 bytes from peanut.internal.local (192.168.0.29): icmp_seq=1 ttl=64 time=0.182 ms 64 bytes from peanut.internal.local (192.168.0.29): icmp_seq=2 ttl=64 time=0.339 ms ^C --- peanut ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.182/0.260/0.339/0.080 ms # [09.32.12] ROOT@linnicks [etc] 20 

DNS正在工作,但Windoze客户仍然忽略它。 我可以nslookup任何主机没有指定服务器或FQDN。

 C:\bin>nslookup sam Server: peanut.internal.local Address: 192.168.0.29 Name: sam.internal.local Address: 192.168.0.3 C:\bin>nslookup peanut Server: peanut.internal.local Address: 192.168.0.29 Name: peanut Address: 192.168.0.29 

我可以ping山姆(永远在这里与利奥,DC / DNS),但我不能ping花生; 显然, ping不会以同样的方式find名称。 什么是帮助山姆和忽略花生?

 C:\bin>ping sam Pinging sam [192.168.0.3] with 32 bytes of data: Reply from 192.168.0.3: bytes=32 time<1ms TTL=128 Reply from 192.168.0.3: bytes=32 time<1ms TTL=128 Reply from 192.168.0.3: bytes=32 time<1ms TTL=128 Reply from 192.168.0.3: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.0.3: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms C:\bin>ping peanut Ping request could not find host peanut. Please check the name and try again. 

我可以做一个ADlogin脚本来复制\ sys32 \ drivers \ etc \ hosts,但这仍然让我手动更新/ etc / hosts在几个Mac和Linux机器上。 完成全球服务不需要手动SneakerNet bandaids – 但不知道我错过了什么。

我会欢迎任何想法。 我的额头正在撞击墙壁,我感到疼痛。

更新:检查域search后缀

Shane Madden和Derfk必须走在正确的轨道上,尽pipe我不确定我应该预计会有什么结果。 我更新了下面的DHCPconfiguration,但仍然没有看到我的WinBoxen。

 pool 192.168.0.0/24 { address-range low 192.168.0.51 high 192.168.0.150; name-server { 192.168.0.29; 192.168.0.2; 8.8.8.8; 8.8.4.4; } domain-search { internal.local; } wins-server { 192.168.0.2; } 

我希望这在ipconfig的输出显示为主dns后缀,但它并没有 – ping仍然失败。 我会继续挖掘,但感觉到欢迎来到…

您需要有一个configuration的DNSsearch后缀才能成功parsing短名称 – 这可以通过DHCP选项完成,由Windows域成员自动configuration,或在每个系统上手动configuration(不推荐)。

(注意 – 请不要使用NetBIOS名字parsing!这是不好的和旧的!)

DNS后缀search列表也可以在Active Directory组策略中指定:

计算机“>”模板“>”networking“>”DNS客户端“>”DNS后缀search列表“

这对于不使用DHCP的计算机尤其有用。

如果logging未在区域中注册,或者如果search列表中的区域过多,则可以使用“全局名称”区域作为选项。

部署GlobalNames区域
http://technet.microsoft.com/en-us/library/cc731744.aspx

这是一个猜测,但从看你的DHCPconfiguration,我猜测你有你的DC上安装的WINS服务器angular色( wins-server {192.168.0.2;} )。

“山姆”在WINS有logging,但“花生”不是? 如果是这样的话,我猜想你的短名称parsing一直使用WINS而不是DHCP。

您可以使用Microsoft的NBLookup工具(免费下载)来validation这一点;

http://support2.microsoft.com/default.aspx?scid=kb;en-us;830578

我强烈build议远离WINS,但希望这能解决您的短期问题。