This problem has to be solved in your Windows DNS client. Ping, as well as most other Windows software, uses its various methods of name resolution (dns, wins, Netbios) and cache. Nslookup bypasses it, and simply interprets the response of one chosen DNS server.
To resolve the problem, go to your network adapter → TCP/IP → Advanced - DNS → Append these suffixes… And enter “.” for no suffix as the only entry in the list. Alternatively, you can have a domain zone such as “.local” as the suffix on all your hosts, and then simply enter dreambox.local in Mikrotik DNS.
When I was on Windows XP, I also had to completely uninstall IPv6, to get local name working. Because IPv6 added some IPv6 DNS servers, which bypassed the chosen local DNS server on Mikrotik.
I would start with using Winbox / Tools / Packet Sniffer configured to filter destination port 53 to see if DNS requests are made, to what destination, and also what is the content of the packets (if the names contain any suffix). Before every repeated lookup with ping, I’d use ipconfig /flushdns . If DNS requests are not made, Windows has to be convinced to do so, or if there is a suffix, that has to be appended to the static entries (or added as duplicates).
See if you have only one DNS server configured in Windows (the mikrotik), especially if you have any funny looking IPv6 “servers”, because sometimes Windows will query those secondary servers for local names, which obviously fails.
They get removed if IPv6 is uninstalled, which restored my ability to look up local, unqualified names. Maybe there is a way to remove them in console without removing IPv6 support.
Hi, I had same problem as you described. I simply solved it by adding an WAN interface to src-nat (see picture). My Windows Home Server apps in tray (dependant on local DNS) started working immediately.
local network DNS resolution problem.PNG
PS: IPv6 is disabled on all computers and server.