Hi,
To run your own dns you have to go back to whoever sold the domain (e.g. network solutions) and use their tools to set the IP addresses of the DNS server(s) for your domain. Obviously this would be set to your public IP address. Then, when a client is trying to resolve an address in your domain it does something equivalent to this :
$ dig redhat.com NS
.... and gets the IP address(es) of the dns servers. To do the actual resolution it would then do the equivalent of :
$ dig @66.187.233.210 hardware.redhat.com
In other words, using the dns IP address, it directly contacts the definitive dns server for that domain for resolution of a canonical name.
So, once you have your domain dns records pointed at your IP address all that remains is to configure Bind on your system. Basically, you end up editing (directly or via webmin) a 'zone' file for the domain in /var/named that looks vaguely like this
$TTL 86400
@ IN SOA zzzzzz.com. whoever.zzzzz.com. (
1 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)
@ IN NS ns1.zzzzzz.com.
;
;
zzzzzz.com. IN A 192.168.1.1
www IN A 192.168.1.1
IN A 192.168.1.1
ns1 IN A 192.168.1.1
test2 IN CNAME ns1
test99 IN CNAME ns1
The basic records to add are the 'A' addresses that map a canonical name to an IP address. The format on the left can be either a prefix that is added to the domain name, or a fully-qualified name if a period is added at the end. (For example, above 'www' means 'www' concatenated with 'zzzzzz.com.' , i.e.
)
You can test these locally by doing :
$ dig @localhost test99.zzzzzz.com
etc.
The above assumes you gave a static (fixed) public IP address. If not, you have to use DDNS which is a bit more complex as you have to 'post' changes in your IP address to the ddns server. See dns2go -->
Hope that helps to start with anyway.