Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Example: Configuring a Dual Stack That Uses NDRA and DHCPv6 Prefix Delegation over PPPoE

 

This example provides a step-by-step procedure and commands for configuring and verifying a dual stack that uses Neighbor Discovery Router Advertisement (NDRA) and Dynamic Host Configuration Protocol for IPv6 (DHCPv6) prefix delegation over Point-to-Point Protocol over Ethernet (PPPoE).

Requirements

This example uses the following hardware and software components:

  • MX Series 3D Universal Edge Router

  • Junos OS Release 11.4 or later

Note

This configuration example has been tested using the software release listed and is assumed to work on all later releases.

Overview

This example uses NDRA and DHCPv6 prefix delegation in your subscriber access network as follows:

  • The access network is PPPoE.

  • NDRA 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 authentication, authorization, and accounting (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.

  • DHCPv4 is used for subscriber LAN addressing.

  • DHCPv6 subscriber sessions are layered over an underlying PPPoE subscriber session.

Topology

Figure 1: PPPoE Subscriber Access Network with NDRA and DHCPv6 Prefix Delegation
PPPoE Subscriber Access Network with NDRA and DHCPv6
Prefix Delegation

Table 1 describes the configuration components used in this example.

Table 1: Configuration Components Used in Dual Stack with NDRA 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.

Interfaces

ge-3/3/0

Underlying Ethernet interface.

lo0

Loopback interface for use in the access network. The loopback interface is automatically used for unnumbered interfaces.

Address-assignment pools

default-ipv4-pool-2

Pool that provides IPv4 addresses for the subscriber LAN.

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

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

To layer DHCPv6 above the PPPoE IPv6 family (inet6), associate DHCPv6 with the 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.

To configure a DHCPv6 local server:

  1. Access the DHCPv6 local server configuration.
  2. Create a group for dynamic PPPoE interfaces and assign a name.

    The group feature groups a set of interfaces and then applies a common DHCP configuration to the named interface group.

  3. Add an interface for dynamic PPPoE logical interfaces.

Results

From configuration mode, confirm your configuration by entering the show command.

If you are done configuring the device, enter commit from configuration mode.

Configuring a Dynamic Profile for the PPPoE Logical Interface

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

Create a dynamic profile for the PPPoE logical interface. This dynamic profile supports both IPv4 and IPv6 sessions on the same logical interface.

To configure the dynamic profile:

  1. Create and name the dynamic profile.
  2. Configure a PPPoE logical interface (pp0) that is used to create logical PPPoE interfaces for the IPv4 and IPv6 subscribers.
  3. Specify $junos-interface-unit as the predefined variable to represent the logical unit number for the pp0 interface.

    The variable is dynamically replaced with the actual unit number supplied by the network when the subscriber logs in.

  4. Specify $junos-underlying-interface as the predefined variable to represent the name of the underlying Ethernet interface on which the router creates the dynamic PPPoE logical interface. The variable is dynamically replaced with the actual name of the underlying interface supplied by the network when the subscriber logs in.
  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 by specifying 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.
  9. Enable keepalives and set an interval for keepalives.

    We recommend an interval of 30 seconds.

  10. Access the router advertisement configuration.
  11. Specify the interface on which the NDRA configuration is applied.
  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.

Configuring a Loopback Interface

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

To configure a loopback interface:

  1. Create the loopback interface and specify a unit number.
  2. Configure the interface for IPv4.
  3. Configure the interface for IPv6.

Results

From configuration mode, confirm your configuration by entering the show command.

If you are done configuring the device, enter commit from configuration mode.

Configuring a Static Underlying Ethernet Interface for Dynamic PPPoE Subscriber Interfaces

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

To configure the underlying Ethernet interface:

  1. Specify the name and logical unit number of the static underlying Ethernet interface to which you want to attach the IPv4 and IPv6 dynamic profile.
  2. Configure a description for the interface.
  3. Configure PPPoE encapsulation on the underlying interface.
  4. Configure the VLAN ID.
  5. Attach the dynamic profile to the underlying interface.
  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.

If you are done configuring the device, enter commit from configuration mode.

Specifying the BNG IP Address

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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.

Best Practice

We strongly recommend that you configure the BNG IP address to avoid unpredictable behavior if the interface address on a loopback interface changes.

Step-by-Step Procedure

To configure the IP address of the BNG:

  1. Access the routing-options configuration.
  2. Specify the IP address or the BNG.

Results

From configuration mode, confirm your configuration by entering the show command.

If you are done configuring the device, enter commit from configuration mode.

Configuring RADIUS Server Access

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

To configure RADIUS servers:

  1. Create a RADIUS server configuration, and specify the address of the server.
  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.

If you are done configuring the device, enter commit from configuration mode.

Configuring RADIUS Server Access Profile

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

To configure a RADIUS server access profile:

  1. Create a RADIUS server access profile.
  2. Specify the order in which authentication methods are used.
  3. Specify the address of the RADIUS server used for authentication and the server used for accounting.
  4. Configure RADIUS accounting values for the access profile.

Results

From configuration mode, confirm your configuration by entering the show command.

If you are done configuring the device, enter commit from configuration mode.

Configuring Local Address-Assignment Pools

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

Configure three address-assignment pools for DHCPv4, DHCPv6 prefix delegation, and NDRA.

To configure the address-assignment pools:

  1. Configure the address-assignment pool for DHCPv4.
  2. Configure the address-assignment pool for DHCPv6 prefix delegation.
  3. Configure the address-assignment pool for NDRA.
  4. (Optional) Enable duplicate prefix protection.

Results

From configuration mode, confirm your configuration by entering the show command.

If you are done configuring the device, enter commit from configuration mode.

Specifying the Address-Assignment Pool to Be Used for DHCPv6 Prefix Delegation

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text 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 Procedure

To specify that the dhcp-pd-pool is used for DHCPv6 prefix delegation:

  1. Access the DHCPv6 local server configuration.
  2. Specify the address pool that assigns the delegated prefix.

Results

From configuration mode, confirm your configuration by entering the show command.

If you are done configuring the device, enter commit from configuration mode.

Verification

Confirm that the configuration is working properly.

Verifying Active Subscriber Sessions

Purpose

Verify active subscriber sessions.

Action

From operational mode, enter the show subscribers summary command.

user@host> show subscribers summary

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.

Verifying Both IPv4 and IPv6 Address in Correct Routing Instance

Purpose

Verify that the subscriber has both an IPv4 and IPv6 address and is placed in the correct routing instance.

Action

From operational mode, enter the show subscribers command.

user@host> show subscribers

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.

Verifying Dynamic Subscriber Sessions

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.

user@host> show subscribers detail

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 NDRA and DHCPv6 Prefix Delegation

Purpose

Verify the pool used for NDRA, 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.

user@host> show subscribers extensive

Meaning

Under the PPPoE session, the IPv6 Delegated Address Pool fields show the names of the pools used for DHCPv6 prefix delegation and for NDRA 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 NDRA 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 prefixes used in DHCPv6 prefix delegation.

Verifying DHCPv6 Address Bindings

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.

user@host> show dhcpv6 server binding

If you have many active subscriber sessions, you can display the server binding for a specific interface.

user@host> show dhcpv6 server binding interface pp0.1073741864

Meaning

The Prefix field shows the DHCPv6 prefix assigned to the subscriber session from the pool used for DHCPv6 prefix delegation.

Verifying Router Advertisements

Purpose

Verify that router advertisements are being sent, and that router solicit messages are being received.

Action

From operational mode, enter the show ipv6 router-advertisement command.

user@host> show ipv6 router-advertisement

If you have a large number of subscriber interfaces, you can display router advertisements for a specific interface.

user@host> show ipv6 router-advertisement interface pp0.1073741864

Meaning

The display shows the number of advertisements that the router sent, the number of solicit messages that the router received, and the number of advertisements that the router received.

Verifying the Status of the PPPoE Logical Interface

Purpose

Display status information about the PPPoE logical interface (pp0).

Action

From operational mode, enter the show interfaces pp0.logical command.

user@host> show interfaces pp0.1073741864

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 NDRA. 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.

Results

The following is the complete configuration for this example: