This assumes that you have already configured working IPv6 as described in ipv6.essentials.

It is still a work in progress and may not be completely correct!

This guide uses DNSMasq as a DNS forwarder and RADVD to propagate DNS resolvers to the local network. More information on the configuration on dnsmasq can be found in a how-to and the documentation of /etc/config/dhcp which covers dnsmasq as well as dhcp.

Add the localhost address to /etc/hosts:

::1 localhost localhost6

Configure /etc/resolv.conf (while DNSMasq is stopped):

nameserver ::1

Remember to check that /etc/resolv.conf is indeed a proper file and not a symbolic link to an auto-generated file, e.g. /tmp/resolv.conf.auto.

Depending on the connection used, several options for DNS exists.

See this to configure DNS servers statically if your provider has IPv6 DNS servers.

OpenDNS provides publicly available IPv6 DNS servers for use by everybody. More information can be found at http://www.opendns.com/about/innovations/ipv6/.

Add DNS Servers to forward to (using GUI or CLI) /etc/config/dhcp:

config 'dnsmasq'
         list 'server' '2620:0:ccc::2'    # OpenDNS
         list 'server' '2620:0:ccd::2'    # OpenDNS 

If a SixXS tunnel is used to gain IPv6 connectivity, the SixXS DNS servers are also available, see http://www.sixxs.net/tools/dnscache/ for more details. Depending on the region, the following servers are reachable from within the SixXS address space:

nscache.eu.sixxs.net for Europe
nscache.us.sixxs.net for the United States
nscache.ap.sixxs.net for the Asia Pacific area

In order to get the actual IP addresses one can do a lookup using the commanddig. (See below for details on how to get it for OpenWrt).

However, the approach desribed above results in a catch-22 with SixXS IPv6 tunnels as AICCU needs to resolve tic.sixxs.net in order to establish the IPv6 tunnel which is necessary for the SixXS DNS server to work. A workaround is to fall back to IPv4 DNS servers during the establishment of the SixXS IPv6 tunnel and then reengage the IPv6 serves once the tunnel is up.

In order to do this, configure /etc/config/dhcp as follows:

config 'dnsmasq'
         option resolvfile  '/etc/resolv.conf'
         option strictorder 1

It is not necessary to set any option server settings as all information is contained in the resolve file.

Alter /etc/resolv.conf to contain the SixXS DNS servers for your region as well as some other IPv4 DNS servers below that (the example uses the US SixXS servers and IPv4 OpenDNS):

nameserver ::1
nameserver 2001:4de0:1000:a3::2
nameserver 2001:4de0:1000:a4::2

Using ''dig'' to get the DNS IPs

NOTE: The addresses given above for the SixXS DNS servers were checked on 3/25/2012 and might change. If in doubt, check with the command dig, which is part of the bind-dig packages for OpenWrt. See the following commands to install it on OpenWrt are but running it on any other box that already provides the command also works.

opkg update
opkg install bind-dig
# dig @nscache.us.sixxs.net AAAA nscache.us.sixxs.net
; <<>> DiG 9.9.0 <<>> @nscache.us.sixxs.net AAAA nscache.us.sixxs.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13041
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;nscache.us.sixxs.net.          IN      AAAA

nscache.us.sixxs.net.   3600    IN      AAAA    2001:4de0:1000:a3::2
nscache.us.sixxs.net.   3600    IN      AAAA    2001:4de0:1000:a4::2

;; Query time: 1274 msec
;; SERVER: 2001:4de0:1000:a4::2#53(2001:4de0:1000:a4::2)
;; WHEN: Sun Mar 25 17:57:48 2012
;; MSG SIZE  rcvd: 94

This uses RADVD to propagate DNS to the LAN

Enable RDNSS on the LAN interface to propagate the IPv6 address of the (local) DNS server using the GUI or CLI:

# /etc/config/radvd
config 'rdnss'                    
        option 'interface' 'lan'  
        list 'addr' '2001:123:456:789::1'          
        option 'ignore' '0'

Enable DNSSL on the LAN interface to propagate the search suffix for the LAN (in this case lan e.g. host1.lan) using the GUI or CLI:

# /etc/config/radvd
config 'dnssl'                  
        option 'interface' 'lan'
        option 'ignore' '0'     
        list 'suffix' 'lan'

If you use DNS for servers on the LAN (for example, ntp.lan for a local ntp server, gw.lan for the gateway) then you need to configure DNSMasq to return IPv6 addresses for them too. This can be done using the GUI or CLI.

Currently, this seems to work if you create additional Hostname entries with an IPv6 address instead of an IPv4 address.

# /etc/config/dhcp
config 'domain'
        option 'name' 'ntp'
        option 'ip' ''
config 'domain'
        option 'name' 'ntp'
        option 'ip' '2001:123:456:789::1'

It may be possible to assign one entry with two IP addresses but I think this would break the GUI. Two separate definitions seems to work fine.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2019/09/15 02:41
  • by vgaetera