Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Announcement: Try the Ask AI chatbot for answers to your technical questions about Juniper products and solutions.

close
header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Broadband Subscriber Sessions User Guide
Table of Contents Expand all
list Table of Contents

Best Practices for Configuring IPv4 and IPv6 Dual Stack in a PPPoE Access Network

date_range 05-Dec-23

Best Practice: Static PPPoE Interfaces with NDRA

When you use static PPPoE interfaces with NDRA, 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:

content_copy zoom_out_map
[edit protocols router-advertisement]
interface pp0.2004 {
    prefix 2001:db8:2040:2004::/64;
}
content_copy zoom_out_map
[edit interface pp0]
unit 2004 {
    family inet6 {
        address 2001:db8:2040:2004::10.1.1.1/64;
    }
}

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.

Best Practice: DHCPv6 Prefix Delegation over a PPPoE Access Network

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:

content_copy zoom_out_map
[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:

content_copy zoom_out_map
[edit interface pp0]
unit 2004 {
    family inet6 {
    unnumbered-address lo0.0;

Best Practice: IPv6 Addressing for Logical Interfaces in PPPoE Dynamic Profiles with NDRA

When you use NDRA, 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.

content_copy zoom_out_map
[edit dynamic-profiles]
dyn-v4v6-ndra {
    interfaces {
        pp0 {
            unit "$junos-interface-unit" {
                family inet6 {
                    address "$junos-ipv6-address ";
                }
            }
        }
    }
}

Best Practice: 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:

content_copy zoom_out_map
[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:

content_copy zoom_out_map
[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;
                }
            }
        }
    }
}

Best Practice: IPv4 Addressing for Logical Interfaces in PPPoE Dynamic Profiles

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.

content_copy zoom_out_map
[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.

content_copy zoom_out_map
[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;
                }
            }
        }
    }
}

Best Practice: Configuring Authentication for DHCP Subscribers on a PPPoE Access Network

In most cases PPPoE is used to authenticate subscribers in a PPPoE access network. However, if you wish to use DHCP to perform the authentication, do not configure subscriber authentication at the [edit system services dhcp-local-server] or the [edit system services dhcp-local-server dhcpv6] hierarchy levels. Instead configure subscriber authentication at the [edit system services dhcp-local-server dhcpv6 group] hierarchy level. For example:

content_copy zoom_out_map
[edit system services dhcp-local-server dhcpv6]
group v6-dhcp-client {
    authentication {
        password $ABC123;
        username-include {
            user-prefix StaticUser;
        }
    }
}
footer-navigation