-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error updating DNS record: unexpected acceptor flag is not set: expecting a token from the acceptor, not in the initiator #160
Comments
Check to see if the record you're trying to make is already there, but a different type. I just got this error trying to make an A record, but forgot a long time ago I had made the same record as CNAME. Example: TF PLAN:
Record already exists: sam-test2.zone.local CNAME somethingelse.zone.local Errors out same as above. |
Hello SamKirsh, Thanks for your reply. I checked, and it doesn't exist in my DNS in any record type. |
I have the exact same issue. The only difference is that it actually creates the A record, but it errors out anyway. I checked the TRACE log and the message received from the DNS server has status NOERROR. These are my Terraform and provider versions:
PS.: I can actually import the record created and, after that, any apply works correctly; but then, when I try to destroy, it gives me the same error on the first try, but deletes both the resource from the state file and the record on the DNS Server. On the second try, it removes everything else. |
I am able to reproduce this on windows dns server. It appears to only happen on the first request to a zone. The request says it fails but the record is created. subsequent applies work fine. The relevant log shows the dns request returning a refused status
update: Appears to be thrown from https://github.com/jcmturner/gokrb5/blob/v8.4.2/gssapi/MICToken.go#L144 update2: i have narrowed it down to this line of code updating to match the ns1 fork parameters https://github.com/ns1/tsig/blob/master/gss/gokrb5.go#L150 resolves the issue. i really have no idea what the difference in parameters makes but it appears to be an issue that can only be addressed with the tsig package.
|
Ideally I/we need to have a .pcap to debug this. Please capture all UDP & TCP port 53 traffic, (whole packets, not truncated), for the whole Terraform run. An additional thought, does explicitly setting the transport to TCP help?:
|
Same error here, even with tcp |
For me, it was resolved after I implemented two things:
if both or one of these is not implemented I got the same error |
I'm not sure I understand the question. A windows DNS zone can be configured as requiring "secure only" updates which means every dynamic DNS update must be TSIG signed using GSS-TSIG, hence something like #30 was necessary. A zone can be configured as permitting a mix of both secure and insecure updates, (and possibly insecure only, I can't recall). Insecure simply means no TSIG signature required so an unauthenticated user can send an update for potentially any record/type, modulo the restrictions Windows places on dynamic DNS updates in general. No Windows administrator worth their salt is going to permit insecure updates outside of a toy environment. |
I think I understand now. GSSAPI is what allows you to connect to a Secure Windows DNS. The DNS provider can update a nonsecure Windows DNS without the additional GSSAPI parameters. |
GSSAPI is more widely used than just Windows DNS (the G stands for Generic), it's used by lots of services for authentication, usually if Kerberos is involved somehow (including the embraced-and-extended version Windows uses). You can configure BIND to also use this method, the test suite for this provider does exactly that for testing purposes. |
Thanks bodgit. I appreciate the additional details around GSSAPI. Regarding this open issue around Windows AD DNS, I think the behavior is as expected and can be closed. |
I test that and I confirm It works fine Thanks |
Did you mean 'Create all child objects' permission on the DNS zone? |
I set dynamic updates to "secured only" to the hosted zone and it works for me |
What type of record are you creating? A or CNAME? Thanks |
hey @mateuszdrab , |
Thanks a lot, that was it. I missed that parameter as I was mostly looking in the faq document and didn't realise Windows DNS would not allow same name cname and txt record. I thought it was just A or CNAME. |
I'm creating A record, didn't try with CNAME. |
Thanks, I resolved the issue now thanks to the hint from @vavdoshka It was due to the fact the TXT and CNAME can't have the same name so the txt record name is prefixed now with an underscore and all is well. |
Yes, generally you cannot mix a CNAME record with any other record type for a given node:
|
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Hello,
I'm trying to create an A record into DNS Windows Server. I'm trying to use it with gssapi because I already use kinit to get authenticate with kerberos ticket. But once I apply my terraform I got the following error :
Did someone have the same issue ? I don't really understand what the error message explain to be honnest.
Terraform Version
Affected Resource(s)
Terraform Configuration Files
Expected Behavior
Create the A record
Actual Behavior
Error when creating the A record
Steps to Reproduce
terraform apply
Important Factoids
My Kerberos ticket is valid, as I use it for over things.
My computer is not part of the Windows Active Directory.
Here is my krk5.conf :
References
This issue look similar, but they said that A record are OK for them:
The text was updated successfully, but these errors were encountered: