This guide is a recollection from my setup of IPv6 on an EdgeRouter X. Following these instructions may cause harm to your device. I take no responsibility for any issues that may arise. Do this at your own risk

My Setup

I have an Arris SB8200 cable modem hooked up to my Cox residential service. I am located in Oklahoma City, Oklahoma market for Cox, so it may be different in other markets. From there I hook the output of just one of the 2 ports on the back of the cable modem to eth1 on an Ubiquiti EdgeRouter X. For years I have used a Linux machine with multiple network cards to run my routing. The desire to simplify my setup as well as the EdgeRouter X’s featureset lead me to purchase. The EdgeRouter had everything I needed in a $60 package and it could be powered by my PoE infrastructure.

I then have my switch plugged in and powering the EdgeRouter via PoE on port eth0. Attached to my switch, you will find plentiful devices and multiple VLANs. For the sake of simplicity, I will be talking about IPv6 using only 1 VLAN device.

EdgeRouter “Config Tree” tab

Once you are logged into your EdgeRouter, you will want to head over to the config tree tab. This is where you can get down to the actual configuration of different advanced features on the router. Since the EdgeRouter X is based upon Linux, it is very familiar to me.

Configuration for IPv6

Under system section, ensure ipv6 is enabled. To do so, you will click the + next to ipv6. It should look like this.

Ubiquiti EdgeRouter IPv6 system enabled
Ensure IPv6 is enabled in the system section

Ensure that dhcpv6-server is disabled as shown under the service section.

dhcp services settings in Ubiquiti EdgeMax
DHCP Services Settings


The firewall is a critical component. You will want to enable the ipv6-name portion as below. I used the defaults and made sure ipv6-name was all enabled properly in the Config Tree.


The final step is to configure the interfaces. In my setup, eth1 is connected to my cable modem and eth0 is connected to my switch. I’m specifically using vlan 100, so my screen shots will show eth0.100 but any interface can be used. Typically you would use eth0 in almost all cases.

Interface settings for eth1 in EdgeMAX interface
Interface settings for eth1 in EdgeMAX interface

As you can see, ipv6 is enabled with autoconf. The firewall is enabled, and needs to be modified to include the IPv6 rules from above.

Add WANv6IN to the ipv6-name section under the external interface (eth1) firewall option. You also need to add WANv6_LOCAL to ipv6-name on the local chain, like below.

ipv6-name for Local firewall chain
ipv6-name for Local firewall chain

Setup DHCPv6-PD

The main step to getting IPv6 working for clients behind the router is configuring dhcpv6-pd. Click the (+) sign next to that option, and then click down to pd. Add a pd of 0 then Update list.

Expand the 0 under pd and you should be given a prompt for prefix-length. Put in /60 here

prefix-length for edgemax os edgerouter x unifi ubiquiti router dhcpv6-pd settings cox residential internet
Put in /60 for prefix-length on pd0

Add an interface. In my case, I added eth0.100. This is your LAN port is and is likely eth0.

Add an interface for dhcpv6-pd prefix delegation.
Add an interface for dhcpv6-pd prefix delegation.

Under the interface, you will want to set host-address to ::1, prefix-id to 00 and service to slaac. This will get you an easier to use address using slaac (Stateless Auto Address configuration)

dhcpv6-pd interface configuration for EdgeRouter X on Cox Residential Internet service
dhcpv6-pd interface configuration for EdgeRouter X on Cox Residential Internet service

Setting up LAN interface for IPv6

I have a “vif” for each VLAN. A vif is a virtual interface. Since you likely do not, use picture everything under the 100 as eth0. You simply need to turn on ipv6, address and autoconf.

After setting these settings, restart your EdgeOS router. You should have working configurations on your edgerouter for IPv6. Your interfaces should look similar to this