The new 1.2.0beta2 version of the EdgeMAX software on the EdgeRouter Lite has the following entry in its changelog:
[PPPoE] Add IPv6 settings for PPPoE client interfaces, which allows a PPPoE client interface to work with IPv6 address
So how does that work and how can we use it ?
Our ISP, Andrews & Arnold, provides native IPv6 over PPPoE, so we thought we would test it.
We will cover the initial PPPoE configuration for IPv4 and then the additional steps for IPv6.
The first step is to configure the PPPoE client, this has to be done via the CLI as this is not currently support in the web interface.
We are using eth2 for the WAN connection over PPPoE:
configure set interfaces ethernet eth2 pppoe 0 user-id myuser set interfaces ethernet eth2 pppoe 0 password mypass commit
We also need to ensure that the MTU is set correctly, a PPPoE connection has an 8 byte overhead so on our standard 1500 byte ADSL connection, we have to reduce the MTU to 1492, and the MSS to 40 less than that, namely 1452:
set interfaces ethernet eth2 pppoe 0 mtu 1492 set firewall modify pppoe-out set firewall modify pppoe-out rule 1 action modify set firewall modify pppoe-out rule 1 modify tcp-mss 1452 set firewall modify pppoe-out rule 1 protocol tcp set firewall modify pppoe-out rule 1 tcp flags SYN set interfaces ethernet eth2 pppoe 0 firewall out modify pppoe-out
To add a masquerade rule to make the IPv4 connection work:
set service nat rule 5010 outbound-interface pppoe0 set service nat rule 5010 type masquerade
To enable ipv6 on the PPPoE interface:
set interfaces ethernet eth2 pppoe 0 ipv6 enable
To add a static IPv6 address to our internal LAN interface, this is the first IP in our allocated block from our ISP:
set interfaces ethernet eth0 address 2001:DB8::1/64
To add a default route:
set protocols static interface-route6 ::/0 next-hop-interface pppoe0
To enable Router Advertisements on eth0, which is our LAN interface:
set interfaces ethernet eth0 ipv6 router-advert prefix ::/64
Once this is done we can test using:
ping6 -n linitx.com PING linitx.com(2001:8b0:1109::111) 56 data bytes 64 bytes from 2001:8b0:1109::111: icmp_seq=1 ttl=62 time=39.3 ms 64 bytes from 2001:8b0:1109::111: icmp_seq=2 ttl=62 time=38.4 ms 64 bytes from 2001:8b0:1109::111: icmp_seq=3 ttl=62 time=38.0 ms