My hosting provider won’t support certain DNS records (SPF, long CNAMEs, etc), but I refuse to switch providers.
I have my own local DNS with a forward zone for my domain, and I’d like to use my local server for SPF, while keeping my provider’s DNS for other basic records.
I’m using 1and1 as my registrar/DNS provider. I am running Windows Server 2003 Enterprise Edition locally, with the proper server/network configuration for DNS.
Any given zone as defined in DNS can only have one authoritative source of information. You can’t have the MX records for a zone hosted on one server and the TXT records (which is what SPF uses) on another server. You can delegate sub-domains to another server (you could tell the main server to delegate the ‘www’ sub-domain out to another DNS server, but you can’t split up records for the root between servers). Essentially, what you want to do isn’t possible.
If you want to keep your hosting with 1&1, there’s no technical reason you can’t use 3rd-party DNS provider like DtDNS.com (which I operate), DynDNS.com, EditDNS.net, etc., or your own DNS server. Just replicate your DNS records at another provider, re-delegate your domain at your registrar, and you can manage the DNS however you like. It doesn’t have to be tied to the hosting provider. Just point the appropriate A records to your IP address with the hosting provider and it will work just fine.