I'm changing from a hosting company that I've used for the past several
years. They used to handle the DNS on my co-located machine. Now I'm
trying to set it up to handle it myself, and I'm having a few problems:

First, I'd like for NS1 and NS2 to handle DNS requests. For some reason,
when I dig with the following configuration, I get a "Couldn't find server
'ns1.progressivetrail.org': Name or service not known" error. This will
resolve properly if I dig @jefferson.progressivetrail.org, but not
@ns1.progressivetrail.org.

Second, the following configuration will resolve
scoobydoo.progressivetrail.org, but not the TLD progressivetrail.org.

Third, what is the purpose of the Serial line?

What changes should I make to this configuration to get things working
properly to set this up as a master for this zone?

$TTL 3D
@ IN SOA ns1.progressivetrail.org.
ns2.progressivetrail.org. (
200211152 ; serial#
3600 ; refresh, seconds
3600 ; retry, seconds
3600 ; expire, seconds
3600 ) ; minimum, seconds

NS ns1 ; Inet Address of nameserver
progressivetrail.org. MX 10 mail ; Primary Mail Exchanger
;
localhost A 127.0.0.1
jefferson A 67.19.14.187
ns2 A 67.19.14.188
mail CNAME jefferson
ns1 CNAME jefferson
www CNAME jefferson
* CNAME jefferson

Thx, Salvador