PPPoE IPv6 Dual-Stack Home Setup
PPPoE IPv6 dual-stack setup for home and SOHO networks with automatic IPv6 prefix acquisition via DHCPv6-PD and distribution through SLAAC.
Use Case
- Home Networks: Dual-stack internet connection
- SOHO: Small office connectivity with IPv6
- ISP Integration: Working with providers that support DHCPv6-PD
- Modern Stack: Full IPv4+IPv6 connectivity
Network Topology
Internet (ISP)
│
PPPoE (pppoe0)
│
┌─────┴─────┐
│ VyOS │
│ Gateway │
└─────┬─────┘
│ eth1 (LAN)
│ IPv6 PD: ::/64
┌─────┴─────────┐
│ Home Network │
│ Devices with │
│ SLAAC IPv6 │
└───────────────┘Requirements
- ISP support for DHCPv6 Prefix Delegation
- VyOS 1.4+
- PPPoE credentials from the ISP
PPPoE Configuration with IPv6
PPPoE Interface
configure
# PPPoE on eth0 (WAN)
set interfaces pppoe pppoe0 source-interface 'eth0'
set interfaces pppoe pppoe0 authentication username 'your_isp_username'
set interfaces pppoe pppoe0 authentication password 'your_isp_password'
# IPv6
set interfaces pppoe pppoe0 ipv6 address autoconf
set interfaces pppoe pppoe0 ipv6 enable
# DHCPv6-PD (obtain prefix from the ISP)
set interfaces pppoe pppoe0 dhcpv6-options pd 0 length '56'
set interfaces pppoe pppoe0 dhcpv6-options pd 0 interface eth1 address '1'
set interfaces pppoe pppoe0 dhcpv6-options pd 0 interface eth1 sla-id '0'
commitLAN Interface with IPv6
configure
# LAN interface
set interfaces ethernet eth1 address '192.168.1.1/24'
set interfaces ethernet eth1 description 'LAN'
# Router Advertisement for SLAAC
set service router-advert interface eth1 prefix ::/64
set service router-advert interface eth1 name-server 'fe80::1'
set service router-advert interface eth1 other-config-flag
commit
saveFirewall for IPv6
configure
# IPv6 firewall WAN
set firewall ipv6-name WANv6_LOCAL default-action 'drop'
set firewall ipv6-name WANv6_LOCAL rule 10 action 'accept'
set firewall ipv6-name WANv6_LOCAL rule 10 state established 'enable'
set firewall ipv6-name WANv6_LOCAL rule 10 state related 'enable'
set firewall ipv6-name WANv6_LOCAL rule 20 action 'accept'
set firewall ipv6-name WANv6_LOCAL rule 20 protocol 'ipv6-icmp'
# DHCPv6
set firewall ipv6-name WANv6_LOCAL rule 30 action 'accept'
set firewall ipv6-name WANv6_LOCAL rule 30 protocol 'udp'
set firewall ipv6-name WANv6_LOCAL rule 30 destination port '546'
set firewall ipv6-name WANv6_LOCAL rule 30 source port '547'
commit
saveVerification
# PPPoE status
show interfaces pppoe pppoe0
# IPv6 address
show interfaces pppoe pppoe0 brief
# DHCPv6-PD prefix
show dhcpv6 client leases
# Router Advertisement
show ipv6 route
# Test connectivity
ping6 2001:4860:4860::8888Cloud Integration
Note for Cloud Providers
PPPoE is generally not used in cloud environments (Yandex Cloud, VK Cloud) - they provide direct DHCP/Static connectivity. This example is relevant for:
- On-premises home deployments
- Branch offices with DSL/Fiber PPPoE
- Hybrid scenarios where a VyOS box in the office connects to an ISP
For cloud deployments, see the other examples (Tunnelbroker IPv6, VPN scenarios).
References
Reviewed by OpenNix LLC · Last updated on