I have publicly accessible server "abc.example.com" that is physically located in my network. How to add it to my Windows Server 2012-based DNS server to resolve this server for the computers in my network locally?
In other words, if I ping abc.example.com it should be 192.168.0.X, not public address.
I added Forward Lookup Zone example.com and added A record abc. But it doesn't work for some reason. Computers in my network (domain example.local) are pointed to my DNS server only. I tried to add abc.example.com to HOSTS. It works but It's not a solution. Please help.
Generally: You do not. You would use a separate domain internally to avoid possible issues like that. What you call for is a split dns setup and those are tendiously to maintain because they are not properly debuggable from everywhere. For example in case of external DNS issues you would have to find an external site to debug them.
Best practices is to run separate domains - for example rename your internal network to local.example.com and thus the machine internally is abc.local.example.com