openSuse 11.0 cant resolving hosts in .local domain

our internal network uses domain with .local suffix
when i try to ping host with .local suffix an error “host not found” appear.
i use tcpdump to analyze this problem.
It was found out that resolving hosts with .local always use multicast DNS and dont make request to DNS server.
Disabling avahi and remove mdns from nsswitch.conf take no effect. OpenSuse continue trying send mDNS requests.
So … does anyone know how to fix this problem? I think this is a bug in glibc libraries, maybe in libnss_dns-2.8.so

temporary fixed problem adding mdns off to /etc/host.conf

hrustov schrieb:
> when i try to ping host with .local suffix an error “host not found”
> appear.

> It was found out that resolving hosts with .local always use multicast
> DNS and dont make request to DNS server.

> So … does anyone know how to fix this problem?

The canonical fix is not to use the reserved “.local” TLD.

> I think this is a bug
> in glibc libraries, maybe in libnss_dns-2.8.so

The jury’s still out on the bug vs. feature decision for this one.

HTH
T.

RFC don’t reserve “.local” for TLD.
RFC 2606 - Reserved Top Level DNS Names

So … the jury’s still out on the bug decision :slight_smile:

Yea, the assumption that everyone uses multicasting for dns is quite stupid. As was posted, mdns off in /etc/host.conf will fix it. Multicasting is fine in some vlan’d corporate environments, but that’s it. I don’t know why they started doing this. This was in SLES10 as well. Sucked.

/etc/hosts.conf does not fix the problem.

I have a windows domain xxx.xxx.local

ping xxx.xxx.local gives no reply but dig and nslookup work fine.

Might sound silly but whats the search order in your resolv.conf file.

/etc/resolv.conf
search xxx.xxx.local
nameserver xxx.xxx.xxx.101

/etc/hosts.conf
mdns off

/etc/nsswitch

hosts: dns files

Basically. no matter what I try. I cannot turn off mdns either.
tcpdump show multi every time I try:

ping xxx.xxx.local

My mistake. I created a hosts.conf instead of adding to
host.conf

Thanks all.