You just set yourself as a name server, or find a place that does DNS hosting. If your server will be under to high of load already, get a dirty cheap little VPS, and set up a DNS server on there. It's not terribly hard.
Setting up a name server from scratch is not trivial. If you're going to be offering web hosting you really should have one though. There are too many variables and what ifs to get into without having more information. Name servers also have to be registered. They don't just magically start working.
Some registrars like GoDaddy offer it with their domains - I think GoDaddy's is called TotalDNS. Otherwise, there are DNS services for a cheap (although probably should be cheaper) monthly fee.
so i have a dedicated server from scratch do i buy a nameserver for that dedicated server or do i have to register one and use it?
The easiest way to do this is transfer your domain names to godaddy, Then you simply set your domain name to point to your server ip address in total dns control in godaddy Takes about 1 minute Can't help you with setting up one on your new server, because i opted for the easy option as described above
ok i just did that moments ago so my domain name is pointed at my ip addresses that my host gave me, now what? does that mean they are automatically my nameservers or do i have to add them to my server?
Next step is something like adding VirtualHost to the httpd.conf file.. Depending on how far your box is configured already at this point.. Do you have it LAMP enabled and all that good stuff at this point..
Next time when you're in a similar situation and you want to save money, you can get an account for (about) up to 20 domains on "zoneedit" or "easydns", they provide free DNS services to the public. You can also get some extra things like server monitoring and failover, and other services...