EdgeRouter and Cincinnati Bell IPv6 Setup

I had covered setting up the Ubiquiti UniFi USG with IPv6 in a previous article. I recently had someone ask me about the EdgeRouter Lite setup and having issues, so I decided to pull mine out of storage and try it out.

The good news is, if you follow the guide starting at Chapter 3 using the Basic Wizard, it all just works! I was using EdgeRouter Lite version 1.9.1.

Using Setup Wizards – Basic Setup

Enable DHCPv6 PD and leave the default settings. It should look like this in the setup:

Enable DHCPv6 PD on Basic Setup

With that, you will will be assigned a /128 for your router and be assigned a /56 address space. The EdgeRouter will pull a /64 for each of of the LANs for assignment to your devices from that /56.

EdgeRouter Dashboard view of networks
Macbook Client View

Configuration

For those already past the wizard stage, here are the configuration pieces:

firewall {
     all-ping enable
     broadcast-ping disable
     ipv6-receive-redirects disable
     ipv6-src-route disable
     ip-src-route disable
     log-martians enable
     ipv6-name WANv6_IN {
         default-action drop
         description "WAN inbound traffic forwarded to LAN"
         enable-default-log
         rule 10 {
             action accept
             description "Allow established/related sessions"
             state {
                 established enable
                 related enable
             }
         }
         rule 20 {
             action drop
             description "Drop invalid state"
             state {
                 invalid enable
             }
         }
     }
     ipv6-name WANv6_LOCAL {
         default-action drop
         description "WAN inbound traffic to the router"
         enable-default-log
         rule 10 {
             action accept
             description "Allow established/related sessions"
             state {
                 established enable
                 related enable
             }
         }
         rule 20 {
             action drop
             description "Drop invalid state"
             state {
                 invalid enable
             }
         }
         rule 30 {
             action accept
             description "Allow IPv6 icmp"
             protocol ipv6-icmp
         }
         rule 40 {
             action accept
             description "allow dhcpv6"
             destination {
                 port 546
             }
             protocol udp
             source {
                 port 547
             }
         }
     }
     name WAN_IN {
         default-action drop
         description "WAN to internal"
         rule 10 {
             action accept
             state {
                 established enable
                 related enable
             }
             description "Allow established/related"
         }
         rule 20 {
             action drop
             state {
                 invalid enable
             }
             description "Drop invalid state"
         }
     }
     name WAN_LOCAL {
         default-action drop
         description "WAN to router"
         rule 10 {
             action accept
             state {
                 established enable
                 related enable
             }
             description "Allow established/related"
         }
         rule 20 {
             action drop
             state {
                 invalid enable
             }
             description "Drop invalid state"
         }
     }
     receive-redirects disable
     send-redirects enable
     source-validation disable
     syn-cookies enable
 }
 interfaces {
     ethernet eth0 {
         address dhcp
         description Internet
         duplex auto
         dhcpv6-pd {
             pd 0 {
                 interface eth1 {
                     host-address ::1
                     prefix-id :1
                     service slaac
                 }
                 interface eth2 {
                     host-address ::1
                     prefix-id :2
                     service slaac
                 }
                 prefix-length /56
             }
             rapid-commit enable
         }
         firewall {
             in {
                 ipv6-name WANv6_IN
                 name WAN_IN
             }
             local {
                 ipv6-name WANv6_LOCAL
                 name WAN_LOCAL
             }
         }
         speed auto
     }
     ethernet eth1 {
         address 192.168.10.1/24
         description Local
         duplex auto
         speed auto
     }
     ethernet eth2 {
         address 192.168.20.1/24
         description "Local 2"
         duplex auto
         speed auto
     }
     loopback lo {
     }
 }
 service {
     dhcp-server {
         disabled false
         hostfile-update disable
         shared-network-name LAN1 {
             authoritative enable
             subnet 192.168.10.0/24 {
                 default-router 192.168.10.1
                 dns-server 192.168.10.1
                 lease 86400
                 start 192.168.10.38 {
                     stop 192.168.10.243
                 }
             }
         }
         shared-network-name LAN2 {
             authoritative enable
             subnet 192.168.20.0/24 {
                 default-router 192.168.20.1
                 dns-server 192.168.20.1
                 lease 86400
                 start 192.168.20.38 {
                     stop 192.168.20.243
                 }
             }
         }
     }
     dns {
         forwarding {
             cache-size 150
             listen-on eth1
             listen-on eth2
         }
     }
     gui {
         https-port 443
     }
     nat {
         rule 5010 {
             outbound-interface eth0
             type masquerade
             description "masquerade for WAN"
         }
     }
     ssh {
         port 22
         protocol-version v2
     }
 }
 system {
     host-name ubnt
     login {
         user admin {
             authentication {
                 encrypted-password $6$Bahahaha/1p/Pg9$YouKnowItsWrongq9Tp1AyR6vjZVaJCerTLwCWr.2/QaGRWBFQKFHi.AreyouStillTryingHhxGDTckeCY4gc1
             }
             level admin
         }
     }
     ntp {
         server 0.ubnt.pool.ntp.org {
         }
         server 1.ubnt.pool.ntp.org {
         }
         server 2.ubnt.pool.ntp.org {
         }
         server 3.ubnt.pool.ntp.org {
         }
     }
     syslog {
         global {
             facility all {
                 level notice
             }
             facility protocols {
                 level debug
             }
         }
     }
     time-zone UTC
 }

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>