Junos
Junos

DHCPv6 IA_NA and IA_PD over PPPoE

‎10-03-2019 02:28 AM

Using IPv4 for PPPoE clients, I now want to give these clients IPv6 connectivity as well.

I got a working setup with NDRA within dynamic profiles, but if you read my previous post 'DHCPv6 over PPPoE' you can see that that setup needs a fix for its configuration.

 

Now, on the other hand, you got DHCPv6.

I've tried experimenting a little bit using this link and RADIUS attributes Framed-IPv6-Address and Delegated-IPv6-Prefix and I see the IPV6CP session being openend. 

However, no route is being installed in the inet6.0 routing table, while it did happen with NDRA.

 

Now am I not sure what to do on the CPE side, but I want the CPE to require as little IPv6 configuration as possible. Sort of a plug-and-play dual-stack PPPoE session (of course with the username, password and interface selected).

 

So, what is required on server and what is required on CPE side?

 

My current configuration:

 

PPPoE-PROFILE-PRIMAIR {
    predefined-variable-defaults {
        input-filter police-unlimited;
        output-filter police-unlimited;
    }
    routing-instances {
        "$junos-routing-instance" {
            interface "$junos-interface-name";
            routing-options {
                access {
                    route $junos-framed-route-ip-address-prefix {
                        next-hop "$junos-framed-route-nexthop";
                        preference 4;
                    }
                }
                access-internal {
                    route $junos-subscriber-ip-address {
                        qualified-next-hop "$junos-interface-name";
                    }
                }
            }
        }
    }
    interfaces {
        pp0 {
            unit "$junos-interface-unit" {
                inactive: routing-service {
                    enable;
                }
                ppp-options {
                    chap;
                    pap;
                    authentication [ pap chap ];
                    mru 1492;
                    mtu 1492;
                }
                pppoe-options {
                    underlying-interface "$junos-underlying-interface";
                    server;
                }
                keepalives interval 60;
                family inet {
                    unnumbered-address "$junos-loopback-interface";
                }
                family inet6 {
                    rpf-check fail-filter rpf-v6;
                    unnumbered-address "$junos-loopback-interface";
                }
            }
        }
    }
}



ae10 {
    flexible-vlan-tagging;
    mtu 9192;
    encapsulation flexible-ethernet-services;
    aggregated-ether-options {
        lacp {
            active;
            periodic fast;
        }
    }
}
demux0 {
    unit 150 {
        vlan-id 150;
        demux-options {
            underlying-interface ae10;
        }
        family pppoe {
            duplicate-protection;
            dynamic-profile PPPoE-PROFILE-PRIMAIR;
        }
    }


services {
    dhcp-local-server {
        dhcpv6 {
            group group-pppoe {
                interface pp0.0;
            }
        }
    }
    subscriber-management {
        enable;
    }
}

configuration-database {
        max-db-size 104857600;
    }


 

My subscriber:

Type: PPPoE
User Name: ipv6test
IP Address: 185.217.211.88
IP Netmask: 255.255.255.255
Domain name server inet: 185.52.208.18 185.52.208.26 
IPv6 Address: 2a0b:9b41:968::1
IPv6 Prefix: 2a0b:9b41:967::/48
Logical System: default
Routing Instance: default
Interface: pp0.3221225500
Interface type: Dynamic
Underlying Interface: demux0.150
Dynamic Profile Name: PPPoE-PROFILE-PRIMAIR
Dynamic Profile Version: 12
MAC Address: 6c:3b:6b:e2:59:8c
State: Active
Radius Accounting ID: 43
Session ID: 43
PFE Flow ID: 60
VLAN Id: 150
Login Time: 2019-10-03 11:17:13 CEST
IPv6 Framed Interface Id: 0:0:0:7de
IPv6 rpf-check Fail Filter Name: rpf-v6
Dynamic configuration: 
  junos-input-filter: police-unlimited
  junos-output-filter: police-unlimited

PPP interface:

Session pp0.3221225500, Type: PPP, Phase: Network
   Keepalive settings: Interval 60 seconds, Up-count 1, Down-count 3
               Magic-Number validation: enable
    LCP
      State: Opened
      Last started: 2019-10-03 11:17:13 CEST
      Last completed: 2019-10-03 11:17:13 CEST
      Negotiated options:
        Authentication protocol: pap, Magic number: 370464372, Initial Advertised MRU: 1492, Local MRU: 1492, Peer MRU: 1480
    Authentication: PAP
      State: Grant
      Last started: 2019-10-03 11:17:13 CEST
      Last completed: 2019-10-03 11:17:13 CEST
    IPCP
      State: Opened
      Last started: 2019-10-03 11:17:13 CEST
      Last completed: 2019-10-03 11:17:13 CEST
      Negotiated options:
        Local address: 185.52.208.147, Remote address: 185.217.211.88
      Negotiation mode: Passive
    IPV6CP
      State: Opened
      Last started: 2019-10-03 11:17:13 CEST
      Last completed: 2019-10-03 11:17:13 CEST
      Negotiated options:
        Local interface identifier: 6687:88ff:fe5f:6d80, Remote interface identifier: 0:0:0:7de
      Negotiation mode: Passive

No route:

beelze@ams-nik-ac1> show route 2a0b:9b41:967::/48 

beelze@ams-nik-ac1>
5 REPLIES 5
Junos

Re: DHCPv6 IA_NA and IA_PD over PPPoE

‎10-03-2019 03:38 AM

Hi,

 

You would need DHCPv6 running on the CPE to request the IA_NA & IA_PD.

If successful, you would see a DHCP subscriber, example:

 

> show subscribers
Interface           IP Address/VLAN ID                      User Name                      LS:RI
demux0.1073741832    101                                                              default:default
pp0.1073741833      192.168.99.6                            user1@isp1.net            default:default
*                   2001:db8:2010:8::/64
*                   2001:db8:2010:7::/64
pp0.1073741833      2001:db8:2010:8::/64                                              default:default

> show subscribers summary

Subscribers by State
   Active: 3
   Total: 3

Subscribers by Client Type
   DHCP: 1
   VLAN: 1
   PPPoE: 1
   Total: 3

> show subscribers interface pp0.1073741833 detail
Type: DHCP
IPv6 Prefix: 2001:db8:2010:8::/64
Logical System: default
Routing Instance: default
Interface: pp0.1073741833
Interface type: Static
Underlying Interface: demux0.1073741832
MAC Address: 00:50:04:00:21:00
State: Active
Radius Accounting ID: 15
Session ID: 15
Underlying Session ID: 14
Login Time: 2019-10-03 10:22:37 UTC
DHCP Options: len 48
00 01 00 0e 00 01 00 01 24 b9 d0 04 00 50 04 00 21 00 00 08
00 02 00 00 00 06 00 04 00 17 00 18 00 19 00 0c 00 00 00 00
00 00 00 00 00 00 00 00

Hope this helps.

 

Cheers, 

Ashvin

Junos

Re: DHCPv6 IA_NA and IA_PD over PPPoE

‎10-03-2019 06:12 AM

I think your configuration is fine, but CPE doesn't use DHCPv6 to request prefixes. Please check the following things:

1) show dhcpv6 server bindings
2) monitor traffic interface <your physical interface> no-resolve - when your CPE is connecting

If there are multiple CPEs over the same physical interface, you'll have to play with tcpdump filters to capture traffic only for your particular CPE. In this way you'll see whether there are any DHCPv6 packets sent by CPE.

 

Best regards,

Sergii

-------------------------------------------------------------------

Please accept the solution if your problem is resolved Smiley Happy

-------------------------------------------------------------------

Junos

Re: DHCPv6 IA_NA and IA_PD over PPPoE

‎10-03-2019 08:07 AM

I am in control of the CPE i'm testing this setup with.

The CPE has a DHCPv6 client configured (on its pppoe interface) and is requesting for an address and prefix.

I have now, for testing purposed, locally defined a IA_NA and IA_PD pool:

 

address-assignment {
    pool v6-ia-na-pool {
        family inet6 {
            prefix 2a0b:9b41:965::/64;
            range v6-range-0 {
                low 2a0b:9b41:965::1/128;
                high 2a0b:9b41:965:0000:ffff:ffff:ffff:ffff/128;
            }
        }
    }
    pool v6-pd-pool {
        family inet6 {
            prefix 2a0b:9b41:966::/48;
            range v6-pd prefix-length 64;
        }
    }
}

But I don't see any DHCPv6 solicit messages coming in, while I see the CPE sending them both...

 

beelze@ams-nik-ac1> show dhcpv6 server statistics 
Dhcpv6 Packets dropped:
    Total               0

Advertise Delay:
    DELAYED                    0
    INPROGRESS                 0
    TOTAL                      0

Messages received:
    DHCPV6_DECLINE             0
    DHCPV6_SOLICIT             0
    DHCPV6_INFORMATION_REQUEST 0
    DHCPV6_RELEASE             0
    DHCPV6_REQUEST             0
    DHCPV6_CONFIRM             0
    DHCPV6_RENEW               0
    DHCPV6_REBIND              0
    DHCPV6_RELAY_FORW          0
    DHCPV6_LEASEQUERY          0

Messages sent:
    DHCPV6_ADVERTISE           0
    DHCPV6_REPLY               0
    DHCPV6_RECONFIGURE         0
    DHCPV6_RELAY_REPL          0
    DHCPV6_LEASEQUERY_REPLY    0
    DHCPV6_LEASEQUERY_DATA     0
    DHCPV6_LEASEQUERY_DONE     0
Junos

Re: DHCPv6 IA_NA and IA_PD over PPPoE

‎10-03-2019 08:28 AM

Hi,

 

Do you have by any chance a protect filter on inet6 on lo0 which could be blocking dhcpv6.

show configuration interface lo0 | display inheritance no-comments

If CPE is sending dhcpv6 pkts but no dhcpv6 server stats on BNG, that's possibly a cause.

 

Cheers,

Ashvin

Junos

Re: DHCPv6 IA_NA and IA_PD over PPPoE

‎10-03-2019 12:18 PM

I'd also remove rpf check fail filter and check if it makes any difference:

family inet6 {
                    rpf-check fail-filter rpf-v6;                      <=======
                    unnumbered-address "$junos-loopback-interface";
                }

Best regards,

Sergii

-------------------------------------------------------------------

Please accept the solution if your problem is resolved Smiley Happy

-------------------------------------------------------------------