Your DNS must be public, people must be able to contact it in order to resolve the name / IP. I really don't suggest you to use the same DNS for external and internal purpose... anyway, is up to you.
Now, if you have an A record (let's say mysite.mydomain.com), and you CANNOT reach it from INSIDE, first of all you must check if at least your DNS knows how to resolve it, in other words, if you ping mysite.mydomain.com, you should see the IP address of your website. If this is correct, the problem could be the routing.