Bind – IPv6 PTR delegation

Network : 2001:db8::/32

We will delegate 2001:db8:1::/48 to another NS :

$TTL    86400

@       IN      SOA (

1      ; Serial

28800   ; Refresh every 8 hours

7200      ; Retry after 2 hour

604800    ; Expire after 7 days

86400     ; Default ttl is 1 day



@                       IN      NS   ; SOA for 2001:db8::/32

$ORIGIN   IN      NS            ; SOA delegate for 2001:db8:1::/48

How to calculate your IPv6 subnet with sipcalc

Tools to manipulate IPv6 addresses : sipcalc

Install in debian 7.x :

apt-get install sipcalc

Usage :

sipcalc -h

sipcalc 1.1.5

Usage: sipcalc [OPTIONS]... <[ADDRESS]... [INTERFACE]... | [-]>

Global options:

-a, --all All possible information.

-d, --resolve Enable name resolution.

-h, --help Display this help.

-I, --addr-int=INT Added an interface.

-n, --subnets=NUM Display NUM extra subnets (starting from

the current subnet). Will display all subnets

in the current /24 if NUM is 0.

-u, --split-verbose Verbose split.

-v, --version Version information.

-4, --addr-ipv4=ADDR Add an ipv4 address.

-6, --addr-ipv6=ADDR Add an ipv6 address.

IPv4 options:

-b, --cidr-bitmap CIDR bitmap.

-c, --classfull-addr Classfull address information.

-i, --cidr-addr CIDR address information. (default)

-s, --v4split=MASK Split the current network into subnets

of MASK size.

-w, --wildcard Display information for a wildcard

(inverse mask).

-x, --classfull-bitmap Classfull bitmap.

IPv6 options:

-e, --v4inv6 IPv4 compatible IPv6 information.

-r, --v6rev IPv6 reverse DNS output.

-S, --v6split=MASK Split the current network into subnets

of MASK size.

-t, --v6-standard Standard IPv6. (default)

Address must be in the "standard" dotted quad format.

Netmask can be given in three different ways:

- Number of bits    [/nn]

- Dotted quad       [nnn.nnn.nnn.nnn]

- Hex               [0xnnnnnnnn | nnnnnnnn]

Interface must be a valid network interface on the system.

If this options is used an attempt will be made to gain the address

and netmask from the specified interface.

Replacing address/interface with '-' will use stdin for reading further


Example :

#sipcalc 2001:db8::

-[ipv6 : 2001:db8::] - 0


Expanded Address - 2001:0db8:0000:0000:0000:0000:0000:0000

Compressed address - 2001:db8::

Subnet prefix (masked) - 2001:db8:0:0:0:0:0:0/128

Address ID (masked) - 0:0:0:0:0:0:0:0/128

Prefix address - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

Prefix length - 128

Address type - Aggregatable Global Unicast Addresses

Network range - 2001:0db8:0000:0000:0000:0000:0000:0000 -


Very nice for IPv6 reverse :

# sipcalc -r 2001:db8::1
-[ipv6 : 2001:db8::1] - 0

Reverse DNS (	-

Very useful if you want subnet for point-to-point subnet /126 :

#sipcalc -S 126 2001:db8:0:1::/64

-[ipv6 : 2001:db8:0:1::/64] - 0

[Split network]
Network                 - 2001:0db8:0000:0001:0000:0000:0000:0000 -
Network                 - 2001:0db8:0000:0001:0000:0000:0000:0004 -
Network                 - 2001:0db8:0000:0001:0000:0000:0000:0008 -
Network                 - 2001:0db8:0000:0001:0000:0000:0000:000c -
Network                 - 2001:0db8:0000:0001:0000:0000:0000:0010 -

Disable Ipv6 temporary on Windows

netsh interface ipv6 set privacy state=disabled store=active
netsh interface ipv6 set privacy state=disabled store=persistent
netsh interface ipv6 set global randomizeidentifiers=disabled store=active
netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent

Restart windows