Subscriber Access Ipv4 Ipv6 Dual Stack
Subscriber Access Ipv4 Ipv6 Dual Stack
Subscriber Access Ipv4 Ipv6 Dual Stack
Release
11.4
Published: 2012-05-03
This product includes memory allocation software developed by Mark Moraes, copyright 1988, 1989, 1993, University of Toronto.
This product includes FreeBSD software developed by the University of California, Berkeley, and its contributors. All of the documentation
and software included in the 4.4BSD and 4.4BSD-Lite Releases is copyrighted by the Regents of the University of California. Copyright
1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994. The Regents of the University of California. All rights reserved.
GateD software copyright 1995, the Regents of the University. All rights reserved. Gate Daemon was originated and developed through
release 3.0 by Cornell University and its collaborators. Gated is based on Kirtons EGP, UC Berkeleys routing daemon (routed), and DCNs
HELLO routing protocol. Development of Gated has been supported in part by the National Science Foundation. Portions of the GateD
software copyright 1988, Regents of the University of California. All rights reserved. Portions of the GateD software copyright 1991, D.
L. S. Associates.
This product includes software developed by Maker Communications, Inc., copyright 1996, 1997, Maker Communications, Inc.
Juniper Networks, Junos, Steel-Belted Radius, NetScreen, and ScreenOS are registered trademarks of Juniper Networks, Inc. in the United
States and other countries. The Juniper Networks Logo, the Junos logo, and JunosE are trademarks of Juniper Networks, Inc. All other
trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify,
transfer, or otherwise revise this publication without notice.
Products made or sold by Juniper Networks or components thereof might be covered by one or more of the following patents that are
owned by or licensed to Juniper Networks: U.S. Patent Nos. 5,473,599, 5,905,725, 5,909,440, 6,192,051, 6,333,650, 6,359,479, 6,406,312,
6,429,706, 6,459,579, 6,493,347, 6,538,518, 6,538,899, 6,552,918, 6,567,902, 6,578,186, and 6,590,785.
Junos OS Designing an IPv6 Architecture and Implementing IPv4 and IPv6 Dual Stack for Subscriber Access Networks
Release 11.4
Copyright 2012, Juniper Networks, Inc.
All rights reserved.
Revision History
May 2012R2 Junos OS 11.4
The information in this document is current as of the date on the title page.
The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networks
software. Use of such software is subject to the terms and conditions of the End User License Agreement (EULA) posted at
http://www.juniper.net/support/eula.html. By downloading, installing or using such software, you agree to the terms and conditions
of that EULA.
This guide is intended to assist service providers to design and plan an IPv6
implementation for their subscriber access networks, and then to use the dual-stack
feature to deploy IPv6 alongside IPv4 in their networks. We intend the guide to be used
by the following:
As a service provider, you can use the Junos OS IPv4/IPv6 dual-stack feature to begin
your migration from IPv4 to IPv6 by implementing IPv6 alongside IPv4 in your existing
subscriber networks. The feature allows you to implement IPv6 so that you can provide
the same subscriber services over IPv6video, voice, high-quality datathat you currently
provide in your IPv4 networks. You can then perform incremental upgrades to IPv6 and
avoid service disruptions while migrating from IPv4 to IPv6.
Figure 1 on page 4 shows the components of a basic subscriber access network in which
the subscriber LAN is running both IPv4 and IPv6 and is connected to the IPv4 and IPv6
core using a broadband network gateway (BNG) configured for dual stack. Using IPv4/IPv6
dual stack, the BNG can provide both IPv4 and IPv6 services over the access network to
the subscriber LAN. A single interface can operate simultaneously in IPv4 and IPv6 modes.
IPv6
IPv4 Core
Broadband
CPE Ethernet Access Network Network
IPv4 Gateway
IPv6 Core
g017540
Terms Used in IPv4/IPv6 Dual-Stack Documentation
Access network Network that connects the subscriber premises directly to the subscribers service provider.
BNG Broadband network gateway. An IP edge router in which bandwidth and QoS policies may be
applied. The BNG may encompass any or all of the functionality of B-RAS.
CPE Customer premises equipment on the subscriber network that connects the subscriber network
to the BNG.
Delegated addressing Method of address assignment in which a host uses IPv6 prefixes to delegate IPv6 global
addresses. In a dual-stack network, the CPE uses IPv6 prefixes that it receives to delegate global
IPv6 addresses to individual subscriber equipment.
Delegating router Role of the BNG when it delegates IPv6 prefixes to the requesting router (the CPE).
Each IA contains one type of address. For example, IA_NA carries assigned addresses that are
nontemporary addresses; IA_PD carries a prefix.
DHCPv6 IA_PD IA for prefix delegation. An IA that carries a prefix that is assigned to the requesting router. Instead
of assigning a single address, IA_PD assigns a prefix or a complete subnet.
DHCPv6 IA_NA IA for nontemporary addresses. An IA that carries assigned addresses that are not temporary
addresses.
Global IPv6 address Unique IPv6 address that identifies a single interface and allows the interface to access the IPv6
internet.
IPv6 address prefix/prefix Combination of an IPv6 prefix (address) and a prefix length.
length
The prefix takes the form ipv6-prefix/prefix-length and represents a block of address space (or
a network).
The /prefix-length indicates the number of contiguous, higher-order bits of the address that
make up the network portion of the address.
IPCP IPv4 Control Protocol. A PPP protocol that establishes the IPv4 link between the BNG and the
CPE if you are using PPPoE in your access network.
IPv6CP IPv6 Control Protocol. A PPP protocol that establishes the IPv6 link between the BNG and the
CPE if you are using PPPoE in your access network.
Link-local address Locally derived address that is designed to be used for addressing on a single link for purposes
such as automatic address configuration, neighbor discovery, or when no routers are present. It
is indicated by the prefix FE80::/10.
In your dual-stack network, you can use a link-local address on the interface that connects the
CPE and the BNG.
ND/RA Neighbor Discovery/Router Advertisement. An IPv6 protocol that is used in the dual-stack
network to allow automatic addressing on the CPE WAN link.
Neighbor dDiscovery Protocol in the IPv6 protocol suite that allows nodes on the same link to advertise their existence
to their neighbors, and to learn about the existence of their neighbors.
Requesting router Role of the CPE when it requests IPv6 prefixes from the delegating router (the BNG).
Router Advertisement (RA) Message that the BNG periodically sends to hosts or sends in response to Router Solicitation
(RS) requests from another host. The message includes IPv6 prefixes and other autoconfiguration
information.
In a dual-stack network, the router sends RAs to CPE devices on its access network.
Router Solicitation (RS) Message that hosts send to discover the presence of on-link routers. In a dual-stack network,
CPE devices send RS messages to the BNG.
Unnumbered address Address that can be used on the routers PPPoE loopback interface that connects to the CPE.
IPv6 uses a 128-bit addressing model compared with the 32-bit addresses used for IPv4.
In addition to being larger, IPv6 addresses differ from IPv4 addresses in several ways:
Notation
Prefixes
Address types
These differences give IPv6 addressing greater simplicity and scalability than IPv4
addressing gives.
IPv6 Notation
IPv6 addresses are 128 bits long (expressed as 32 hexadecimal numbers) and consist of
eight colon-delimited sections. Each section contains 2 bytes, and each byte is expressed
as a hexadecimal number from 0 through FF.
2001:0db8:0000:0000:0000:0800:200c:7334
By omitting the leading zeroes from each section or substituting contiguous sections that
contain zeroes with a double colon, you can write the example address as:
2001:db8:0:0:0:800:200c:7334 or 2001:db8::800:200c:7334
You can use the double-colon delimiter only once within a single IPv6 address. For
example, you cannot express the IPv6 address 2001:db8:0000:0000:ea34:0000:71ff:fe01
as 2001:db8::ea34::71ff:fe0.
IPv6 Prefixes
An IPv6 address prefix represents a block of address space or a network. The prefix is a
combination of an IPv6 prefix (address) and a prefix length. It takes the form
ipv6-prefix/prefix-length.
IPv6 addresses can be broken into prefixes of varying length. The prefix length is a decimal
value that specifies the number of the leftmost bits in the address that make up the
prefix. The prefix length follows a forward slash and, in most cases, identifies the portion
of the address owned by an organization. All remaining bits (up to the right-most bit)
represent individual nodes or interfaces.
The first 64 bits of this address (2001:db8:0000:0000) are the prefix. The rest
(250:af:34ff:fe26) identify the interface.
MulticastFor a set of interfaces on the same physical medium. A packet is sent to all
interfaces associated with the address.
Unicast Addresses
A unicast address identifies a single interface. When a network device sends a packet to
a unicast address, the packet goes only to the specific interface identified by that address.
Unicast addresses support a global address scope and two types of local address scopes.
A unicast address consists of n bits for the prefix, and 128 n bits for the interface ID.
In the IPv6 implementation for a subscriber access network, the following types of unicast
addresses can be used:
Global unicast addressA unique IPv6 address assigned to a host interface. These
addresses have a global scope and essentially the same purposes as IPv4 public
addresses. Global unicast addresses are routable on the Internet.
Loopback IPv6 addressAn IPv6 address used on a loopback interfaces. The IPv6
loopback address is 0:0:0:0:0:0:0:1, which can be notated as ::1/128.
Multicast Addresses
A multicast address identifies a set of interfaces that typically belong to different nodes.
When a network device sends a packet to a multicast address, the device broadcasts
the packet to all interfaces identified by that address. IPv6 does not support broadcast
addresses, but instead uses multicast addresses in this role.
Multicast addresses support 16 different types of address scope, including node, link,
site, organization, and global scope. A 4-bit field in the prefix identifies the address scope.
The following types of multicast addresses can be used in an IPv6 subscriber access
network:
Anycast Addresses
An anycast address identifies a set of interfaces that typically belong to different nodes.
Anycast addresses are similar to multicast addresses, except that packets are sent only
to one interface, not to all interfaces. The routing protocol used in the network usually
determines which interface is physically closest within the set of anycast addresses and
routes the packet along the shortest path to its destination.
There is no difference between anycast addresses and unicast addresses except for the
subnet-router address. For an anycast subnet-router address, the low-order bits, typically
64 or more, are zero. Anycast addresses are taken from the unicast address space.
For more information about anycast addresses, see RFC 2526, Reserved IPv6 Subnet
Anycast Addresses.
You need to implement two types of addressing for IPv6 in a subscriber access network:
WAN link addressingFor the WAN interface on the CPE (CPE upstream interface).
Subscriber LAN addressingFor devices connected to the CPE on the subscriber LAN
(CPE downstream interfaces).
Figure 2 on page 13 shows where WAN link addressing and subscriber addressing are
assigned in a dual-stack network.
WAN Link
Addressing
Broadband
CPE Network
Gateway
g017542
You can use the following methods for assigning IPv6 addresses:
For WAN link addressing, you can use ND/RA or DHCPv6 IA_NA to provision a global
IPv6 address.
For subscriber LAN addressing, you can use DHCPv6 prefix delegation to provision
global IPv6 addresses to subscribers on the LAN.
Link-local IPv6 addressCan be used on PPPoE access networks. The link-local address
is provisioned by appending the interface identifier negotiated by IPv6CP with the IPv6
link-local prefix (FE80::/10).
Neighbor discovery is a protocol in the IPv6 protocol suite that allows nodes on the same
link to advertise their existence to their neighbors and to learn about the existence of
their neighbors. Neighbor discovery is built on top of Internet Control Message Protocol
version 6 (ICMPv6). It replaces the following IPv4 protocols: router discovery (RDISC),
Address Resolution Protocol (ARP), and ICMPv4 redirect.
Router Solicitation (RS)Messages sent by IPv6 nodes when they come online to
solicit immediate router advertisements from the router.
A host can verify that its address is unique by sending a neighbor solicitation message
destined to the new address. If the host receives a neighbor advertisement in reply, the
address is a duplicate.
Before ND/RA can provide IPv6 address information to the CPE, you need to first obtain
a link-local address for the CPE WAN link. ND/RA provides address assignment in two
phases:
1. During IPv6CP negotiation to establish the PPPoE link between the BNG and the CPE,
an interface identifier is negotiated for the CPE.
2. The CPE creates a link-local address by appending the interface identifier with the
IPv6 link-local prefix (FE80::/10).
NOTE: When the interface ID is 0, such as for Windows 7 clients, PPP uses
the subscribers session ID in place of the interface ID.
The CPE now has IPv6 connectivity to the BNG, and it can use ND/RA to obtain its
global IPv6 address.
4. The BNG responds with a router advertisement message that includes an IPv6 prefix
with a length of /64.
This prefix can come directly from a local ND/RA address pool configured on the BNG.
If you are using AAA, a RADIUS server can specify the prefix in the Framed-Ipv6-Prefix
attribute, or it can specify an ND/RA pool on the BNG from which the prefix is assigned
in the Framed-Ipv6-Pool attribute.
5. When the CPE receives the 64-bit prefix, it appends its interface ID to the supplied
prefix to form a globally routable 128-bit address.
6. The CPE verifies that the global address is unique by sending a neighbor solicitation
message destined to the new address. If there is a reply, the address is a duplicate.
The process stops and requires operator intervention.
You can set up the BNG to select IPv6 prefixes used for ND/RA through one of the
following methods:
Dynamic assignment from a local pool of ND/RA prefixes that is configured on the
BNG
Framed-IPv6-PrefixThe attribute contains an IPv6 prefix that the BNG can send to
the CPE in router advertisement messages.
If you are using AAA to supply IPv6 prefixes for ND/RA, you can enable duplicate prefix
protection for ND/RA. If enabled, the BNG checks the following attributes received from
external servers:
Framed-IPv6-Prefix
Framed-IPv6-Pool
If a prefix overlaps with a prefix in an address pool, the prefix is taken from the pool if
it is available.
If the prefix length requested from the external server does not match the pools prefix
length exactly, the authentication request is denied. If configured, the Acct-Stop
message includes a termination cause.
Overview of Using DHCPv6 IA_NA to Provide IPv6 WAN Link Addressing on page 19
Methods for Obtaining IPv6 Global Addresses for DHCPv6 IA_NA on page 19
You can use DHCPv6 IA_NA to assign a global IPv6 address to the CPE WAN link. If the
CPE sends a Solicit message that contains the IA_NA option to the BNG, the BNG acts
as a DHCPv6 server and assigns a single IPv6/128 address to the WAN interface of the
CPE.
You can set up the BNG to select global IPv6 addresses to be delegated to the requesting
router in one the following ways:
Dynamic assignment from a local pool of addresses that is configured on the BNG
Using a AAA RADIUS Server to Obtain IPv6 Addresses for DHCPv6 IA_NA
When the BNG needs to obtain a global IPv6 for the CPE WAN link and optionally a
DHCPv6 prefix, it uses the values in one of the following RADIUS attributes:
Both attributes are sent from the RADIUS server to the BNG in RADIUS Access-Accept
messages.
You can use DHCPv6 prefix delegation to automate the delegation of IPv6 prefixes to
the CPE. With prefix delegation, a delegating router (the BNG) delegates IPv6 prefixes
to a requesting router (the CPE). The requesting router then uses the prefixes to assign
global IP addresses to the devices on the subscriber LAN. The requesting router can also
assign subnet addresses to subnets on the LAN.
DHCPv6 prefix delegation is useful when the delegating router does not have information
about the topology of the networks in which the requesting router is located. In such
cases, the delegating router requires only the identity of the requesting router to choose
a prefix for delegation.
DHCPv6 prefix delegation replaces the need for NAT in an IPv6 network.
Figure 3 on page 22 shows how DHCPv6 prefix delegation is used in a dual-stack network.
Broadband
CPE Network
Gateway
g017543
DHCPv6 prefix delegation operates as follows:
Each prefix has an associated valid and preferred lifetime, which can be extended.
2. A requesting router requests one or more prefixes from the delegating router.
3. The delegating router chooses prefixes for delegation, and responds with prefixes to
the requesting router.
The address allocation mechanism in the subscriber network can be performed with
ICMPv6 neighbor discovery in router advertisements, DHCPv6, or a combination of
these two methods.
For networks in which the service provider directly controls the CPE, a delegated prefix
can be used to create an IPv6 address on the loopback interface between the CPE and
the BNG. This address can be used to manage the CPE, and the CPE uses it as a source
address when it communicates with the BNG.
The process of DHCPv6 prefix delegation when DHCPv6 is running over a PPPoE access
network is as follows:
1. The CPE obtains a link-local address by appending the interface ID that it receives
through IPv6CP negotiation to the IPv6 link-local prefix (FE80::/10). The link-local
address provides an initial path for protocol communication between the BNG and
CPE
2. The CPE sends a DHCPv6 Solicit message that includes an IA_PD option.
3. The BNG chooses a prefix for the CPE with information from an external AAA server
or from a local prefix pool.
4. The BNG sends an Advertise message to the CPE. The message includes the delegated
prefix, an IA_PD option, and an IA_PD prefix option. The prefix length in the IA_PD prefix
option is 48. The message can also contain other configuration information, such as
a maximum lease time.
5. The CPE sends a Request message to the BNG. The message requests the prefix that
was advertised.
6. The BNG returns the delegated prefix to the CPE in a Reply message. This message
also contains the delegated prefix, an IA_PD option, and an IA_PD prefix option. The
prefix length in the IA_PD prefix option is 48. The message can also contain other
configuration information, such as a maximum lease time.
7. The CPE uses the delegated prefix to allocate global IPv6 addresses to host devices
on the subscriber network. It can use router advertisements, DHCPv6, or a combination
of these two methods to allocate addresses on the subscriber LAN.
You can set up the BNG to select IPv6 prefixes to be delegated to the requesting router
in one the following ways:
Dynamic assignment from a local pool of prefixes that is configured on the BNG
You can specify the name of a delegated pool to use for prefix delegation, which means
that you do not need to use AAA to obtain the pool name. In this configuration, if you
have also specified a pool match order, the specified delegated pool takes precedence.
Using a AAA RADIUS Server to Obtain IPv6 Prefixes for Prefix Delegation
When the BNG needs to obtain a prefix for DHCPv6 prefix delegation, it uses the values
in one of the following RADIUS attributes:
Delegated-IPv6-PrefixThe attribute contains an IPv6 prefix that the BNG can send
to the CPE.
Both attributes are sent from the RADIUS server to the BNG in RADIUS Access-Accept
messages.
Using DHCPv6 IA_NA with DHCPv6 Prefix Delegation to Provide IPv6 Addressing
You can use DHCPv6 IA_NA to assign a global IPv6 address to the CPE WAN link and
DHCPv6 prefix delegation to provide prefixes for use on the subscriber LAN. DHCPv6
IA_NA and DHCPv6 prefix delegation are done in a single DHCPv6 session. If the CPE
sends both the IA_NA and IA_PD options in the same DHCPv6 Solicit message, the BNG
returns both a single IPv6/128 address and an IPv6 prefix.
When at least one address is successfully allocated, the router creates a subscriber entry
and binds the entry to the assigned address. If both addresses are successfully allocated,
the router creates a single subscriber entry and binds both addresses to that entry.
Lease Times and Session Timeouts for DHCPv6 IA_NA and DHCPv6 Prefix Delegation
When you use DHCPv6 IA_NA together with DHCPv6 prefix delegation, note the following
about session timeouts and lease times:
A session timeout from AAA has the highest precedence and overrides local pool lease
times.
For DHCPv6 local server, the minimum lease time associated with an address pool
takes precedence over pools with longer lease times. For example, if a CPE obtains an
IA_NA address from a pool with a lease time of 3600, and a prefix from a pool with a
lease time of 7200, the lease time returned in the Reply message from the BNG is
3600.
If AAA does not return a session timeout and the address pool does not have a
configured lease time, the default setting of 86,400 (one day) is used.
Methods for Obtaining Addresses for Both DHCPv6 Prefix Delegation and DHCPv6
IA_NA
You can set up the BNG to select global IPv6 addresses to be delegated to the requesting
router in one the following ways:
Dynamic assignment from a local pool of prefixes or global IPv6 addresses that is
configured on the BNG
Address assignment for prefix delegation and IA_NA are independent. For example, you
can use AAA RADIUS for DHCPv6 IA_NA, and use a local pool for prefix delegation.
You can specify the name of a delegated pool to use for prefix delegation, which means
that you do not need to use AAA to obtain the pool name. In this configuration, if you
have also specified a pool match order, the specified delegated pool takes precedence.
You can configure pool attributes so that the IA_NA pool and the prefix delegation pool
can specify different SIP servers for DNS addresses. DHCPv6 options that the BNG returns
to the CPE are based on the pool from which the addresses were allocated. These options
that are returned are based on the DHCPv6 Option Request option (ORO), which can be
configured globally or within the IA_NA and IA_PD request.
Both attributes are sent from the RADIUS server to the BNG in RADIUS Access-Accept
messages.
Step 4: Select the method of provisioning a global IPv6 address for the CPE WAN link.
Table 2 on page 31 shows the combinations of routing hardware that you can use for
your dual-stack implementation, along with information about access protocol and
accounting support on each of the hardware combinations.
Design 1: IPv6 Addressing with DHCPv6 IA_NA and DHCPv6 Prefix Delegation on page 34
Design 2: IPv6 Addressing with ND/RA and DHCPv6 Prefix Delegation on page 35
Design 3: IPv6 Addressing with ND/RA on page 36
Design 4: IPv6 Addressing with DHCPv6 Prefix Delegation and No ND/RA
Prefix on page 37
Design 1: IPv6 Addressing with DHCPv6 IA_NA and DHCPv6 Prefix Delegation
This design (Figure 4 on page 34) uses DHCPv6 IA_NA and DHCPv6 prefix delegation in
your subscriber access network as follows:
DHCPv6 IA_NA is used to assign a global IPv6 address on the WAN link. The address
can come from a local pool or AAA RADIUS.
DHCPv6 prefix delegation is used for host device addressing. The delegated prefix can
come from a local pool or from AAA RADIUS. The CPE uses the delegated prefix for
subscriber addressing. The CPE can use ND/RA or DHCPv6 to allocate IPv6 addresses
on the LAN.
DHCPv6 IA_NA
Broadband
Access Network Carrier IPv4 and
CPE Network
PPPoE or DHCP IPv6 Network
Gateway
VLAN
g017598
ND/RA or DHCPv6
This design (Figure 5 on page 35) uses ND/RA and DHCPv6 prefix delegation in your
subscriber access network as follows:
ND/RA addressing is used to provision a global IPv6 address on the WAN link. IPv6
prefixes for ND/RA come from a local pool or AAA RADIUS.
DHCPv6 prefix delegation is used for host device addressing. The delegated prefix can
come from a local pool or from AAA RADIUS. The CPE uses the delegated prefix for
subscriber addressing. The CPE can use ND/RA or DHCPv6 to allocate IPv6 addresses
on the LAN.
Broadband
Access Network Carrier IPv4 and
CPE Network
PPPoE or DHCP IPv6 Network
Gateway
VLAN
g017547
ND/RA or DHCPv6
If you have a network with a combination of subscriber LANs and single PCs, you can use
a combination of design 2 and design 3.
In this design (Figure 6 on page 36), ND/RA is used for addressing a global IPv6 on the
WAN link with prefixes from a local pool or AAA RADIUS. The PC does not need a
delegated prefix.
Broadband
Access Network Carrier IPv4 and
Network
PPPoE or DHCP IPv6 Network
Gateway
PC
VLAN
g017548
If you have a network with a combination of subscriber LANs and single PCs, you can use
a combination of Design 2 and Design 3.
Design 4: IPv6 Addressing with DHCPv6 Prefix Delegation and No ND/RA Prefix
In this design (Figure 7 on page 37), the CPE is a model that is sold by or specified by the
service provider. The CPE uses an unnumbered WAN interface. The BNG delegates an
IPv6 prefix to the CPE with DHCPv6 prefix delegation. The CPE uses the delegated prefix
for subscriber addressing. It can use ND/RA or DHCPv6 to allocate the IPv6 addresses
on the LAN.
Unnumbered
Broadband
Access Network Carrier IPv4 and
CPE Network
PPPoE or DHCP IPv6 Network
Gateway
VLAN
g017549
ND/RA or DHCPv6
In some networks, you do not need to assign a global IPv6 address on the CPE WAN link.
Your decision depends on the type of CPE being used:
If the CPE is purchased by the subscriber, and is not a device specifically recommended
by the service provider, you need to assign a global IPv6 address that can be routed
on the Internet.
If the CPE is supplied by or recommended by the service provider, you can use the
loopback interface to manage the CPE.
In this case, you can use a link-local address or you can use an address that is derived
from DHCPv6 prefix delegation.
Selecting the Method of Provisioning a Global IPv6 Address for the WAN Link
To assign a global IPv6 address to the WAN link of the CPE device, you can choose one
of the methods described in Table 3 on page 40.
Table 3: Choosing the Global IPv6 Address Provisioning Method for the WAN Link
ND/RA Features DHCPv6 IA_NA Features
Provides address autoconfiguration of the WAN link by Provides a single IPv6/128 address to the WAN interface of the CPE
means of router advertisements. by the BNG acting as a DHCPv6 server.
Supported on PPPoE access networks. Supported on PPPoE and DHCP access networks.
Provides duplicate prefix prevention. Provides the ability to use one DHCPv6 message to solicit both a global
IPv6 address for the WAN link, and a prefix used to provision addresses
on the subscriber LAN.
DHCPv6 prefix delegation automates the delegation of IPv6 prefixes to the CPE. The
CPE can then use these prefixes to assign global IPv6 addresses for use in a subscriber
LAN. DHCPv6 prefix delegation is useful when the delegating router (the BNG) does not
have information about the topology of the networks in which the requesting router (the
CPE) is located. In such cases, the delegating router requires only the identity of the
requesting router to choose a prefix for delegation.
You can set up the BNG to select IPv6 prefixes through one of the following methods:
Dynamic assignment from a local pool of global IPv6 addresses or prefixes that is
configured on the BNG
Using a AAA RADIUS Server to Obtain Global IPv6 Addresses and IPv6 Prefixes
Table 4 on page 41 describes the RADIUS attributes used in a dual-stack network. These
attributes are sent from the RADIUS server to the BNG in RADIUS Access-Accept
messages.
Table 4: RADIUS Attributes Used to Obtain Global IPv6 Addresses and IPv6 Prefixes
RADIUS Attribute Address Assignment Type Attribute Description
Framed-IPv6-Prefix ND/RA IPv6 prefix with a prefix length less than 128.
In a dual-stack architecture with a PPPoE access network that connects the CPE to the
BNG, IPv4 and IPv6 connectivity are provided over a single PPP logical link. The PPP IPv4
control protocol (IPCP) and the IPv6 control protocol (IPv6CP) provide independent
IPv4 and IPv6 connectivity over the logical link.
The BNG and the CPE handle both IPCP and IPv6CP identically and simultaneously over
a single PPP connection. The BNG or the CPE can open and close any Network Control
Protocol (NCP) session without affecting the other sessions. This capability allows for
a dynamic setup where IPv4 (family inet) and IPv6 (family inet6) sessions can be brought
up and down individually. As long as one family is active, the subscriber remains active.
Figure 8 on page 46 shows a dual-stack interface stack in a PPPoE access network. The
IPv4 family (inet) and the IPv6 family (inet6) can reside on the same PPPoE logical
interfaces. The family inet and family inet6 parts of dynamic profiles are applied, and
services are activated when each individual family is negotiated.
VLAN interface
g017550
Ethernet interface
You can also use AAA for authentication and authorization through external RADIUS
servers.
You can use the AAA Service Framework for all authentication, authorization, accounting,
address assignment, and dynamic request services that the BNG uses for network access.
The framework supports authentication and authorization through external RADIUS
servers. It also supports accounting and dynamic-request change of authorization (CoA)
and disconnect operations through external servers, and address assignment through a
combination of local address-assignment pools and RADIUS servers.
The BNG interacts with external servers to determine how individual subscribers access
the broadband network. The BNG can also obtain information from external servers for
the following:
As shown in Figure 10 on page 48, implementing a dual stack over a PPPoE access network
that uses AAA can have the following characteristics:
DHCPv6If used, it runs over the IPv6 family session, and it inherits attributes from
the underlying PPPoE session.
IPv4 and IPv6 accountingOne accounting session handles both IPv4 and IPv6
accounting information.
Figure 10: AAA Service Framework in a Dual Stack over a PPPoE Access
Network
ND/RA Pools
IPv4
g017599
IPv6
The following RADIUS attributes are included by default (when available) in Acct-Start,
Interim, and Acct-Stop messages:
Framed-IPv6-Prefix
Framed-IPv6-Pool
Delegated-Ipv6-Prefix
Framed-IPv4-Route
Framed-IPv6-Route
You can configure the BNG to exclude these attributes in Acct-Start and Acct-Stop
messages.
In your access profile configuration, you specify the IP addresses of RADIUS authentication
servers that can initiate dynamic requests to the router. The list of authentication servers
also provides RADIUS-based dynamic service activation and deactivation during subscriber
login.
Figure 11 on page 49 shows a dual-stack interface stack in a DHCP access network. The
IPv4 family (inet) and the IPv6 family (inet6) can reside on the same VLAN interface.
VLAN interface
g017560
Ethernet interface
You can use the AAA Service Framework for all authentication, authorization, accounting,
address assignment, and dynamic request services that the BNG uses for network access.
The framework supports authentication and authorization through external RADIUS
servers. It also supports accounting and dynamic-request change of authorization (CoA)
and disconnect operations through external servers, and address assignment through a
combination of local address-assignment pools and RADIUS servers.
The BNG interacts with external servers to determine how individual subscribers access
the broadband network. The BNG can also obtain information from external servers for
the following:
As shown in Figure 12 on page 50, an implementation of dual stack over a DHCP access
network, there are separate AAA sessions for IPv4 and IPv6 authentication and accounting.
Figure 12: AAA Service Framework in a Dual Stack over a DHCP Access
Network
AAA IPv4 Session IPv4 Family (inet) IPv6 Family (inet6) AAA IPv6 Session
g017561
Accounting Ethernet interface Accounting
The following RADIUS attributes are included by default (when available) in Acct-Start,
Interim, and Acct-Stop messages:
Framed-IPv6-Prefix
Framed-IPv6-Pool
Delegated-Ipv6-Prefix
Framed-IPv4-Route
Framed-IPv6-Route
You can configure the BNG to exclude these attributes in accounting Acct-Start and
Acct-Stop messages.
In your access profile configuration, you specify the IP addresses of RADIUS authentication
servers that can initiate dynamic requests to the router. The list of authentication servers
also provides RADIUS-based dynamic service activation and deactivation during subscriber
login.
VLAN interface
g017562
Ethernet interface
You can use one dynamic profile to allow network access for both IPv4 and IPv6
subscribers. However, we recommend that you create separate dynamic profiles for IPv4
and IPv6 services.
When you use static PPPoE interfaces with ND/RA, the prefix configured for router
advertisement must match the source address specified under family inet6 in the logical
pp0 interface configuration. If these values do not match, the prefix is not advertised
correctly.
For example:
}
}
To view the prefix in the ICMPv6 packet, use the monitor traffic interface pp0.xxx extensive
command. If the prefix is missing, make sure that there is not a mismatch between the
family inet6 address configured for the interface and the prefix configured for the interface
in the router advertisement configuration.
When you use DHCPv6 prefix delegation over a PPPoE access network, you need to
enable unnumbered addressing in the family inet6 configuration.
For dynamic PPPoE interfaces, enable unnumbered addressing in the dynamic profile.
For example:
[edit dynamic-profiles]
PPPoE-dyn-ipv4v6-dhcp {
interfaces {
pp0 {
unit "$junos-interface-unit" {
...
family inet6 {
unnumbered-address lo0.0;
}
}
}
}
}
For static PPPoE interfaces, enable unnumbered addressing in the interface configuration.
For example:
IPv6 Addressing for Logical Interfaces in PPPoE Dynamic Profiles with ND/RA
When you use ND/RA, always set the IPv6 internet address in dynamic profiles to the
$junos-ipv6-address predefined variable. This variable is replaced with the IPv6 address
of the interface used for router advertisements.
[edit dynamic-profiles]
dyn-v4v6-ndra {
interfaces {
pp0 {
unit "$junos-interface-unit" {
family inet6 {
address "$junos-ipv6-address ";
}
}
}
}
IPv6 Addressing for Logical Interfaces in PPPoE Dynamic Profiles with DHCPv6
The IPv6 address configuration for logical interfaces in PPPoE dynamic profiles when
you are using DHCPv6 depends on whether or not you are using routing instances.
If you are using routing instances, use the $junos-loopback-interface predefined variable
for the IPv6 address. For example:
[edit dynamic-profiles]
dyn-v4v6-ri {
routing-instances {
"$junos-routing-instance" {
interface "$junos-interface-name";
}
}
interfaces {
pp0 {
unit "$junos-interface-unit" {
family inet6 {
unnumbered-address "$junos-loopback-interface";
}
}
}
}
}
If you are not using routing instances, use the unnumbered address for the IPv6 address.
The unnumbered address enables the local address to be derived from the specified
interface and allows IP processing on the interface without assigning an explicit IP address
to the interface. For example:
[edit dynamic-profiles]
dyn-v4v6-ndra {
interfaces {
pp0 {
unit "$junos-interface-unit" {
pppoe-options {
underlying-interface "$junos-underlying-interface";
server;
}
family inet6 {
unnumbered-address lo0.0;
}
}
}
}
}
The IPv4 address configuration for logical interfaces in PPPoE dynamic profiles depends
on whether or not you are using routing instances.
If you are using routing instances, use the $junos-loopback-interface variable for the IPv6
address.
[edit dynamic-profiles]
dyn-v4v6-ri {
routing-instances {
"$junos-routing-instance" {
interface "$junos-interface-name";
}
}
interfaces {
pp0 {
unit "$junos-interface-unit" {
family inet {
unnumbered-address "$junos-loopback-interface";
}
}
}
}
}
If you are not using routing instances, use the unnumbered address for the IPv6 address.
The unnumbered address enables the local address to be derived from the specified
interface and allows IP processing on the interface without assigning an explicit IP address
to the interface.
[edit dynamic-profiles]
dyn-v4v6-ndra {
interfaces {
pp0 {
unit "$junos-interface-unit" {
pppoe-options {
underlying-interface "$junos-underlying-interface";
server;
}
family inet {
unnumbered-address lo0.0;
}
}
}
}
}
Overview of Configuration Tasks for IPv4 and IPv6 Dual-Stack in Subscriber Access
Networks on page 58
Configuring a Loopback Interface on page 59
Configuration Tasks for a PPPoE Access Network in Which DHCP Is Used on page 59
Configuration Tasks for PPPoE Access Networks in which ND/RA Is Used on page 62
Configuration Tasks for DHCP Address Assignment Pools on page 66
Suppressing Accounting Information That Comes from AAA on page 68
Overview of Configuration Tasks for IPv4 and IPv6 Dual-Stack in Subscriber Access
Networks
Table 5 on page 58 describes configuration tasks that are specific to IPv4 and IPv6
dual-stack networks. It does not represent a complete router configuration.
Table 5: Overview of Configuration Tasks for IPv4 and IPv6 Dual-Stack in Subscriber Access
Networks
Purpose of Task Procedure
Create a loopback interface for use in the subscriber access Configuring a Loopback Interface on page 59
network.
Configure DHCPv6 over the PPPoE IPv6 family. Configuring a DHCPv6 Local Server for DHCPv6 over PPPoE
on page 59
For PPPoE access networks that use DHCP addressing, create Configuring a PPPoE Dynamic Profile for Use with DHCP
a dynamic profile that allows IPv4 and IPv6 subscribers to access Addressing in a Dual-Stack Network on page 60
the network on the same logical interface.
For PPPoE access networks that use ND/RA addressing, Configuring a PPPoE Dynamic Profile for Use with ND/RA in
configure a dynamic profile that allows IPv4 and IPv6 subscribers a Dual-Stack Network on page 62
to access the network on the same logical interface.
For static ND/RA configurations, create a static PPPoE logical Configuring a Static PPPoE Logical Interface for ND/RA on
interface. page 64
Create a pool of IPv6 prefixes that are used in router Configuring an Address-Assignment Pool Used for Router
advertisements. Advertisements on page 65
Enable duplicate prefix protection for IPv6 prefixes used in router Configuring Duplicate Prefix Protection for Router
advertisements. Advertisement on page 66
Create a pool of IPv6 prefixes for use by DHCPv6 prefix Configuring an Address-Assignment Pool for Use by DHCPv6
delegation. Prefix Delegation on page 66
Create a pool of global IPv6 addresses for use by DHCPv6 IA_NA. Configuring an Address-Assignment Pool for Use by DHCPv6
IA_NA on page 67
Specify a specific address assignment pool to be used by Specifying the Delegated Address-Assignment Pool to Be
DHCPv6 prefix delegation. Used for DHCPv6 Prefix Delegation on page 67
Configure AAA to exclude specific attributes from Acct-Start or Suppressing Accounting Information That Comes from AAA
Acct-Stop messages. on page 68
You must configure a loopback interface for use in the subscriber access network. The
loopback interface is automatically used for unnumbered interfaces.
If you are using routing instances, you can configure the loopback interface for the default
routing instance or for a specific routing instance. The following procedure adds the
loopback interface to the default routing instance.
1. Create the loopback interface, and assign a unit number to the interface.
[edit]
user@host# edit interfaces lo0 unit 0
StaticUse unit numbers to explicitly specify static interfaces; for example pp0.2000.
[edit]
user@host# edit system services dhcp-local-server dhcpv6
[edit system services dhcp-local-server dhcpv6]
The group feature groups a set of interfaces and then applies a common DHCP
configuration to the named interface group.
Configuring a PPPoE Dynamic Profile for Use with DHCP Addressing in a Dual-Stack Network
Configure a dynamic profile for IPv4 and IPv6 subscribers that access the network. The
dynamic profile defines the attributes of the dynamic PPPoE logical subscriber interface.
To configure a PPPoE dynamic profile for both IPv4 and IPv6 subscribers:
[edit]
user@host# edit dynamic profiles PPPOE-dyn-ipv4v6
2. If you are using routing instances, add a routing instance to the profile, and add an
interface to the routing instance.
Specify the $junos-routing-instance variable for the routing instance. The routing
instance variable is dynamically replaced with the routing instance the accessing
subscriber uses when connecting to the BNG.
Specify the $junos-interface-name variable for the interface. The interface variable
is dynamically replaced with the interface that the accessing subscriber uses when
connecting to the BNG.
3. Add a PPPoE logical interface (pp0) to the profile, and specify $junos-interface-unit
as the predefined variable to represent the logical unit number for the interface. The
variable is dynamically replaced with the actual unit number supplied by the network
when the subscriber logs in.
If you are not using routing instances, assign an unnumbered address. The
unnumbered address enables the local address to be derived from the specified
interface and allows IP processing on the interface without an explicit IP address
assigned to the interface.
For example:
For example:
If you are not using routing instances, assign an unnumbered address that specifies
the loopback interface. The unnumbered address enables the local address to be
derived from the loopback interface and allows IP processing on the interface
without an explicit IP address assigned to the interface.
For example:
For example:
7. Define the router to act as a PPPoE server when a PPPoE logical interface is
dynamically created.
8. (Optional) Configure the PPP authentication protocol for the pp0 interface. Specify
either chap or pap (or both).
Configuring a PPPoE Dynamic Profile for Use with ND/RA in a Dual-Stack Network
Configure a dynamic profile for IPv4 and IPv6 PPPoE subscribers that access the network.
The dynamic profile defines the attributes of the dynamic PPPoE logical subscriber
interface.
This dynamic profile is for configurations that use ND/RA to assign a global IP address
to the CPE WAN link.
[edit]
user@host# edit dynamic profiles PPPOE-dyn-ipv4v6-ndra
2. If you are using routing instances, add a routing instance to the profile and add an
interface to the routing instance.
Specify the $junos-routing-instance variable for the routing instance. The routing
instance variable is dynamically replaced with the routing instance the accessing
subscriber uses when connecting to the BNG.
Specify the $junos-interface-name variable for the interface. The interface variable
is dynamically replaced with the interface that the accessing subscriber uses when
connecting to the BNG.
3. Add a PPPoE logical interface (pp0) to the profile, and specify $junos-interface-unit
as the predefined variable to represent the logical unit number for the interface. The
variable is dynamically replaced with the actual unit number supplied by the network
when the subscriber logs in.
If you are not using routing instances, assign an unnumbered address. The
unnumbered address enables the local address to be derived from the specified
interface and allows IP processing on the interface without assigning an explicit IP
address to the interface.
For example:
For example:
5. Configure the IPv6 family for the pp0 interface, and assign $junos-ipv6-address as
the predefined variable. Use this variable when you are using router advertisement
with or without routing instances. This variable is replaced with the IPv6 address of
the interface used for router advertisements.
7. Define the router to act as a PPPoE server when a PPPoE logical interface is
dynamically created.
8. (Optional) Configure the PPP authentication protocol that is used to identify and
authenticate the CPE. Specify either chap or pap (or both).
c. Specify a prefix value contained in router advertisement messages sent to the CPE
on interfaces created with this dynamic profile.
[edit]
user@host# edit interfaces pp0 unit 1000
6. Define the router to act as a PPPoE server when the PPPoE logical interface is created.
7. Access the router advertisement configuration, and specify the prefixes that the BNG
sends in router advertisements for the static interface. Make sure that the prefixes
match the source address configured for the static PPPoE logical interface configured
in Step 3.
[edit]
user@host# edit protocols router-advertisement
user@host# set interface pp0.1000 prefix 2040:2004::/64
You must configure separate pools for DHCPv6 prefix delegation, DHCPv6 IA_NA, and
router advertisement.
[edit]
user@host# edit access address-assignment pool ndra-2010 family inet6
3. Configure the name of the IPv6 address range and define the range. For ND/RA pools,
specify the range by setting a prefix length of 64.
Framed-IPv6-Prefix
Framed-IPv6-Pool
If a prefix overlaps with a prefix in an address pool, the prefix is taken from the pool if it
is available. If the prefix is already in use, it is rejected as unavailable. If the prefix length
requested from the external server does not match the pools prefix length exactly, the
authentication request is denied. If configured, the Acct-Stop message will include a
termination cause.
[edit]
user@host# edit access
[edit access]
user@host# set address-protection
You must configure separate pools for DHCPv6 prefix delegation, DHCPv6 IA_NA, and
ND/RA.
[edit access]
user@host# edit address-assignment pool v6-prefix-pool-2001
3. Configure the name of the IPv6 prefix range, and define the range by setting a prefix
length of 64.
You must configure separate pools for DHCPv6 prefix delegation, DHCPv6 IA_NA, and
ND/RA.
[edit access]
user@host# edit address-assignment pool v6-ia-na-pool
3. Configure the name of the IPv6 address range, and define the range by setting a low
and high range of /128 addresses.
Specifying the Delegated Address-Assignment Pool to Be Used for DHCPv6 Prefix Delegation
You can explicitly specify which address pool the BNG uses to assign IPv6 prefixes for
use by DHCPv6 prefix delegation. This feature enables you to identify the address pool
without using RADIUS or a network match.
NOTE: You can also use by Juniper Networks VSA 26-161 to specify the
delegated address pool. The VSA-specified value takes precedence over the
delegated-address statement.
1. Specify that you want to configure override options for DHCPv6 local server.
The following standard and vendor-specific IPv6 RADIUS attributes are included by
default (when available) in Acct-Start and Acct-Stop messages:
Framed-IPv6-Prefix
Framed-IPv6-Pool
Delegated-Ipv6-Prefix
Framed-IPv4-Route
Framed-IPv6-Route
You can configure the software to exclude these attributes from Acct-Start or Acct-Stop
messages. To do so, configure the access profile:
[edit]
user@host# edit access profile dual-stack radius attributes
2. The following examples show how to use the exclude statement to exclude attributes
from messages.
Action From operational mode, enter the show subscribers summary command.
Meaning The output under Subscribers by State shows the number of active subscriber sessions.
The output under Subscribers by Client Type shows the number of active sessions by
type. The two subscriber sessions above represent a DHCPv6 subscriber on a PPPoE
access network. When DHCPv6 is layered over PPPoE, two separate subscriber sessions
are created for a subscriber.
user@host>show subscribers
Interface IP Address/VLAN ID User Name LS:RI
pp0.1073741825 10.16.0.2 ipv4-v6-subscriber default:default
pp0.1073741825 2001:DB8::1 default:default
Meaning The Interface field shows that there are two subscriber sessions running on the same
interface. The IP Address field shows that one session is assigned an IPv4 address, and
one session is assigned on IPv6 address.
The LS:RI field shows that the subscriber is placed in the correct routing instance and
that traffic can be sent and received.
Action From operational mode, enter the show subscribers detail command.
Type: DHCP
IPv6 Address: 2001::1
Logical System: default
Routing Instance: default
Interface: pp0.1073741825
Interface type: Static
MAC Address: 00:01:02:00:00:01
State: Active
Radius Accounting ID: 3
Session ID: 3
Underlying Session ID: 2
Login Time: 2011-12-08 09:12:11 PST
DHCP Options: len 42
00 08 00 02 0b b8 00 01 00 0a 00 03 00 01 00 01 02 00 00 01
00 06 00 02 00 03 00 03 00 0c 00 00 00 00 00 00 00 00 00 00
00 00
Meaning If you are using DHCPv6 over a PPPoE access network, the output shows the relationship
of the DHCPv6 subscriber session with its underlying PPPoE subscriber session. In the
output for the PPPoE session, the Session ID is 2. The output of the DHCP session shows
that the Underlying Session ID is 2.
Action From operational mode, enter the show subscribers extensive command.
Type: DHCP
IPv6 Prefix: 2040:2000:2000:5::/64
Logical System: default
Routing Instance: default
Interface: pp0.1073741864
Interface type: Static
MAC Address: 00:07:64:11:07:02
State: Active
Radius Accounting ID: 88
Session ID: 88
Underlying Session ID: 87
Login Time: 2012-01-17 14:46:00 PST
DHCP Options: len 42
00 08 00 02 0b b8 00 01 00 0a 00 03 00 01 00 07 64 11 07 02
00 06 00 02 00 19 00 19 00 0c 00 00 00 00 00 00 00 00 00 00
00 00
IPv6 Delegated Address Pool: dhcpv6-pd-pool
IPv6 Delegated Network Prefix Length: 64
IPv6 Delegated Network Prefix Length: 48
Meaning Under the PPPoE session, the IPv6 Delegated Address Pool fields show the names of the
pools used for DHCPv6 prefix delegation and for ND/RA prefixes. The IPv6 Delegated
Network Prefix Length field shows the length of the prefix used to assign the IPv6 address
for this subscriber session. The IPv6 Interface Address field shows the IPv6 address
assigned to the CPE interface from the ND/RA pool.
Under the DHCP session, the IPv6 Delegated Address Pool fields show the name of the
pool used for DHCPv6 prefix delegation. The IPv6 Delegated Network Prefix Length fields
shows the length of the prefix used in DHCPv6 prefix delegation.
Action From operational mode, enter the show subscribers extensive id command.
Meaning The highlighted output includes details about a subscribers service sessions.
Note that this is the only command that will provide the details about the negotiated
interface IDs.
Action To display the RADIUS attribute used for IPv6 Neighbor Discovery router advertisements:
Action To display address bindings in the client table on the DHCPv6 local server:
State:
BOUND(LOCAL_SERVER_STATE_BOUND_ON_INTF_DELETE)
Lease Expires: 2009-07-21 10:41:15 PDT
Lease Expires in: 86308 seconds
Lease Start: 2009-07-20 10:41:15 PDT
Incoming Client Interface: ge-1/0/0.0
Server Ip Address: 0.0.0.0
Server Interface: none
Client Id Length: 14
Client Id:
/0x00010001/0x02e159c0/0x00109400/0x0001
Session Id: 7
Client IPv6 Prefix: 2001:bd8:1111:2222::/64
Client DUID: LL_TIME0x1-0x2e159c0-00:10:94:00:00:02
State:
BOUND(LOCAL_SERVER_STATE_BOUND_ON_INTF_DELETE)
Lease Expires: 2009-07-21 10:41:15 PDT
Lease Expires in: 86308 seconds
Lease Start: 2009-07-20 10:41:15 PDT
Incoming Client Interface: ge-1/0/0.0
Server Ip Address: 0.0.0.0
Server Interface: none
Client Id Length: 14
Client Id:
/0x00010001/0x02e159c0/0x00109400/0x0002
Example: Configuring a Dual Stack That Uses DHCPv6 IA_NA and DHCPv6 Prefix
Delegation over PPPoE on page 79
Example: Configuring a Dual Stack That Uses DHCPv6 IA_NA and DHCPv6 Prefix
Delegation over PPPoE
Requirements on page 79
Overview on page 79
Configuration on page 81
Verification on page 97
Requirements
This example uses the following hardware and software components:
Overview
This design uses DHCPv6 IA_NA and DHCPv6 prefix delegation in your subscriber access
network as follows:
DHCPv6 IA_NA is used to assign a global IPv6 address on the WAN link. The address
comes from a local pool that is specified using AAA RADIUS.
DHCPv6 prefix delegation is used for subscriber LAN addressing. It uses a delegated
prefix from a local pool that is specified by AAA RADIUS.
DHCPv6 subscriber sessions are layered over an underlying PPPoE subscriber session.
Topology
Figure 14: PPPoE Subscriber Access Network with DHCPv6 IA_NA and
DHCPv6 Prefix Delegation
Subscriber LAN
IPv4 and IPv6 devices
DHCPv6 prefix delegation and DHCPv6 IA_NA
RADIUS
DHCPv6 IA_NA
Broadband
Access Network Carrier IPv4 and
CPE Network
PPPoE IPv6 Network
Gateway
VLAN Demux
g017755
ND/RA or DHCPv6
Table 6: Configuration Components Used in Dual Stack with DHCPv6 IA_NA and DHCPv6 Prefix
Delegation
Configuration
Component Component Name Purpose
Dynamic profile pppoe-subscriber-profile Profile that creates a PPPoE logical interface when the subscriber logs
in.
Interfaces ge-0/2/5 Interface used for communication with the RADIUS server.
demux0 VLAN demux interface that runs over the underlying Ethernet interface.
lo0 Loopback interface for use in the access network. The loopback
interface is automatically used for unnumbered interfaces.
Address-assignment pool v4-pool Pool that provides IPv4 addresses for the subscriber LAN.
pools
pool v6-ia-na-pool Pool that provides a global IPv6 address to the CPE WAN link.
pool v6-pd-pool Pool that provides a pool of prefixes that are delegated to the CPE and
used for assigning IPv6 global addresses on the subscriber LAN.
Configuration
Configuring a DHCPv6 Local Server for DHCPv6 over PPPoE on page 84
Configuring a Dynamic Profile for the PPPoE Logical Interface on page 85
Configuring a Loopback Interface on page 87
Configuring a VLAN Demux Interface over an Ethernet Underlying Interface on page 89
Configuring an Interface for Communication with RADIUS Server on page 91
Specifying the BNG IP Address on page 91
Configuring RADIUS Server Access on page 92
Configuring RADIUS Server Access Profile on page 93
Configuring Local Address-Assignment Pools on page 94
CLI Quick The following is the complete configuration for this example:
Configuration
dynamic-profiles {
pppoe-subscriber-profile {
routing-instances {
"$junos-routing-instance" {
interface "$junos-interface-name";
}
}
interfaces {
pp0 {
unit "$junos-interface-unit" {
ppp-options {
chap;
pap;
}
pppoe-options {
underlying-interface "$junos-underlying-interface";
server;
}
keepalives interval 30;
family inet {
unnumbered-address "$junos-loopback-interface";
}
family inet6 {
unnumbered-address "$junos-loopback-interface";
}
}
}
}
}
}
system {
services {
dhcp-local-server {
dhcpv6 {
group v6-ppp-subscriber {
interface pp0.0;
}
}
}
}
}
interfaces {
ge-0/2/5 {
gigether-options {
no-auto-negotiation;
}
unit 0 {
family inet {
address 10.9.0.9/32;
}
}
}
ge-0/3/0 {
hierarchical-scheduler maximum-hierarchy-levels 2;
flexible-vlan-tagging;
encapsulation flexible-ethernet-services;
unit 1;
}
demux0 {
unit 1 {
proxy-arp;
vlan-tags outer 1 inner 1;
demux-options {
underlying-interface ge-0/3/0;
}
family pppoe {
duplicate-protection;
dynamic-profile pppoe-subscriber-profile;
}
}
}
lo0 {
unit 0 {
family inet {
address 10.0.0.1/32 {
primary;
preferred;
}
}
family inet6 {
address 2001:0::1/128 {
primary;
preferred;
}
}
}
}
}
routing-options {
router-id 10.0.0.0;
}
access {
radius-server {
10.9.0.9 {
secret "$9$lXRv87GUHm5FYgF/CA1I"; ## SECRET-DATA
timeout 45;
retry 4;
source-address 10.0.0.1;
}
}
profile Access-Profile {
authentication-order radius;
radius {
authentication-server 10.9.0.9;
accounting-server 10.9.0.9;
}
accounting {
order [ radius none ];
update-interval 120;
statistics volume-time;
}
}
address-assignment {
pool v4-pool {
family inet {
network 10.16.0.1/32;
range v4-range-0 {
low 10.16.0.1;
high 10.31.255.255;
}
dhcp-attributes {
maximum-lease-time 99999;
}
}
}
pool v6-ia-na-pool {
family inet6 {
prefix 1000:0000::/64;
range v6-range-0 {
low 1000::1/128;
high 1000::ffff:ffff/128;
}
}
}
pool v6-pd-pool {
family inet6 {
prefix 2012::/48;
range v6-pd prefix-length 64;
}
}
}
address-protection;
}
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
Step-by-Step To layer DHCPv6 above the PPPoE IPv6 family (inet6), associate DHCPv6 with the
Procedure PPPoE interfaces by adding the PPPoE interfaces to the DHCPv6 local server
configuration. Because this example uses a dynamic PPPoE interface, we are using the
pp0.0 (PPPoE) logical interface as a wildcard to indicate that a DHCPv6 binding can be
made on top of a PPPoE interface.
[edit]
user@host# edit system services dhcp-local-server dhcpv6
The group feature groups a set of interfaces and then applies a common DHCP
configuration to the named interface group.
Results From configuration mode, confirm your configuration by entering the show command.
[edit]
user@host# show
system {
services {
dhcp-local-server {
dhcpv6 {
group v6-ppp-subscriber {
interface pp0.0;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
Step-by-Step Create a dynamic profile for the PPPoE logical interface. This dynamic profile supports
Procedure both IPv4 and IPv6 sessions on the same logical interface.
[edit]
user@host# edit dynamic-profiles pppoe-subscriber-profile
3. Configure a PPPoE logical interface (pp0) that is used to create logical PPPoE
interfaces for the IPv4 and IPv6 subscribers.
6. Configure the router to act as a PPPoE server when a PPPoE logical interface is
dynamically created.
7. Configure the IPv4 family for the pp0 interface. Specify the unnumbered address
to dynamically create loopback interfaces. Because the example uses routing
instances, assign the predefined variable $junos-loopback-interface.
8. Configure the IPv6 family for the pp0 interface. Specify the unnumbered address
to dynamically create loopback interfaces. Because the example uses routing
instances without router advertisement, assign the predefined variable
$junos-loopback-interface.
9. Configure one or more PPP authentication protocols for the pp0 interface.
10. Enable keepalives and set an interval for keepalives. We recommend an interval of
30 seconds.
Results From configuration mode, confirm your configuration by entering the show command.
server;
}
keepalives interval 30;
family inet {
unnumbered-address "$junos-loopback-interface";
}
family inet6 {
unnumbered-address "$junos-loopback-interface";
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit interfaces lo0 unit 0
Results From configuration mode, confirm your configuration by entering the show command.
address 2001:0::1/128 {
primary;
preferred;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
edit interfaces
set ge-0/3/0 hierarchical-scheduler maximum-hierarchy-levels 2
set ge-0/3/0 flexible-vlan-tagging
set ge-0/3/0 encapsulation flexible-ethernet-services
exit
edit interfaces demux0 unit 1
set vlan-tags outer 1
set vlan-tags inner 1
set demux-options underlying-interface ge-0/3/0
set family pppoe dynamic-profile pppoe-subscriber-profile
set family pppoe duplicate-protection
set proxy-arp
[edit]
user@host# edit interfaces ge-0/3/0
user@host# set flexible-vlan-tagging
user@host# set encapsulation flexible-ethernet-services
user@host# set hierarchical-scheduler maximum-hierarchy-levels 2
[edit]
user@host# edit interfaces demux0 unit 1
6. Prevent multiple PPPoE sessions from being created for the same PPPoE subscriber
on the same VLAN interface.
7. (Optional) Specify that you want the demux interface to use proxy ARP.
Results From configuration mode, confirm your configuration by entering the show command.
[edit interfaces]
user@host# show
ge-0/3/0 {
hierarchical-scheduler maximum-hierarchy-levels 2;
flexible-vlan-tagging;
encapsulation flexible-ethernet-services;
}
demux0 {
unit 1 {
proxy-arp;
vlan-tags outer 1 inner 1;
demux-options {
underlying-interface ge-0/3/0;
}
family pppoe {
duplicate-protection;
dynamic-profile pppoe-subscriber-profile;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit interfaces ge-0/2/5
Results From configuration mode, confirm your configuration by entering the show command.
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
edit routing-options
set router-id 10.0.0.0
[edit]
user@host# edit routing-options
[edit routing-options]
user@host# set router-id 10.0.0.0
Results From configuration mode, confirm your configuration by entering the show command.
[edit routing-options]
user@host# show
router-id 10.0.0.0;
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit access radius-server 10.9.0.9
2. Configure the required secret (password) for the server. Secrets enclosed in
quotation marks can contain spaces.
3. Configure the source address that the BNG uses when it sends RADIUS requests to
the RADIUS server.
4. (Optional) Configure the number of times that the router attempts to contact a
RADIUS accounting server. You can configure the router to retry from 1 through 16
times. The default setting is 3 retry attempts.
5. (Optional) Configure the length of time that the local router or switch waits to
receive a response from a RADIUS server. By default, the router or switch waits 3
seconds. You can configure the timeout to be from 1 through 90 seconds.
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
radius-server {
10.9.0.9 {
secret "$9$lXRv87GUHm5FYgF/CA1I"; ## SECRET-DATA
timeout 45;
retry 4;
source-address 10.0.0.1;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit access profile Access-Profile
3. Specify the address of the RADIUS server used for authentication and the server
used for accounting.
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
profile Access-Profile {
authentication-order radius;
radius {
authentication-server 10.9.0.9;
accounting-server 10.9.0.9;
}
accounting {
order [ radius none ];
update-interval 120;
statistics volume-time;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
Step-by-Step Configure three address-assignment pools for DHCPv4, DHCPv6 IA_NA, and DHCPv6
Procedure prefix delegation.
[edit]
user@host# edit access address-assignment pool v4-pool
user@host# edit family inet
user@host# set network 10.16.0.1
user@host# set range v4-range-0 low 10.16.0.1
user@host# set range v4-range-0 high 10.31.255.255
user@host# set dhcp-attributes maximum-lease-time 99999
[edit]
user@host# edit access address-assignment pool v6-ia-na-pool
user@host# edit family inet6
user@host# set prefix 1000:0000::/64
user@host# set range v6-range-0 low 1000::1/128
user@host# set range v6-range-0 high 1000::ffff:ffff/128
[edit]
user@host# edit access address-assignment pool v6-pd-pool
user@host# edit family inet6
user@host# set prefix 2012::/48
user@host# set range v6-pd prefix-length 64
[edit access]
user@host# set address-protection
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
address-assignment {
pool v4-pool {
family inet {
network 10.16.0.1/32;
range v4-range-0 {
low 10.16.0.1;
high 10.31.255.255;
}
dhcp-attributes {
maximum-lease-time 99999;
}
}
}
pool v6-ia-na-pool {
family inet6 {
prefix prefix 1000:0000::/64 ;
range v6-range-0 {
low 1000::1/128;
high 1000::ffff:ffff/128;
}
}
}
pool v6-pd-pool {
family inet6 {
prefix 2012::/48;
range v6-pd prefix-length 64;
}
}
}
address-protection;
If you are done configuring the device, enter commit from configuration mode.
Verification
Confirm that the configuration is working properly.
Action From operational mode, enter the show subscribers summary command.
Meaning The fields under Subscribers by State show the number of active subscribers.
The fields under Subscribers by Client Type show the number of active DHCP and PPPoE
subscriber sessions.
Purpose Verify that the subscriber has both an IPv4 and an IPv6 address and is placed in the
correct routing instance.
user@host>show subscribers
Interface IP Address/VLAN ID User Name LS:RI
pp0.1073741825 10.16.0.2 SBRSTATICUSER default:default
pp0.1073741825 1000::1 default:default
Meaning The Interface field shows that two subscriber sessions are running on the same interface.
The IP Address field shows that one session is assigned an IPv4 address, and the second
session is assigned an IPv6 address by DHCPv6 IA_NA.
The LS:RI field shows that the subscriber is placed in the correct routing instance and
that traffic can be sent and received.
Purpose Verify dynamic PPPoE and DHCPv6 subscriber sessions. In this sample configuration,
the DHCPv6 subscriber session should be layered over the underlying PPPoE subscriber
session.
Action From operational mode, enter the show subscribers detail command.
Type: DHCP
IPv6 Address: 1000::1
Logical System: default
Routing Instance: default
Interface: pp0.1073741825
Interface type: Static
MAC Address: 00:01:02:00:00:01
State: Active
Radius Accounting ID: 3
Session ID: 3
Underlying Session ID: 2
Login Time: 2011-12-08 09:12:11 PST
DHCP Options: len 42
00 08 00 02 0b b8 00 01 00 0a 00 03 00 01 00 01 02 00 00 01
00 06 00 02 00 03 00 03 00 0c 00 00 00 00 00 00 00 00 00 00
00 00
Meaning When a subscriber has logged in and started both an IPv4 and an IPv6 session, the output
shows the active underlying PPPoE session and the active DHCPv6 session.
The Session ID field for the PPPoE session is 2. The Underlying Session ID for the DHCP
session is 2, which shows that the PPPoE session is the underlying session.
Purpose Verify the delegated address pool used for DHCPv6 prefix delegation and the length of
the IPv6 prefix that was delegated to the CPE.
Action From operational mode, enter the show subscribers extensive command.
Type: DHCP
IPv6 Address: 1000::1
Logical System: default
Routing Instance: default
Interface: pp0.1073741825
Interface type: Static
MAC Address: 00:01:02:00:00:01
State: Active
Radius Accounting ID: 3
Session ID: 3
Underlying Session ID: 2
Login Time: 2011-12-08 09:12:11 PST
DHCP Options: len 42
00 08 00 02 0b b8 00 01 00 0a 00 03 00 01 00 01 02 00 00 01
00 06 00 02 00 03 00 03 00 0c 00 00 00 00 00 00 00 00 00 00
00 00
IPv6 Delegated Address Pool: v6-na-pool
IPv6 Delegated Network Prefix Length: 64
Meaning The IPv6 Delegated Address Pool field shows the name of the pool that DHCPv6 used to
assign the IPv6 address for this subscriber session.
Purpose Display the address bindings in the client table on the DHCPv6 local server.
Action From operational mode, enter the show dhcpv6 server binding detail command.
Meaning The Client IPv6 Address field shows the /128 address that was assigned to the CPE WAN
link using DHCPv6 IA_NA.
The Client Pool Name field shows the name of the address pool that was used to assign
the Client IPv6 Address.
Action From operational mode, enter the show ppp interface interface extensive command.
Meaning The output shows the PPP options that were negotiated with the remote peer.
Under IPCP, the Negotiated options field shows the IPv4 local and remote addresses that
were negotiated by IPCP.
Under IPV6CP, the Negotiated options field shows the IPv6 local and remote interface
identifiers that were negotiated by IPv6CP.
Example: Configuring a Dual Stack That Uses ND/RA and DHCPv6 Prefix Delegation
over PPPoE on page 103
Example: Configuring a Dual Stack That Uses ND/RA and DHCPv6 Prefix Delegation
over PPPoE
Requirements
This example uses the following hardware and software components:
Overview
This design uses ND/RA and DHCPv6 prefix delegation in your subscriber access network
as follows:
ND/RA is used to assign a global IPv6 address on the WAN link. The prefixes used in
router advertisements come from a local pool that is specified using AAA RADIUS.
DHCPv6 prefix delegation is used for subscriber LAN addressing. It uses a delegated
prefix from a local pool that is specified using AAA RADIUS.
DHCPv6 subscriber sessions are layered over an underlying PPPoE subscriber session.
Topology
Figure 15: PPPoE Subscriber Access Network with ND/RA and DHCPv6
Prefix Delegation
Subscriber LAN
IPv4 and IPv6 devices
ND/RA and DHCPv6 prefix delegation
RADIUS
WAN link address server
using ND/RA
Broadband
Access Network Carrier IPv4 and
CPE Network
PPPoE IPv6 Network
Gateway
VLAN
g017768
ND/RA or DHCPv6
Table 7 on page 104 describes the configuration components used in this example.
Table 7: Configuration Components Used in Dual Stack with ND/RA and DHCPv6 Prefix
Delegation
Configuration
Component Component Name Purpose
Dynamic profiles DS-dyn-ipv4v6-ndra Profile that creates a PPPoE logical interface when the subscriber logs
in.
lo0 Loopback interface for use in the access network. The loopback interface
is automatically used for unnumbered interfaces.
Address-assignment default-ipv4-pool-2 Pool that provides IPv4 addresses for the subscriber LAN.
pools
ndra-2010 Pool that provides IPv6 prefixes used in router advertisements. These
prefixes are used to create a global IPv6 address that is assigned to the
CPE WAN link.
dhcpv6-pd-pool Pool that provides a pool of prefixes that are delegated to the CPE and
are used for assigning IPv6 global addresses on the subscriber LAN.
Configuration
Configuring a DHCPv6 Local Server for DHCPv6 over PPPoE on page 107
Configuring a Dynamic Profile for the PPPoE Logical Interface on page 108
Configuring a Loopback Interface on page 111
Configuring a Static Underlying Ethernet Interface for Dynamic PPPoE Subscriber
Interfaces on page 111
Specifying the BNG IP Address on page 113
Configuring RADIUS Server Access on page 113
Configuring RADIUS Server Access Profile on page 114
Configuring Local Address-Assignment Pools on page 115
Specifying the Address-Assignment Pool to Be Used for DHCPv6 Prefix
Delegation on page 117
CLI Quick The following is the complete configuration for this example:
Configuration
dynamic-profiles {
DS-dyn-ipv4v6-ra {
interfaces {
pp0 {
unit "$junos-interface-unit" {
ppp-options {
chap;
pap;
}
pppoe-options {
underlying-interface "$junos-underlying-interface";
server;
}
keepalives interval 30;
family inet {
unnumbered-address lo0.0;
}
family inet6 {
address $junos-ipv6-address;
}
}
}
}
protocols {
router-advertisement {
interface "$junos-interface-name" {
prefix $junos-ipv6-ndra-prefix;
}
}
}
}
}
system {
services {
dhcp-local-server {
dhcpv6 {
overrides {
delegated-pool dhcpv6-pd-pool;
}
group DHCPv6-over-pppoe {
interface pp0.0;
}
}
}
}
}
interfaces {
ge-3/3/0 {
unit 1109 {
description "dynamic ipv4v6 dual stack, ndra, dhcpv6 pd";
encapsulation ppp-over-ether;
vlan-id 1109;
pppoe-underlying-options {
duplicate-protection;
dynamic-profile DS-dyn-ipv4v6-ra;
}
}
}
lo0 {
description "dynamic ipv4v6 dual stack, ndra, dhcpv6 pd";
unit 0 {
family inet {
address 77.1.1.1/32 {
primary;
}
}
family inet6 {
address 2030:0:0:0::1/64 {
primary;
}
}
}
}
}
routing-options {
router-id 10.0.0.0;
}
access {
radius-server {
10.9.0.9 {
secret "$9$lXRv87GUHm5FYgF/CA1I"; ## SECRET-DATA
timeout 45;
retry 4;
source-address 10.0.0.1;
}
}
profile Access-Profile {
authentication-order radius;
radius {
authentication-server 10.9.0.9;
accounting-server 10.9.0.9;
}
accounting {
order [ radius none ];
update-interval 120;
statistics volume-time;
}
}
address-assignment {
pool default-ipv4-pool-2 {
family inet {
network 10.10.0.0/16;
range r5 {
low 10.10.0.1;
high 10.10.250.250;
}
}
}
pool dhcpv6-pd-pool {
family inet6 {
prefix 2040:2000:2000::/48;
range r1 prefix-length 64;
}
}
pool ndra-2010 {
family inet6 {
prefix 2010:0:0:0::/48;
range L prefix-length 64;
}
}
}
address-protection;
}
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
Step-by-Step To layer DHCPv6 above the PPPoE IPv6 family (inet6), associate DHCPv6 with the
Procedure PPPoE interfaces by adding the PPPoE interfaces to the DHCPv6 local server
configuration. Because this example uses a dynamic PPPoE interface, we are using the
pp0.0 (PPPoE) logical interface as a wildcard to indicate that a DHCPv6 binding can be
made on top of a PPPoE interface.
[edit]
The group feature groups a set of interfaces and then applies a common DHCP
configuration to the named interface group.
Results From configuration mode, confirm your configuration by entering the show command.
[edit]
user@host# show
system {
services {
dhcp-local-server {
dhcpv6 {
group DHCPv6-over-pppoe {
interface pp0.0;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
Step-by-Step Create a dynamic profile for the PPPoE logical interface. This dynamic profile supports
Procedure both IPv4 and IPv6 sessions on the same logical interface.
[edit]
user@host# edit dynamic-profiles DS-dyn-ipv4v6-ra
2. Configure a PPPoE logical interface (pp0) that is used to create logical PPPoE
interfaces for the IPv4 and IPv6 subscribers.
5. Configure the router to act as a PPPoE server when a PPPoE logical interface is
dynamically created.
6. Configure the IPv4 family for the pp0 interface. Specify the unnumbered address
to dynamically create loopback interfaces.
7. Configure the IPv6 family for the pp0 interface. Because the example uses router
advertisement, assign the predefined variable $junos-ipv6-address.
8. Configure one or more PPP authentication protocols for the pp0 interface.
12. Specify a prefix value contained in router advertisement messages sent to the CPE
on interfaces created with this dynamic profile. If you specify the
$junos-ipv6-ndra-prefix predefined variable, the actual value is obtained from a
local pool or through AAA.
Results From configuration mode, confirm your configuration by entering the show command.
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit interfaces lo0 unit 0
Results From configuration mode, confirm your configuration by entering the show command.
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit interfaces ge-3/3/0 unit 1109
6. (Optional) Prevent multiple PPPoE sessions from being created for the same PPPoE
subscriber on the same VLAN interface.
Results From configuration mode, confirm your configuration by entering the show command.
[edit interfaces]
user@host# show
ge-3/3/0 {
unit 1109 {
description "dynamic ipv4v6 dual stack, ndra, dhcpv6 pd";
encapsulation ppp-over-ether;
vlan-id 1109;
pppoe-underlying-options {
duplicate-protection;
dynamic-profile DS-dyn-ipv4v6-ra;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
edit routing-options
set router-id 10.0.0.0
[edit]
user@host# edit routing-options
[edit routing-options]
user@host# set router-id 10.0.0.0
Results From configuration mode, confirm your configuration by entering the show command.
[edit routing-options]
user@host# show
router-id 10.0.0.0;
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
2. Configure the required secret (password) for the server. Secrets enclosed in
quotation marks can contain spaces.
3. Configure the source address that the BNG uses when it sends RADIUS requests to
the RADIUS server.
4. (Optional) Configure the number of times that the router attempts to contact a
RADIUS accounting server. You can configure the router to retry from 1 through 16
times. The default setting is 3 retry attempts.
5. (Optional) Configure the length of time that the local router or switch waits to
receive a response from a RADIUS server. By default, the router or switch waits 3
seconds. You can configure the timeout to be from 1 through 90 seconds.
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
radius-server {
10.9.0.9 {
secret "$9$lXRv87GUHm5FYgF/CA1I"; ## SECRET-DATA
timeout 45;
retry 4;
source-address 10.0.0.1;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit access profile Access-Profile
3. Specify the address of the RADIUS server used for authentication and the server
used for accounting.
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
profile Access-Profile {
authentication-order radius;
radius {
authentication-server 10.9.0.9;
accounting-server 10.9.0.9;
}
accounting {
order [ radius none ];
update-interval 120;
statistics volume-time;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
edit access
set address-assignment pool default-ipv4-pool-2 family inet network 10.10.0.0/16
set address-assignment pool default-ipv4-pool-2 family inet range r5 low 10.10.0.1
Step-by-Step Configure three address-assignment pools for DHCPv4, DHCPv6 prefix delegation, and
Procedure ND/RA.
[edit]
user@host# edit access address-assignment pool default-ipv4-pool-2
user@host# edit family inet
user@host# set network 10.10.0.0/16
user@host# set range r5 low 10.10.0.1
user@host# set range r5 high 10.10.250.250
[edit]
user@host# edit access address-assignment pool dhcpv6-pd-pool
user@host# edit family inet6
user@host# set prefix 2040:2000:2000::/48
user@host# set range r1 prefix-length 64
[edit]
user@host# edit access address-assignment pool ndra-2010
user@host# edit family inet6
user@host# set prefix 2010:0:0:0::/48
user@host# set range L prefix-length 64
[edit access]
user@host# set address-protection
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
address-assignment {
pool default-ipv4-pool-2 {
family inet {
network 10.10.0.0/16;
range r5 {
low 10.10.0.1;
high 10.10.250.250;
}
}
}
pool dhcpv6-pd-pool {
family inet6 {
prefix 2040:2000:2000::/48;
range r1 prefix-length 64;
}
}
pool ndra-2010 {
family inet6 {
prefix 2010:0:0:0::/48;
range L prefix-length 64;
}
}
}
address-protection;
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
Step-by-Step To specify that the dhcp-pd-pool is used for DHCPv6 prefix delegation:
Procedure
1. Access the DHCPv6 local server configuration.
[edit]
user@host# edit system services dhcp-local-server dhcpv6
Results From configuration mode, confirm your configuration by entering the show command.
[edit system]
user@host# show
services {
dhcp-local-server {
dhcpv6 {
overrides {
delegated-pool dhcpv6-pd-pool;
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
Confirm that the configuration is working properly.
Action From operational mode, enter the show subscribers summary command.
Meaning The fields under Subscribers by State show the number of active subscribers.
The fields under Subscribers by Client Type show the number of active DHCP and DHCPoE
subscriber sessions.
Purpose Verify that the subscriber has both an IPv4 and IPv6 address and is placed in the correct
routing instance.
user@host>show subscribers
Interface IP Address/VLAN ID User Name LS:RI
pp0.1073741864 2.2.0.5 dual-stack-v4v6-pd default:default
* 2010:0:0:8::/64
pp0.1073741864 2040:2000:2000:5::/64 default:default
Meaning The Interface field shows that there are two subscriber sessions running on the same
interface. The IP Address field shows that one session is assigned an IPv4 address, and
one session is assigned on IPv6 address.
The LS:RI field shows that the subscriber is placed in the correct routing instance and
that traffic can be sent and received.
Purpose Verify dynamic PPPoE and DHCPv6 subscriber sessions. In this sample configuration,
the DHCPv6 subscriber session should be layered over the underlying PPPoE subscriber
session.
Action From operational mode, enter the show subscribers detail command.
Type: DHCP
IPv6 Prefix: 2040:2000:2000:5::/64
Logical System: default
Routing Instance: default
Interface: pp0.1073741864
Interface type: Static
MAC Address: 00:07:64:11:07:02
State: Active
Radius Accounting ID: 88
Session ID: 88
Underlying Session ID: 87
Login Time: 2012-01-17 14:46:00 PST
DHCP Options: len 42
00 08 00 02 0b b8 00 01 00 0a 00 03 00 01 00 07 64 11 07 02
00 06 00 02 00 19 00 19 00 0c 00 00 00 00 00 00 00 00 00 00
00 00
Meaning When a subscriber has logged in and started both an IPv4 and an IPv6 session, the output
shows the active underlying PPPoE session and the active DHCPv6 session.
The Session ID field for the PPPoE session is 87. The Underlying Session ID for the DHCP
session is 87, which shows that the PPPoE session is the underlying session.
Verifying DHCPv6 Address Pools Used for ND/RA and DHCPv6 Prefix Delegation
Purpose Verify the pool used for ND/RA, the delegated address pool used for DHCPv6 prefix
delegation, and the length of the IPv6 prefixes that were delegated to the CPE.
Action From operational mode, enter the show subscribers extensive command.
Type: DHCP
IPv6 Prefix: 2040:2000:2000:5::/64
Logical System: default
Routing Instance: default
Interface: pp0.1073741864
Interface type: Static
MAC Address: 00:07:64:11:07:02
State: Active
Radius Accounting ID: 88
Session ID: 88
Underlying Session ID: 87
Login Time: 2012-01-17 14:46:00 PST
DHCP Options: len 42
00 08 00 02 0b b8 00 01 00 0a 00 03 00 01 00 07 64 11 07 02
00 06 00 02 00 19 00 19 00 0c 00 00 00 00 00 00 00 00 00 00
00 00
IPv6 Delegated Address Pool: dhcpv6-pd-pool
IPv6 Delegated Network Prefix Length: 64
IPv6 Delegated Network Prefix Length: 48
Meaning Under the PPPoE session, the IPv6 Delegated Address Pool fields show the names of the
pools used for DHCPv6 prefix delegation and for ND/RA prefixes. The IPv6 Delegated
Network Prefix Length field shows the length of the prefix used to assign the IPv6 address
for this subscriber session. The IPv6 Interface Address field shows the IPv6 address
assigned to the CPE interface from the ND/RA pool.
Under the DHCP session, the IPv6 Delegated Address Pool field shows the name of the
pool used for DHCPv6 prefix delegation. The IPv6 Delegated Network Prefix Length fields
show the length of the prefix used in DHCPv6 prefix delegation.
Purpose Display the address bindings in the client table on the DHCPv6 local server.
Action From operational mode, enter the show dhcpv6 server binding command.
If you have many active subscriber sessions, you can display the server binding for a
specific interface.
Meaning The Prefix field shows the DHCPv6 prefix assigned to the subscriber session from the
pool used for DHCPv6 prefix delegation.
Purpose Verify that router advertisements are being sent, and that router solicits are being received.
Action From operational mode, enter the show ipv6 router-advertisement command.
If you have a large number of subscriber interfaces, you can display router advertisements
for a specific interface.
Meaning The display shows the number of advertisements that the router sent, the number of
solicits that the router received, and the number of advertisements that the router
received.
Purpose Display status information about the PPPoE logical interface (pp0).
Action From operational mode, enter the show interfaces pp0.logical command.
Meaning The Underlying interface field shows the underlying Ethernet interface configured in the
example.
The Destination field under Protocol inet6 shows the IPv6 address obtained through
ND/RA. This is the value of the $junos-ipv6-ndra-prefix variable configured in the dynamic
profile.
The Local field under Protocol inet6 shows the value of the $junos-ipv6-address variable
configured for family inet6 in the pp0 configuration of the dynamic profile.
Example: Configuring a Dual Stack That Uses ND/RA over PPPoE on page 123
This example shows a dual-stack configuration for a residential subscriber with a single
PC. It uses ND/RA to provide a prefix used to obtain a global IPv6 address for the PC.
Requirements
This example uses the following hardware and software components:
Overview
This design uses ND/RA in your subscriber access network as follows:
ND/RA is used to assign a global IPv6 address on the WAN link. The prefixes used in
router advertisements come from a local pool that is specified by AAA RADIUS.
Topology
Broadband
Access Network Carrier IPv4 and
Network
PPPoE IPv6 Network
Gateway
PC
VLAN
g017769
Table 8 on page 124 describes the configuration components used in this example.
Table 8: Configuration Components Used in Dual Stack with ND/RA and DHCPv6 Prefix
Delegation
Configuration
Component Component Name Purpose
Dynamic profiles DS-dyn-ipv4v6-ndra Profile that creates a PPPoE logical interface when the subscriber
logs in.
lo0 Loopback interface for use in the access network. The loopback
interface is automatically used for unnumbered interfaces.
Address-assignment default-ipv4-pool-2 Pool that provides IPv4 addresses for the subscriber LAN.
pools
ndra-2010 Pool that provides IPv6 prefixes used in router advertisements. These
prefixes are used to create a global IPv6 address that is assigned to
the CPE WAN link.
Configuration
To configure this example, perform these tasks:
Configuring a Dynamic Profile for the PPPoE Logical Interface on page 127
Configuring a Loopback Interface on page 129
Configuring a Static Underlying Ethernet Interface for Dynamic PPPoE Subscriber
Interfaces on page 130
Specifying the BNG IP Address on page 131
Configuring RADIUS Server Access on page 132
Configuring RADIUS Server Access Profile on page 133
Configuring Local Address-Assignment Pools on page 134
CLI Quick The following is the complete configuration for this example:
Configuration
dynamic-profiles {
DS-dyn-ipv4v6-ra {
interfaces {
pp0 {
unit "$junos-interface-unit" {
ppp-options {
chap;
pap;
}
pppoe-options {
underlying-interface "$junos-underlying-interface";
server;
}
keepalives interval 30;
family inet {
unnumbered-address lo0.0;
}
family inet6 {
address $junos-ipv6-address;
}
}
}
}
protocols {
router-advertisement {
interface "$junos-interface-name" {
prefix $junos-ipv6-ndra-prefix;
}
}
}
}
}
system {
services {
dhcp-local-server {
dhcpv6 {
group DHCPv6-over-pppoe {
interface pp0.0;
}
}
}
}
}
interfaces {
ge-3/3/0 {
unit 1004 {
description "dynamic ipv4v6 dual stack, ndra, dhcpv6 pd";
encapsulation ppp-over-ether;
vlan-id 1004;
pppoe-underlying-options {
duplicate-protection;
dynamic-profile DS-dyn-ipv4v6-ra;
}
}
}
lo0 {
description "dynamic ipv4v6 dual stack, ndra, dhcpv6 pd";
unit 0 {
family inet {
address 77.1.1.1/32 {
primary;
}
}
family inet6 {
address 2030:0:0:0::1/64 {
primary;
}
}
}
}
}
routing-options {
router-id 10.0.0.0;
}
access {
radius-server {
10.9.0.9 {
secret "$9$lXRv87GUHm5FYgF/CA1I"; ## SECRET-DATA
timeout 45;
retry 4;
source-address 10.0.0.1;
}
}
profile Access-Profile {
authentication-order radius;
radius {
authentication-server 10.9.0.9;
accounting-server 10.9.0.9;
}
accounting {
order [ radius none ];
update-interval 120;
statistics volume-time;
}
}
address-assignment {
pool default-ipv4-pool-2 {
family inet {
network 10.10.0.0/16;
range r5 {
low 10.10.0.1;
high 10.10.250.250;
}
}
}
pool ndra-2010 {
family inet6 {
prefix 2010:0:0:0::/48;
range L prefix-length 64;
}
}
}
address-protection;
}
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
Step-by-Step Create a dynamic profile for the PPPoE logical interface. This dynamic profile supports
Procedure both IPv4 and IPv6 sessions on the same logical interface.
[edit]
user@host# edit dynamic-profiles DS-dyn-ipv4v6-ra
2. Configure a PPPoE logical interface (pp0) that is used to create logical PPPoE
interfaces for the IPv4 and IPv6 subscribers.
5. Configure the router to act as a PPPoE server when a PPPoE logical interface is
dynamically created.
6. Configure the IPv4 family for the pp0 interface. Specify the unnumbered address
to dynamically create loopback interfaces.
7. Configure the IPv6 family for the pp0 interface. Because the example uses router
advertisement, assign the predefined variable $junos-ipv6-address.
8. Configure one or more PPP authentication protocols for the pp0 interface.
12. Specify a prefix value contained in router advertisement messages sent to the CPE
on interfaces created with this dynamic profile. If you specify the
Results From configuration mode, confirm your configuration by entering the show command.
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit interfaces lo0 unit 0
Results From configuration mode, confirm your configuration by entering the show command.
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
6. (Optional) Prevent multiple PPPoE sessions from being created for the same PPPoE
subscriber on the same VLAN interface.
Results From configuration mode, confirm your configuration by entering the show command.
[edit interfaces]
user@host# show
ge-3/3/0 {
unit 1004 {
description "dynamic ipv4v6 dual stack, ndra, dhcpv6 pd";
encapsulation ppp-over-ether;
vlan-id 1004;
pppoe-underlying-options {
duplicate-protection;
dynamic-profile DS-dyn-ipv4v6-ra;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
edit routing-options
set router-id 10.0.0.0
[edit]
user@host# edit routing-options
[edit routing-options]
user@host# set router-id 10.0.0.0
Results From configuration mode, confirm your configuration by entering the show command.
[edit routing-options]
user@host# show
router-id 10.0.0.0;
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit access radius-server 10.9.0.9
2. Configure the required secret (password) for the server. Secrets enclosed in
quotation marks can contain spaces.
3. Configure the source address that the BNG uses when it sends RADIUS requests to
the RADIUS server.
4. (Optional) Configure the number of times that the router attempts to contact a
RADIUS accounting server. You can configure the router to retry from 1 through 16
times. The default setting is 3 retry attempts.
5. (Optional) Configure the length of time that the local router or switch waits to
receive a response from a RADIUS server. By default, the router or switch waits 3
seconds. You can configure the timeout to be from 1 through 90 seconds.
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
radius-server {
10.9.0.9 {
secret "$9$lXRv87GUHm5FYgF/CA1I"; ## SECRET-DATA
timeout 45;
retry 4;
source-address 10.0.0.1;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
[edit]
user@host# edit access profile Access-Profile
3. Specify the address of the RADIUS server used for authentication and the server
used for accounting.
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
profile Access-Profile {
authentication-order radius;
radius {
authentication-server 10.9.0.9;
accounting-server 10.9.0.9;
}
accounting {
order [ radius none ];
update-interval 120;
statistics volume-time;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy
level.
edit access
set address-assignment pool default-ipv4-pool-2 family inet network 10.10.0.0/16
set address-assignment pool default-ipv4-pool-2 family inet range r5 low 10.10.0.1
set address-assignment pool default-ipv4-pool-2 family inet range r5 high 10.10.250.250
set address-assignment pool ndra-2010 family inet6 prefix 2010:0:0:0::/48
set address-assignment pool ndra-2010 family inet6 range L prefix-length 64
set address-protection
Step-by-Step Configure three address-assignment pools for DHCPv4, DHCPv6 prefix delegation, and
Procedure ND/RA.
[edit]
user@host# edit access address-assignment pool default-ipv4-pool-2
user@host# edit family inet
user@host# set network 10.10.0.0/16
user@host# set range r5 low 10.10.0.1
user@host# set range r5 high 10.10.250.250
[edit]
user@host# edit access address-assignment pool ndra-2010
user@host# edit family inet6
user@host# set prefix 2010:0:0:0::/48
user@host# set range L prefix-length 64
[edit access]
user@host# set address-protection
Results From configuration mode, confirm your configuration by entering the show command.
[edit access]
user@host# show
address-assignment {
pool default-ipv4-pool-2 {
family inet {
network 10.10.0.0/16;
range r5 {
low 10.10.0.1;
high 10.10.250.250;
}
}
}
pool ndra-2010 {
family inet6 {
prefix 2010:0:0:0::/48;
range L prefix-length 64;
}
}
}
address-protection;
If you are done configuring the device, enter commit from configuration mode.
Verification
Confirm that the configuration is working properly.
Action From operational mode, enter the show subscribers summary command.
Meaning The fields under Subscribers by State show the number of active subscribers.
The fields under Subscribers by Client Type show the number of active DHCP and
underlying PPPoE subscriber sessions.
Purpose Verify that the subscriber has both an IPv4 and IPv6 address and is placed in the correct
routing instance.
user@host>show subscribers
Interface IP Address/VLAN ID User Name LS:RI
pp0.1073741864 2.2.0.5 dual-stack-v4v6-pd default:default
* 2010:0:0:8::/64
pp0.1073741864 2040:2000:2000:5::/64 default:default
Meaning The Interface field shows that there are two subscriber sessions running on the same
interface. The IP Address field shows that one session is assigned an IPv4 address, and
one session is assigned on IPv6 address.
The LS:RI field shows that the subscriber is placed in the correct routing instance and
that traffic can be sent and received.
Purpose Verify that the dynamic subscriber session is active and that the IPv6 prefix is obtained
from the ND/RA pool.
Action From operational mode, enter the show subscribers detail command.
Meaning The IPv6 User Prefix field shows the prefix that was obtained from the ND/RA pool. The
State field shows that the session is active.
Purpose Verify the pool used for ND/RA and the prefix length used with the pool
Action From operational mode, enter the show subscribers extensive command.
Meaning Under the PPPoE session, the IPv6 Delegated Address Pool field shows the name of the
pool used for ND/RA prefixes. The IPv6 Delegated Network Prefix Length field shows the
length of the prefix used to assign the IPv6 address for this subscriber session. The IPv6
Interface Address field shows the IPv6 address assigned to the CPE interface from the
ND/RA pool.
Purpose Display status information about the PPPoE logical interface (pp0).
Action From operational mode, enter the show interfaces pp0.logical command.
Meaning The Local field under Protocol inet shows the IPv4 address of the pp0 interface. This is
the IPv4 address configured for the loopback interface.
The Destination field under Protocol inet6 shows the IPv6 address obtained through
ND/RA. This is the value of the $junos-ipv6-ndra-prefix variable configured in the dynamic
profile.
The Local field under Protocol inet6 shows the value of the $junos-ipv6-address variable
configured for family inet6 in the pp0 configuration of the dynamic profile.
Purpose Verify that router advertisements are being sent and that router solicits are being received.
Action From operational mode, enter the show ipv6 router-advertisement command.
Solicits received: 0
Advertisements received: 0
If you have a large number of subscriber interfaces, you can display router advertisements
for a specific interface.
Meaning The display shows the number of advertisements that the router sent, the number of
solicits that the router received, and the number of advertisements that the router
received.