Opened 9 years ago

Closed 6 years ago

#1073 closed defect (wontfix)

root_addresses settings doesn't work for resolver

Reported by: zhangcuiling Owned by:
Priority: low Milestone: DNS Outstanding Tasks
Component: resolver Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: Medium
Sub-Project: DNS Feature Depending on Ticket:
Estimated Difficulty: 0.0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

use bind10 updated at this point:
Date: Wed Jun 29 01:18:59 2011 +0000

what ip addresses are used by resolver?

output of bindctl:

> config show Resolver/listen_on
Resolver/listen_on[0]/address   "10.53.0.8"     string
Resolver/listen_on[0]/port      53      integer
> config set Resolver/root_addresses [{ "address": "10.53.0.1", "port": 53 }]             
> config commit

output of bind10

2011-06-29 16:41:29.896 INFO  [b10-resolver.resolver] RESOLVER_SET_ROOT_ADDRESS setting root address 10.53.0.1(53)

results of 'dig'

# dig +nocmd +nostat @10.53.0.8 example ns -b 127.0.0.1                   
;; QUESTION SECTION:
;example.                       IN      NS

;; AUTHORITY SECTION:
.                       86400   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2011062801 1800 900 604800 86400
# dig +nocmd +nostat @10.53.0.1 example ns -b 127.0.0.1                   
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40302
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;example.                       IN      NS

;; AUTHORITY SECTION:
example.                300     IN      NS      ns2.example.

;; ADDITIONAL SECTION:
ns2.example.            300     IN      A       10.53.0.2
# dig +nocmd +nostat @10.53.0.2 example ns -b 127.0.0.1                   
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56793
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;example.                       IN      NS

;; ANSWER SECTION:
example.                300     IN      NS      ns2.example.
example.                300     IN      NS      ns3.example.

;; ADDITIONAL SECTION:
ns2.example.            300     IN      A       10.53.0.2
ns3.example.            300     IN      A       10.53.0.3

Subtickets

Change History (5)

comment:1 Changed 9 years ago by shane

  • Defect Severity changed from N/A to Medium
  • Milestone changed from New Tasks to Year 3 Task Backlog

comment:2 Changed 8 years ago by jreed

This is the same as #1184. I will close that one. Here are its details:

Resolver/root_addresses has default of ::1 port 53.

But src/bin/resolver/main.cc has hard-coded l.root-server.net addresses (it used to use an f.root address hardcoded in asiolink).

It logs:

2011-08-17 06:17:57.903 WARN  [b10-resolver.resolver] RESOLVER_NO_ROOT_ADDRESS no root addresses available

Attempting to change it fails with:

> config show Resolver/root_addresses
Resolver/root_addresses []      list    (default)
> config add Resolver/root_addresses
> config show Resolver/root_addresses
Resolver/root_addresses[0]/address      "::1"   string  (default)
Resolver/root_addresses[0]/port 53      integer (default)
> config commit
Error: Address must contain both the IPaddress and port
Configuration not committed

Setting both will allow it to commit. (It will not commit with just setting the address.)

I restarted bind10 and it logged my new setting:

2011-08-17 06:28:07.947 INFO  [b10-resolver.resolver] RESOLVER_SET_ROOT_ADDRESS setting root address 192.5.5.241(53)

But tcpdump still shows it using the hardcoded entry. (In my several attempts, it always starts with the IPv4 address.)

So to fix this ticket I propose:

1) remove the hardcoded addresses from main.cc.

2) Put the addresses into resolver.spec.pre.in.

Note: Consider at this time to allow root_addresses to contain many addresses, so add all of them now.

(Maybe even add a unused "label" or "name" for each of them so they can be identified. But that doesn't matter to me.)

3) make resolver work for when the Resolver/root_addresses is changed, regardless if port is changed or not.

(I think only a single port is useful, so don't need to allow configurable port per address, but it is fine if we continue this way.)

4) make sure logging is correct. Probably the RESOLVER_NO_ROOT_ADDRESS will never be logged again after this is fixed.

comment:3 Changed 8 years ago by shane

  • Component changed from Unclassified to resolver
  • Milestone Year 3 Task Backlog deleted

comment:4 Changed 6 years ago by stephen

  • Milestone set to DNS Outstanding Tasks

comment:5 Changed 6 years ago by tomek

  • Resolution set to wontfix
  • Status changed from new to closed

DNS and BIND10 framework is outside of scope for Kea project.
The corresponding code has been removed from Kea git repository.
If you want to follow up on DNS or former BIND10 issues, see
http://bundy-dns.de project.

Closing ticket.

Note: See TracTickets for help on using tickets.