SV_RFC1034_5_2_2_mutiple_aliases - Multiple levels of aliases should be avoided, but should not be signaled as an error
Verify that a NUT does not signal as an error when defined multiple levels of aliases.
- Several special conditions can occur with aliases. Multiple levels of
- aliases should be avoided due to their lack of efficiency, but should
- not be signalled as an error.
Authoritative Server
SV_RFC1034_5_2_2_mutiple_aliases.seq [-tooloption ...]: KOI tool option
See also DNSConfig.pm
- Network Topology
AP Server1 (TN)
|3ffe:501:ffff:101::10,11
|192.168.1.10.11
|
Net-y --+--------+-------------------------- 3ffe:501:ffff:101::/64
| 192.168.1/24
|
|
Router (TN)
|3ffe:501:ffff:100::1
|192.168.0.1
|
|
Net-z --+--------+-----------------+-------- 3ffe:501:ffff:100::/64
| | 192.168.0/24
| |
DNS Server1 (NUT) DNS Client1 (TN)
3ffe:501:ffff:100::XXXX 3ffe:501:ffff:100::20
192.168.0.10 192.168.0.20
XXXX: EUI64
- Setup
- Set the DNS Server1's (NUT) address as above mentioned Network Topology.
- Configure the Server1's (NUT) zone file to response query from TN.
- Example of example.com zone file:
$TTL 86400 ; TTL of 1 day
@ IN SOA NS1.example.com. root.example.com. (
2005081600 ; serial
3600 ; refresh every 1 hr
900 ; retry every 15 min
604800 ; expire after a week
3600 ; Minimum TTL of a 1 hr
)
;
IN NS NS1.example.com.
NS1 IN A 192.168.0.10
A IN A 192.168.0.10
;
B IN CNAME C.example.com.
C IN CNAME A.example.com.
This test sequence is following.
DNS Client1 (TN) DNS Server1 (NUT)
| |
|------------------------------------->|
| 1. Send standard query |
| QNAME=B.example.com |
| QTYPE=CNAME |
| |
|<-------------------------------------|
| 2. Standard query response |
| QNAME=B.example.com |
| QTYPE=CNAME |
| ANSWER Name=B.example.com |
| ANSWER Type=CNAME |
| ANSWER CNAME=C.example.com |
| *at lease include this Answer section|
|------------------------------------->|
| 3. Send standard query |
| QNAME=C.example.com |
| QTYPE=CNAME |
| |
|<-------------------------------------|
| 4. Standard query response |
| QNAME=C.example.com |
| QTYPE=CNAME |
| ANSWER Name=C.example.com |
| ANSWER Type=CNAME |
| ANSWER CNAME=A.example.com |
| |
| |
v v
1. TN send standard query QNAME=B.example.com, QTYPE=A to NUT.
2. NUT reply query response including CNAME=C.example.com to TN (Judgment *2)
3. TN send standard query QNAME=C.example.com, QTYPE=A to NUT.
4. NUT reply query response including CNAME=A.example.com to TN (Judgment *4)
- Packet Description
- 1st packet.
|
Standard query from DNS Client1 (TN) to Server1 (NUT)
|
| IP Header |
Source Address |
CL1_NETZ |
| Destination Address |
NUT_NETZ |
| UDP Header |
Src Port |
2000 |
| Dst Port |
53 |
| DNS Header |
ID |
0x1000 |
| QR |
0 |
| OPCODE |
0 |
| AA |
0 |
| TC |
0 |
| RD |
1 |
| RA |
0 |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
0 |
| ARCOUNT |
0 |
| DNS Question section |
QNAME |
B.example.com |
| QTYPE |
CNAME (0x0005) |
| QCLASS |
IN (0x0001) |
- 2nd packet.
|
Standard query response from DNS Server1 (NUT) to Client1 (TN)
|
| IP Header |
Source Address |
NUT_NETZ |
| Destination Address |
CL1_NETZ |
| UDP Header |
Src Port |
53 |
| Dst Port |
2000 |
| DNS Header |
ID |
0x1000 |
| QR |
1 |
| OPCODE |
0 |
| AA |
ANY |
| TC |
0 |
| RD |
1 |
| RA |
ANY |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
1 |
| NSCOUNT |
1 |
| ARCOUNT |
1 |
| DNS Question section |
QNAME |
B.example.com |
| QTYPE |
CNAME (0x0005) |
| QCLASS |
IN (0x0001) |
| DNS Answer section |
NAME |
B.example.com (Pointer 0xC00C) |
| TYPE |
CNAME (0x0005) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| CNAME |
C.example.com (C + Pointer 0xC00E) |
| DNS Authority section |
NAME |
example.com (Pointer 0xC00E) |
| TYPE |
NS (0x0002) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
6 |
| NSDNAME |
NS1.example.com (NS1 + Pointer 0xC00E) |
| DNS Additional section |
NAME |
NS1.example.com (Pointer 0xC03B) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.0.10 |
- 3rd packet.
|
Standard query from DNS Client1 (TN) to Server1 (NUT)
|
| IP Header |
Source Address |
CL1_NETZ |
| Destination Address |
NUT_NETZ |
| UDP Header |
Src Port |
2000 |
| Dst Port |
53 |
| DNS Header |
ID |
0x1001 |
| QR |
0 |
| OPCODE |
0 |
| AA |
0 |
| TC |
0 |
| RD |
1 |
| RA |
0 |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
0 |
| NSCOUNT |
0 |
| ARCOUNT |
0 |
| DNS Question section |
QNAME |
C.example.com |
| QTYPE |
CNAME (0x0005) |
| QCLASS |
IN (0x0001) |
- 4th packet.
|
Standard query response from DNS Server1 (NUT) to Client1 (TN)
|
| IP Header |
Source Address |
NUT_NETZ |
| Destination Address |
CL1_NETZ |
| UDP Header |
Src Port |
53 |
| Dst Port |
2000 |
| DNS Header |
ID |
0x1001 |
| QR |
1 |
| OPCODE |
0 |
| AA |
ANY |
| TC |
0 |
| RD |
1 |
| RA |
ANY |
| Z |
0 |
| RCODE |
0 |
| QDCOUNT |
1 |
| ANCOUNT |
1 |
| NSCOUNT |
1 |
| ARCOUNT |
1 |
| DNS Question section |
QNAME |
C.example.com |
| QTYPE |
CNAME (0x0005) |
| QCLASS |
IN (0x0001) |
| DNS Answer section |
NAME |
C.example.com (Pointer 0xC00C) |
| TYPE |
CNAME (0x0005) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| CNAME |
A.example.com (A + Pointer 0xC00E) |
| DNS Authority section |
NAME |
example.com (Pointer 0xC00E) |
| TYPE |
NS (0x0002) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
6 |
| NSDNAME |
NS1.example.com (NS1 + Pointer 0xC00E) |
| DNS Additional section |
NAME |
NS1.example.com (Pointer 0xC03B) |
TYPE
|
A (0x0001) |
| CLASS |
IN (0x0001) |
| TTL |
1 day (86400) |
| RDLENGTH |
4 |
| ADDRESS |
192.168.0.10 |
- Exp.
| NUT_NETZ |
DNS Server1's (NUT) Net-z address |
| CL1_NETZ |
DNS Client1's (TN) Net-z address |
2. Received standard query response including CNAME for B.example.com.
4. Received standard query response including CNAME for C.example.com.
None
RFC1034 DOMAIN NAMES - CONCEPTS AND FACILITIES
5.2.2. Aliases