Skip to main content

Native IPv6 over PPPoA on Cisco IOS

(Update: this post was updated based on comments from my colleagues)

Here is a short howto on how to configure native IPv6 (so, no tunnel) on a PPP based DSL line, without an underlying subnet or whatever. The modem/router we'll be using is a Cisco 877 on a Dutch DSL (an unnamed ISP providing L3 connectivity) line

It is assumed that IPv4 and the underlying ADSL is working normally. We'll be configuring things as a dual-stack system, with the Cisco handing out IPv6 addresses to clients. Remember, this is IPv6, so we will be needing a firewall as soon as everything works!

I have configured a VLAN interface for handling the LAN side of the router, but you could just as easily do this on a FastEthernet port. The Dialer0 interface is the dialer handling the PPP session.

ipv6 unicast-routing
ipv6 cef

interface Vlan1
 description LAN
 ipv6 address YOUR_IPV6_NET:SUBNET::/64 eui-64
 ipv6 enable

interface Dialer0
 ipv6 address autoconfig
 ipv6 enable

ipv6 route ::/0 Dialer0

If you received a /48 from your ISP, something like 2xxx:yyyy:zzzz::/48, then pick a subnet from this assignment, in my case I chose 100, but this could be anything. So my VLAN 1 config looks like this:

interface Vlan1
 description LAN
 ipv6 address 2xxx:yyyy:zzzz::100::/64 eui-64
 ipv6 enable

Note that on a Cisco 877 (or any other Cisco router) you could assign various subnets like this to each and every port, VLAN or WIFI interface you have available. This should give you loads of neat opportunities for micromanaging access between subnets on your LAN.

Nothing else is needed, unless you also want to assign an IPv6 address for the DNS server, then you also need to add the following:

ipv6 dhcp pool DHCPv6
 dns-server DNS_SERVER_IPV6_ADDRESS
 domain-name YOUR_LOCAL_DOMAIN

interface Vlan1
 ipv6 nd managed-config-flag
 ipv6 dhcp server DHCPv6

Next time, firewalling.