M
Michael Jones
I'm trying to use the DnsModifyRecordsInSet API to add (and update) A
records in a Windows 2000 DNS Server. So far, all I can get out of it
is an error return (9002: DNS_ERROR_RCODE_SERVER_FAILURE). I have seen
many other postings asking this same question, but no resolution.
I tried building the sample in the SDK
(Samples\netds\DNS\ModifyRecords), but it returns the same error. Just
to simplify things, I'm running this on the DNS server machine itself,
logged in as Administrator.
If I add the record manually, I can query it just fine (did this using
the other sample, DNSQuery). I also installed dnscmd; it does seem to
be able to add records.
I installed Ethereal so see what the network traffic was; all I see is a
query for the SOA, and the response. I enabled all logging in the DNS
Server, and it shows the same thing (log is below).
I've been through the DNS server configuration, and it all seems OK. I
have enabled DNS Updates. This DNS server is not active directory
integrated (it's a standard primary zone). I am at a complete loss as
to what to try next; any suggestions?
TIA,
--mkj
_______________________________________________
//
// Michael K. Jones
// Stone Hill Consulting, LLC
// http://www.stonehill.com
//_______________________________________________
Contents of DNS.LOG following one attempted add:
------------------------------------------------
DNS Server boot at 12/12/2006.
43 seconds since system boot.
Message logging key:
Field # Information Values
------- ----------- ------
1 Send\Receive
2 Protocol T == TCP message
empty == UDP
3 Remote IP
4 Xid (hex)
5 Query\Response R == Response
empty == Query
6 Opcode Q == Standard Query
N == Notify
U == Update
? == Unknown
7 [Flags (hex)
8 Flags (char codes) A == Authoritative Answer
T == Truncated Response
D == Recursion Desired
R == Recursion Available
9 ResponseCode]
10 Question Name
The DNS server has started.
Rcv 192.168.1.20 fee6 Q [0001 D NOERROR] (3)def(0)
UDP question info at 0047E38C
Socket = 324
Remote addr 192.168.1.20, port 1062
Time Query=825, Queued=0, Expire=0
Buf length = 0x0200 (512)
Msg length = 0x0015 (21)
Message:
XID 0xfee6
Flags 0x0100
QR 0 (question)
OPCODE 0 (QUERY)
AA 0
TC 0
RD 1
RA 0
Z 0
RCODE 0 (NOERROR)
QCOUNT 0x1
ACOUNT 0x0
NSCOUNT 0x0
ARCOUNT 0x0
Offset = 0x000c, RR count = 0
Name "(3)def(0)"
QTYPE SOA (6)
QCLASS 1
ANSWER SECTION:
AUTHORITY SECTION:
ADDITIONAL SECTION:
Snd 192.168.1.20 fee6 R Q [8385 A DR NXDOMAIN] (3)def(0)
UDP response info at 0047E38C
Socket = 324
Remote addr 192.168.1.20, port 1062
Time Query=825, Queued=0, Expire=0
Buf length = 0x0200 (512)
Msg length = 0x005a (90)
Message:
XID 0xfee6
Flags 0x8583
QR 1 (response)
OPCODE 0 (QUERY)
AA 1
TC 0
RD 1
RA 1
Z 0
RCODE 3 (NXDOMAIN)
QCOUNT 0x1
ACOUNT 0x0
NSCOUNT 0x1
ARCOUNT 0x1
Offset = 0x000c, RR count = 0
Name "(3)def(0)"
QTYPE SOA (6)
QCLASS 1
ANSWER SECTION:
AUTHORITY SECTION:
Offset = 0x0015, RR count = 0
Name "(0)"
TYPE SOA (6)
CLASS 1
TTL 3600
DLEN 42
DATA
PrimaryServer: (7)vm2ksrv(5)local(0)
Administrator: (5)admin(0)
SerialNo = 9
Refresh = 900
Retry = 600
Expire = 86400
MinimumTTL = 3600
ADDITIONAL SECTION:
Offset = 0x004a, RR count = 0
Name "[C020](7)vm2ksrv(5)local(0)"
TYPE A (1)
CLASS 1
TTL 3600
DLEN 4
DATA 192.168.1.20
records in a Windows 2000 DNS Server. So far, all I can get out of it
is an error return (9002: DNS_ERROR_RCODE_SERVER_FAILURE). I have seen
many other postings asking this same question, but no resolution.
I tried building the sample in the SDK
(Samples\netds\DNS\ModifyRecords), but it returns the same error. Just
to simplify things, I'm running this on the DNS server machine itself,
logged in as Administrator.
If I add the record manually, I can query it just fine (did this using
the other sample, DNSQuery). I also installed dnscmd; it does seem to
be able to add records.
I installed Ethereal so see what the network traffic was; all I see is a
query for the SOA, and the response. I enabled all logging in the DNS
Server, and it shows the same thing (log is below).
I've been through the DNS server configuration, and it all seems OK. I
have enabled DNS Updates. This DNS server is not active directory
integrated (it's a standard primary zone). I am at a complete loss as
to what to try next; any suggestions?
TIA,
--mkj
_______________________________________________
//
// Michael K. Jones
// Stone Hill Consulting, LLC
// http://www.stonehill.com
//_______________________________________________
Contents of DNS.LOG following one attempted add:
------------------------------------------------
DNS Server boot at 12/12/2006.
43 seconds since system boot.
Message logging key:
Field # Information Values
------- ----------- ------
1 Send\Receive
2 Protocol T == TCP message
empty == UDP
3 Remote IP
4 Xid (hex)
5 Query\Response R == Response
empty == Query
6 Opcode Q == Standard Query
N == Notify
U == Update
? == Unknown
7 [Flags (hex)
8 Flags (char codes) A == Authoritative Answer
T == Truncated Response
D == Recursion Desired
R == Recursion Available
9 ResponseCode]
10 Question Name
The DNS server has started.
Rcv 192.168.1.20 fee6 Q [0001 D NOERROR] (3)def(0)
UDP question info at 0047E38C
Socket = 324
Remote addr 192.168.1.20, port 1062
Time Query=825, Queued=0, Expire=0
Buf length = 0x0200 (512)
Msg length = 0x0015 (21)
Message:
XID 0xfee6
Flags 0x0100
QR 0 (question)
OPCODE 0 (QUERY)
AA 0
TC 0
RD 1
RA 0
Z 0
RCODE 0 (NOERROR)
QCOUNT 0x1
ACOUNT 0x0
NSCOUNT 0x0
ARCOUNT 0x0
Offset = 0x000c, RR count = 0
Name "(3)def(0)"
QTYPE SOA (6)
QCLASS 1
ANSWER SECTION:
AUTHORITY SECTION:
ADDITIONAL SECTION:
Snd 192.168.1.20 fee6 R Q [8385 A DR NXDOMAIN] (3)def(0)
UDP response info at 0047E38C
Socket = 324
Remote addr 192.168.1.20, port 1062
Time Query=825, Queued=0, Expire=0
Buf length = 0x0200 (512)
Msg length = 0x005a (90)
Message:
XID 0xfee6
Flags 0x8583
QR 1 (response)
OPCODE 0 (QUERY)
AA 1
TC 0
RD 1
RA 1
Z 0
RCODE 3 (NXDOMAIN)
QCOUNT 0x1
ACOUNT 0x0
NSCOUNT 0x1
ARCOUNT 0x1
Offset = 0x000c, RR count = 0
Name "(3)def(0)"
QTYPE SOA (6)
QCLASS 1
ANSWER SECTION:
AUTHORITY SECTION:
Offset = 0x0015, RR count = 0
Name "(0)"
TYPE SOA (6)
CLASS 1
TTL 3600
DLEN 42
DATA
PrimaryServer: (7)vm2ksrv(5)local(0)
Administrator: (5)admin(0)
SerialNo = 9
Refresh = 900
Retry = 600
Expire = 86400
MinimumTTL = 3600
ADDITIONAL SECTION:
Offset = 0x004a, RR count = 0
Name "[C020](7)vm2ksrv(5)local(0)"
TYPE A (1)
CLASS 1
TTL 3600
DLEN 4
DATA 192.168.1.20