1. Problem description:
PPPoE users can get IPv6 addresses through DHCPv6 stateful address assignment, but cannot communicate with other IPv6 hosts.
2. Topology:
PC(windows 10, PPPoE client)<----Swtich(Pure L2)---->BRAS(PPPoE Server)
3. BRAS configuration:
root> show configuration | no-more
## Last commit: 2025-06-25 10:10:02 CST by root
version 21.4R3-S10.13;
system {
configuration-database {
max-db-size 314572800;
}
services {
ssh {
sftp-server;
}
dhcp-local-server {
dhcpv6 {
group pppoev6 {
interface pp0.0;
}
group v6 {
overrides {
dual-stack single-session-group;
}
interface demux0.0;
}
}
pool-match-order {
ip-address-first;
}
group v4 {
overrides {
delete-binding-on-renegotiation;
dual-stack single-session-group;
}
interface demux0.0;
}
dual-stack-group single-session-group {
authentication {
password default;
username-include {
user-prefix default;
}
}
dynamic-profile ipoe-profile;
classification-key {
mac-address;
}
protocol-master inet;
}
no-stale-timer-refresh;
stale-timer 12;
}
subscriber-management {
enable;
}
}
dynamic-profile-options {
versioning;
}
syslog {
time-format year;
}
}
chassis {
aggregated-devices {
ethernet {
device-count 15;
}
}
alarm {
management-ethernet {
link-down ignore;
}
}
network-services enhanced-ip;
}
access-profile non-auth;
interfaces {
ge-1/0/0 {
gigether-options {
802.3ad ae1;
}
}
ae1 {
flexible-vlan-tagging;
auto-configure {
vlan-ranges {
dynamic-profile vlan-profile {
accept [ pppoe dhcp-v4 dhcp-v6 ];
ranges {
1000-1010;
}
}
}
remove-when-no-subscribers;
}
encapsulation flexible-ethernet-services;
aggregated-ether-options {
lacp {
active;
}
}
}
lo0 {
unit 0 {
family inet {
address 1.1.1.1/32 {
primary;
}
address 10.20.0.1/32;
}
family inet6 {
address 2002:da8:600c:9000::1/128 {
primary;
}
address 2002:da8:600c:8000::1/128 {
preferred;
}
}
}
}
}
firewall {
family inet {
filter predefined-input-rate {
interface-specific;
enhanced-mode;
term 1 {
then accept;
}
}
filter predefined-output-rate {
interface-specific;
enhanced-mode;
term 1 {
then accept;
}
}
}
family inet6 {
filter predefined-input-rate-v6 {
interface-specific;
enhanced-mode;
term 1 {
then accept;
}
}
filter predefined-output-rate-v6 {
interface-specific;
enhanced-mode;
term 1 {
then accept;
}
}
}
policer 10M {
if-exceeding {
bandwidth-limit 10m;
burst-size-limit 512k;
}
then discard;
}
}
access {
profile non-auth {
authentication-order none;
}
address-assignment {
pool pppoev4-pool-1 {
family inet {
network 10.16.0.0/16;
xauth-attributes {
primary-dns 202.115.80.132/32;
secondary-dns 202.115.80.133/32;
}
}
}
pool dhcpv4-pool-1 {
family inet {
network 10.20.0.0/16;
range 1 {
low 10.20.0.2;
high 10.20.255.254;
}
dhcp-attributes {
maximum-lease-time 1800;
router {
10.20.0.1;
}
}
xauth-attributes {
primary-dns 202.115.80.132/32;
secondary-dns 202.115.80.133/32;
}
}
}
pool v6-iana-p1 {
family inet6 {
prefix 2002:da8:600c:9000::/65;
range 1 {
low 2002:da8:600c:9000::2/128;
high 2002:da8:600c:9000:7fff:ffff:ffff:ffff/128;
}
dhcp-attributes {
maximum-lease-time 1800;
dns-server {
240c::6666;
}
}
}
}
pool dhcpv6-pool-1 {
family inet6 {
prefix 2002:da8:600c:8000::/65;
range 1 {
low 2002:da8:600c:8000::3/128;
high 2002:da8:600c:8000:7fff:ffff:ffff:ffff/128;
}
dhcp-attributes {
maximum-lease-time 3600;
dns-server {
2002:da8:600c:65:114:114:114:114;
}
}
}
}
}
address-protection;
domain {
map default {
address-pool pppoev4-pool-1;
}
}
}
dynamic-profiles {
ipoe-profile {
predefined-variable-defaults {
input-filter predefined-input-rate;
output-filter predefined-input-rate;
input-ipv6-filter predefined-input-rate-v6;
output-ipv6-filter predefined-output-rate-v6;
}
routing-instances {
"$junos-routing-instance" {
interface "$junos-interface-name";
}
}
interfaces {
demux0 {
unit "$junos-interface-unit" {
actual-transit-statistics;
no-traps;
proxy-arp restricted;
demux-options {
underlying-interface "$junos-underlying-interface";
}
family inet {
mac-validate strict;
demux-source {
$junos-subscriber-ip-address;
}
filter {
input "$junos-input-filter";
output "$junos-output-filter";
}
unnumbered-address "$junos-loopback-interface";
}
family inet6 {
filter {
input "$junos-input-ipv6-filter";
output "$junos-output-ipv6-filter";
}
demux-source {
"$junos-subscriber-ipv6-address";
}
unnumbered-address "$junos-loopback-interface";
}
}
}
}
protocols {
router-advertisement {
interface "$junos-interface-name" {
managed-configuration;
other-stateful-configuration;
}
}
}
}
pppoe-profile-1 {
predefined-variable-defaults {
input-filter predefined-input-rate;
output-filter predefined-input-rate;
input-ipv6-filter predefined-input-rate-v6;
output-ipv6-filter predefined-output-rate-v6;
}
routing-instances {
"$junos-routing-instance" {
interface "$junos-interface-name";
}
}
interfaces {
pp0 {
unit "$junos-interface-unit" {
actual-transit-statistics;
no-traps;
ppp-options {
chap;
pap;
}
pppoe-options {
underlying-interface "$junos-underlying-interface";
server;
}
targeted-distribution;
keepalives interval 30;
family inet {
filter {
input "$junos-input-filter";
output "$junos-output-filter";
}
unnumbered-address "$junos-loopback-interface";
}
family inet6 {
filter {
input "$junos-input-ipv6-filter";
output "$junos-output-ipv6-filter";
}
unnumbered-address "$junos-loopback-interface";
}
}
}
}
protocols {
router-advertisement {
interface "$junos-interface-name" {
managed-configuration;
other-stateful-configuration;
}
}
}
}
vlan-profile {
interfaces {
demux0 {
unit "$junos-interface-unit" {
actual-transit-statistics;
demux-source [ inet inet6 ];
no-traps;
vlan-id "$junos-vlan-id";
demux-options {
underlying-interface "$junos-interface-ifd-name";
}
family inet {
policer {
disable-arp-policer;
}
unnumbered-address lo0.0 preferred-source-address 10.20.0.1;
}
family inet6 {
unnumbered-address lo0.0 preferred-source-address 2002:da8:600c:8000::1;
}
family pppoe {
access-concentrator BRAS-1;
duplicate-protection;
dynamic-profile pppoe-profile-1;
}
}
}
}
}
}
4. PPPoE user infor:
root> show subscribers
Interface IP Address/VLAN ID User Name LS:RI
demux0.3221225472 1002 default:default
demux0.3221225473 10.20.0.2 default default:default
* 2002:da8:600c:8000::3
pp0.3221225479 10.16.0.4 pppoe default:default
* 2002:da8:600c:9000::4
pp0.3221225479 2002:da8:600c:9000::4 default:default
root> show dhcpv6 server binding
Prefix Session Id Expires State Interface Client DUID
2002:da8:600c:9000::4/128 13 1528 BOUND pp0.3221225479 LL_TIME0x1-0x26f0ae0e-3c:7c:3f:5a:b1:25
root> show dhcp server binding
IP address Session Id Hardware address Expires State Interface
10.20.0.2 2 3c:7c:3f:5a:b1:25 1241 BOUND demux0.3221225472
root> show subscribers address 2002:da8:600c:9000::4 extensive
Type: DHCP
IPv6 Address: 2002:da8:600c:9000::4
Domain name server inet6: 240c::6666
Logical System: default
Routing Instance: default
Interface: pp0.3221225479
Interface type: Static
Underlying Interface: pp0.3221225479
MAC Address: 3c:7c:3f:5a:b1:25
State: Active
Radius Accounting ID: 13
Session ID: 13
Underlying Session ID: 12
PFE Flow ID: 35
Login Time: 2025-06-25 02:18:56 UTC
DHCPV6 Options: len 68
00 08 00 02 00 65 00 01 00 0e 00 01 00 01 26 f0 ae 0e 3c 7c
3f 5a b1 25 00 03 00 0c 47 00 ff 13 00 00 00 00 00 00 00 00
00 10 00 0e 00 00 01 37 00 08 4d 53 46 54 20 35 2e 30 00 06
00 06 00 11 00 17 00 18
DHCPV6 Header: len 4
01 e4 58 87
IPv6 Address Pool: v6-iana-p1
Type: PPPoE
User Name: pppoe
IP Address: 10.16.0.4
IP Netmask: 255.255.255.255
Primary DNS Address: 202.115.80.132
Secondary DNS Address: 202.115.80.133
IPv6 Address: 2002:da8:600c:9000::4
Logical System: default
Routing Instance: default
Interface: pp0.3221225479
Interface type: Dynamic
Underlying Interface: demux0.3221225472
Dynamic Profile Name: pppoe-profile-1
Dynamic Profile Version: 1
MAC Address: 3c:7c:3f:5a:b1:25
State: Active
Radius Accounting ID: 12
Session ID: 12
PFE Flow ID: 35
VLAN Id: 1002
Login Time: 2025-06-25 10:18:45 CST
IP Address Pool: pppoev4-pool-1
IPv6 Address Pool: v6-iana-p1
IPv6 Framed Interface Id: e0d5:8f33:8dea:8d31
IPv4 Input Filter Name: predefined-input-rate-pp0.3221225479-in
IPv4 Output Filter Name: predefined-input-rate-pp0.3221225479-out
IPv6 Input Filter Name: predefined-input-rate-v6-pp0.3221225479-in
IPv6 Output Filter Name: predefined-output-rate-v6-pp0.3221225479-out
root> show subscribers extensive |no-more
Type: VLAN
Logical System: default
Routing Instance: default
Interface: demux0.3221225472
Interface type: Dynamic
Underlying Interface: ae1
Dynamic Profile Name: vlan-profile
Dynamic Profile Version: 1
State: Active
Session ID: 1
PFE Flow ID: 23
VLAN Id: 1002
Login Time: 2025-06-25 10:08:55 CST
Type: DHCP
User Name: default
IP Address: 10.20.0.2
IP Netmask: 255.255.0.0
Primary DNS Address: 202.115.80.132
Secondary DNS Address: 202.115.80.133
IPv6 Address: 2002:da8:600c:8000::3
Domain name server inet6: 2002:da8:600c:65:114:114:114:114
Logical System: default
Routing Instance: default
Interface: demux0.3221225473
Interface type: Dynamic
Underlying Interface: demux0.3221225472
Dynamic Profile Name: ipoe-profile
Dynamic Profile Version: 1
MAC Address: 3c:7c:3f:5a:b1:25
State: Active
Radius Accounting ID: 2
Session ID: 2
PFE Flow ID: 25
VLAN Id: 1002
Login Time: 2025-06-25 02:08:55 UTC
DHCP Options: len 47
35 01 01 3d 07 01 3c 7c 3f 5a b1 25 0c 07 42 72 69 6e 61 74
79 3c 08 4d 53 46 54 20 35 2e 30 37 0e 01 03 06 0f 1f 21 2b
2c 2e 2f 77 79 f9 fc
DHCPV6 Options: len 83
00 08 00 02 00 64 00 01 00 0e 00 01 00 01 26 f0 ae 0e 3c 7c
3f 5a b1 25 00 03 00 0c 31 3c 7c 3f 00 00 00 00 00 00 00 00
00 27 00 09 00 07 42 72 69 6e 61 74 79 00 10 00 0e 00 00 01
37 00 08 4d 53 46 54 20 35 2e 30 00 06 00 08 00 11 00 17 00
18 00 27
DHCP Header: len 44
01 01 06 00 59 c2 80 71 00 00 80 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 3c 7c 3f 5a b1 25 00 00 00 00 00 00
00 00 00 00
IP Address Pool: dhcpv4-pool-1
IPv6 Address Pool: dhcpv6-pool-1
IPv4 Input Filter Name: predefined-input-rate-demux0.3221225473-in
IPv4 Output Filter Name: predefined-input-rate-demux0.3221225473-out
Type: PPPoE
User Name: pppoe
IP Address: 10.16.0.4
IP Netmask: 255.255.255.255
Primary DNS Address: 202.115.80.132
Secondary DNS Address: 202.115.80.133
IPv6 Address: 2002:da8:600c:9000::4
Logical System: default
Routing Instance: default
Interface: pp0.3221225479
Interface type: Dynamic
Underlying Interface: demux0.3221225472
Dynamic Profile Name: pppoe-profile-1
Dynamic Profile Version: 1
MAC Address: 3c:7c:3f:5a:b1:25
State: Active
Radius Accounting ID: 12
Session ID: 12
PFE Flow ID: 35
VLAN Id: 1002
Login Time: 2025-06-25 10:18:45 CST
IP Address Pool: pppoev4-pool-1
IPv6 Address Pool: v6-iana-p1
IPv6 Framed Interface Id: e0d5:8f33:8dea:8d31
IPv4 Input Filter Name: predefined-input-rate-pp0.3221225479-in
IPv4 Output Filter Name: predefined-input-rate-pp0.3221225479-out
IPv6 Input Filter Name: predefined-input-rate-v6-pp0.3221225479-in
IPv6 Output Filter Name: predefined-output-rate-v6-pp0.3221225479-out
Type: DHCP
IPv6 Address: 2002:da8:600c:9000::4
Domain name server inet6: 240c::6666
Logical System: default
Routing Instance: default
Interface: pp0.3221225479
Interface type: Static
Underlying Interface: pp0.3221225479
MAC Address: 3c:7c:3f:5a:b1:25
State: Active
Radius Accounting ID: 13
Session ID: 13
Underlying Session ID: 12
PFE Flow ID: 35
Login Time: 2025-06-25 02:18:56 UTC
DHCPV6 Options: len 68
00 08 00 02 00 65 00 01 00 0e 00 01 00 01 26 f0 ae 0e 3c 7c
3f 5a b1 25 00 03 00 0c 47 00 ff 13 00 00 00 00 00 00 00 00
00 10 00 0e 00 00 01 37 00 08 4d 53 46 54 20 35 2e 30 00 06
00 06 00 11 00 17 00 18
DHCPV6 Header: len 4
01 e4 58 87
IPv6 Address Pool: v6-iana-p1
root> show route
inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
1.1.1.1/32 *[Direct/0] 00:28:25
> via lo0.0
10.16.0.4/32 *[Access-internal/12] 00:05:43
Private unicast
10.20.0.1/32 *[Direct/0] 00:28:25
> via lo0.0
10.20.0.2/32 *[Access-internal/12] 00:15:32
Private unicast
192.168.1.1/32 *[Local/0] 00:28:25
Reject
inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
2002:da8:600c:8000::1/128
*[Direct/0] 00:28:25
> via lo0.0
2002:da8:600c:9000::1/128
*[Direct/0] 00:28:25
> via lo0.0
2002:da8:600c:9000::4/128
*[Access-internal/12] 00:05:32
Private unicast
fe80::2a0:a50f:fc90:150e/128
*[Direct/0] 00:28:25
> via lo0.0
ff02::2/128 *[INET6/0] 00:28:25
MultiRecv
root> show route 2002:da8:600c:9000::4
inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
2002:da8:600c:9000::4/128
*[Access-internal/12] 00:00:50
Private unicast
root> show route forwarding-table destination 2002:da8:600c:9000::4
Routing table: default.inet6
Internet6:
Destination Type RtRef Next hop Type Index NhRef Netif
2002:da8:600c:9000::4/128
user 0 ucst 590 3 demux0.2147483652
Routing table: __master.anon__.inet6
Internet6:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 0 rjct 559 1
root> ping inet6 source 2002:da8:600c:9000::1 2002:da8:600c:9000::4
PING6(56=40+8+8 bytes) 2002:da8:600c:9000::1 --> 2002:da8:600c:9000::4
^C
--- 2002:da8:600c:9000::4 ping6 statistics ---
14 packets transmitted, 0 packets received, 100% packet loss
root> ping source 1.1.1.1 10.16.0.4
PING 10.16.0.4 (10.16.0.4): 56 data bytes
64 bytes from 10.16.0.4: icmp_seq=0 ttl=128 time=4.573 ms
64 bytes from 10.16.0.4: icmp_seq=1 ttl=128 time=3.555 ms
64 bytes from 10.16.0.4: icmp_seq=2 ttl=128 time=2.073 ms
64 bytes from 10.16.0.4: icmp_seq=3 ttl=128 time=3.150 ms
^C
--- 10.16.0.4 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.073/3.338/4.573/0.896 ms
root> ping source 1.1.1.1 10.20.0.2
PING 10.20.0.2 (10.20.0.2): 56 data bytes
^C
--- 10.20.0.2 ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss
root> show route 10.20.0.2
inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.20.0.2/32 *[Access-internal/12] 00:13:37
Private unicast
root> ping 10.20.0.2 source 10.20.0.1
PING 10.20.0.2 (10.20.0.2): 56 data bytes
64 bytes from 10.20.0.2: icmp_seq=0 ttl=128 time=2.120 ms
64 bytes from 10.20.0.2: icmp_seq=1 ttl=128 time=2.033 ms
64 bytes from 10.20.0.2: icmp_seq=2 ttl=128 time=2.052 ms
64 bytes from 10.20.0.2: icmp_seq=3 ttl=128 time=1.902 ms
64 bytes from 10.20.0.2: icmp_seq=4 ttl=128 time=1.711 ms
64 bytes from 10.20.0.2: icmp_seq=5 ttl=128 time=1.968 ms
^C
--- 10.20.0.2 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.711/1.964/2.120/0.132 ms
root> ping inet6 source 2002:da8:600c:8000::1 2002:da8:600c:8000::3
PING6(56=40+8+8 bytes) 2002:da8:600c:8000::1 --> 2002:da8:600c:8000::3
ping: sendmsg: No route to host
ping6: wrote 2002:da8:600c:8000::3 16 chars, ret=-1
ping: sendmsg: No route to host
ping6: wrote 2002:da8:600c:8000::3 16 chars, ret=-1
ping: sendmsg: No route to host
ping6: wrote 2002:da8:600c:8000::3 16 chars, ret=-1
ping: sendmsg: No route to host
ping6: wrote 2002:da8:600c:8000::3 16 chars, ret=-1
^C
--- 2002:da8:600c:8000::3 ping6 statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
root> show dhcpv6 server binding 2002:da8:600c:8000::3
No binding for specified IPv6 prefix.
root> show route 2002:da8:600c:8000::3
root> show ipv6 neighbors
IPv6 Address Linklayer Address State Exp Rtr Secure Interface
fe80::f784:df0a:c0d2:bd71 3c:7c:3f:5a:b1:25 reachable 0 no no demux0.3221225472
------------------------------
JIAFU YANG
------------------------------