What am I doing wrong with bind9?

Solution 1:

;; WARNING: recursion requested but not available is actually a good sign when running an authoritative server, it is not supposed to provide recursion.
Instead of changing anything on the server side, you can simply add +norec to the dig command line to not request recursion and the warning will go away.

For an authoritative server you also do not need forwarders. You may actually want to go one step further and specify recursion no to be really sure you do not accidentally provide recursion access.

Regarding the problem, where you get the message Failed to Modify Domain Nameservers: Nameserver not found at registry in your interactions with your registrar I would guess that this has to do with the specific process of changing nameservers with this registrar.
As your nameserver names are inside your own zone, you will need glue records. I'm guessing that adding the necessary information for these glue records may be a separate step that you need to complete first.

Your question also suggests that you are using the same IP address for "two" nameservers. This sounds like a way to trick the enforcement of what is actually very sound policy of having some redundancy in place.


Finally, I will note that if you do not know how to run a nameserver and your end goal is something else altogether (running some other services), you are very likely better off using some established and properly managed dns hosting solution rather than setting up your own infrastructure for this.