I know my question may be a big ambiguous, but I'll strive to explain in the description.
The scenario is this. I have three nameservers, which are Debian VPSes which just run bind9 on a Debian 6 32 bit minimal system. These provide DNS service for 6 different sites.
I have set the following A entries for my main domain, whose name provides the FQDN for all three nameservers:
ns1.mydomain.com -> A -> IP of ns1 server
ns2.mydomain.com -> A -> IP of ns2 server
ns3.mydomain.com -> A -> IP of ns3 server
The DNS entries for mydomain.com have so far been set on a third party server, dnsever.com. Having my own nameservers, I'd like to drop dnsever and use these three servers to provide DNS for my primary domain too, if it's possible.
However, when I setup nameserver entries on my domain registrar, for my primary domain (whose name qualifies the nameservers), it asks for FQDNs for the nameservers from which it determines their IP addresses, and I'm sure that setting ns1.mydomain.com, ns2.mydomain.com there is wrong, since before making ns1.mydomain.com resolve to the IP of the nameserver, I cant use the DNS name. It seems sort of a chicken and egg situation here, unless I'm totally missing the point.
Without using a third party DNS service, how can I use my own three servers to provide independent service to resolve even the FQDNs of themselves?
Typically your registrar will be willing to provide the necessary glue records for your nameservers. Some will provide an interface for this; for others, you may have to email their support. They should be able to provide A and AAAA records for your nameservers on your request.
These records will be carried by the TLD root servers alongside the NS record for your domain, so that recursive queries are possible.