Native IPv6 met EdgeRouter ER-4 ER-6 ER-12

Ik maak even een apart topic voor IPv6 met de Ubiquiti EdgeMax EdgeRouter serie, gebaseerd op Cavium.

Het lukt mij niet om mijn ER-12 met IPv6 te laten werken. Aan de kant van Tweak zou alles goed moeten zijn.

Ik heb mijn ER-12 geconfigureerd met de ingebouwde wizard (load-balancing). Blijkbaar is deze wizard te simpel om IPv6 te activeren. Werkt overigens prima met IPv4 van Tweak en Ziggo als fail-over.

Heeft iemand een router van deze serie wel met IPv6 aan de praat gekregen? Waar zit mijn blinde vlek?

Hi Bernd,

Ik heb het onlangs ingeregeld op een ER-4 en die draait met een zone-based firewall setup.

set firewall ipv6-name WAN6-LOCAL6 rule 2 action accept
set firewall ipv6-name WAN6-LOCAL6 rule 2 description 'Allow ICMPv6'
set firewall ipv6-name WAN6-LOCAL6 rule 2 log disable
set firewall ipv6-name WAN6-LOCAL6 rule 2 protocol icmpv6
set firewall ipv6-name WAN6-LOCAL6 rule 3 action accept
set firewall ipv6-name WAN6-LOCAL6 rule 3 description 'Allow DHCPv6'
set firewall ipv6-name WAN6-LOCAL6 rule 3 destination port 546
set firewall ipv6-name WAN6-LOCAL6 rule 3 protocol udp
set firewall ipv6-name WAN6-LOCAL6 rule 3 source port 547

Aangezien de Edgerouter geen extra loopback interfaces of dummy interfaces ondersteunt zoals VyOS heb ik de verkregen prefix op de loopback erbij gezet.
Ik wilde geen extra adres op de WAN erbij krijgen en enkel de verkregen IPv6-prefix inzetten…vandaar de optie “prefix-only”. De “prefix-length /64” is een beetje tegenstrijdig want je krijgt een /56
maar als ik dat configureer krijg ik een /64 ipv een /56. Weet nog niet of dat een bug is…
Naast de bestaande config op m’n WAN interface heb ik bij VLAN/VIF 34 het volgende staan:

set interfaces ethernet eth3 vif 34 dhcpv6-pd no-dns
set interfaces ethernet eth3 vif 34 dhcpv6-pd pd 0 interface lo host-address '::1'
set interfaces ethernet eth3 vif 34 dhcpv6-pd pd 0 interface lo no-dns
set interfaces ethernet eth3 vif 34 dhcpv6-pd pd 0 interface lo service slaac
set interfaces ethernet eth3 vif 34 dhcpv6-pd pd 0 prefix-length /64
set interfaces ethernet eth3 vif 34 dhcpv6-pd prefix-only
set interfaces ethernet eth3 vif 34 dhcpv6-pd rapid-commit enable

Daarna heb ik de range opgehakt in meerdere /64 netwerken voor m’n LAN. Ik wilde geen SLAAC gebruiken voor het uitdelen van IPv6-adressen en gebruik de dhcpv6-server. Zo kon ik de nummering van de subnets
enigzins overeen laten komen met mijn bestaande ipv4-vlans. De name-servers verwijzen naar interne AdGuard servers.

voorbeeld:
set service dhcpv6-server shared-network-name IOT-Vlan-DHCPv6 subnet '2a02:xx:xxx:2560::/64' address-range start '2a02:xx:xxx:2560::100' stop '2a02:xx:xxx:2560::500'
set service dhcpv6-server shared-network-name IOT-Vlan-DHCPv6 subnet '2a02:xx:xxx:2560::/64' name-server '2a02:xx:xxx:2510::55'
set service dhcpv6-server shared-network-name IOT-Vlan-DHCPv6 subnet '2a02:xx:xxx:2560::/64' name-server '2a02:xx:xxx:2510::56'
set service dhcpv6-server shared-network-name Internal-LAN-DHCPv6 subnet '2a02:xx:xxx:2510::/64' address-range start '2a02:xx:xxx:2510::100' stop '2a02:xx:xxx:2510::500'
set service dhcpv6-server shared-network-name Internal-LAN-DHCPv6 subnet '2a02:xx:xxx:2510::/64' name-server '2a02:xx:xxx:2510::55'
set service dhcpv6-server shared-network-name Internal-LAN-DHCPv6 subnet '2a02:xx:xxx:2510::/64' name-server '2a02:xx:xxx:2510::56'

Grt,
Randy

Dank!
Nu even een moment afwachten dat ik alleen thuis ben …

Toen ik dit topic startte wist ik nog niet dat ik 2 weken later een Ubiquiti UDM SE zou aanschaffen.
Dit wel heel grote apparaat vroeg om wat aanpassingen in de meterkast maar draait nu een week, en sinds gisteren ook met IPv6.
Dus mijn pogingen om de ER-12 met IPv6 aan de praat te krijgen zijn gestopt.
@recombinator , dank je voor je hulp!!

Voor de liefhebber: hieronder de config van mijn EdgeRouter 4 die nu enkele weken uitstekend werkt met IPv6. De toekenning van IP-adressen gebeurt d.m.v. SLAAC en er worden daarnaast ULA’s uitgedeeld op de LAN-interfaces. Met (onder andere) RFC4193 IPv6 Generator kan een eigen ULA-prefix gegenereerd worden op basis van het mac-adres van de router.

Let op: alleen eth1 en eth3 zijn nu bij mij in gebruik, de andere interfaces zijn disabled.

firewall {
    all-ping enable
    broadcast-ping disable
    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 ICMPv6"
            protocol ipv6-icmp
        }
        rule 40 {
            action accept
            description "Allow DHCPv6"
            destination {
                port 546
            }
            protocol udp
            source {
                port 547
            }
        }
    }
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians enable
    name WAN_IN {
        default-action drop
        description "WAN to internal"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "WAN to router"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        address dhcp
        description WAN
        dhcpv6-pd {
            pd 0 {
                interface eth1 {
                    host-address ::1
                    prefix-id 01
                    service slaac
                }
                interface eth2 {
                    host-address ::1
                    prefix-id 02
                    service slaac
                }
                prefix-length /56
            }
            rapid-commit enable
        }
        disable
        duplex auto
        firewall {
            in {
                ipv6-name WANv6_IN
                name WAN_IN
            }
            local {
                ipv6-name WANv6_LOCAL
                name WAN_LOCAL
            }
        }
        ipv6 {
            address {
                autoconf
            }
            dup-addr-detect-transmits 1
        }
        speed auto
    }
    ethernet eth1 {
        address 192.168.1.1/24
        address fd12:3456:789a:1::1/64
        description "Local 1"
        duplex auto
        ipv6 {
            dup-addr-detect-transmits 1
            router-advert {
                cur-hop-limit 64
                default-preference high
                link-mtu 0
                managed-flag false
                max-interval 600
                name-server fd12:3456:789a:1::1
                other-config-flag false
                prefix ::/64 {
                    autonomous-flag true
                    on-link-flag true
                    valid-lifetime 2592000
                }
                prefix fd12:3456:789a:1::/64 {
                    autonomous-flag true
                    on-link-flag true
                    valid-lifetime 2592000
                }
                reachable-time 0
                retrans-timer 0
                send-advert true
            }
        }
        speed auto
    }
    ethernet eth2 {
        address 192.168.2.1/24
        address fd12:3456:789a:2::1/64
        description "Local 2"
        disable
        duplex auto
        ipv6 {
            dup-addr-detect-transmits 1
            router-advert {
                cur-hop-limit 64
                default-preference high
                link-mtu 0
                managed-flag false
                max-interval 600
                name-server fd12:3456:789a:2::1
                other-config-flag false
                prefix ::/64 {
                    autonomous-flag true
                    on-link-flag true
                    valid-lifetime 2592000
                }
                prefix fd12:3456:789a:2::/64 {
                    autonomous-flag true
                    on-link-flag true
                    valid-lifetime 2592000
                }
                reachable-time 0
                retrans-timer 0
                send-advert true
            }
        }
        speed auto
    }
    ethernet eth3 {
        address dhcp
        description "WAN (fiber)"
        dhcpv6-pd {
            pd 0 {
                interface eth1 {
                    host-address ::1
                    prefix-id 01
                    service slaac
                }
                interface eth2 {
                    host-address ::1
                    prefix-id 02
                    service slaac
                }
                prefix-length /56
            }
            rapid-commit enable
        }
        duplex auto
        firewall {
            in {
                ipv6-name WANv6_IN
                name WAN_IN
            }
            local {
                ipv6-name WANv6_LOCAL
                name WAN_LOCAL
            }
        }
        ipv6 {
            address {
                autoconf
            }
            dup-addr-detect-transmits 1
        }
        speed auto
    }
    loopback lo {
    }
}
service {
    dhcp-server {
        disabled false
        hostfile-update disable
        shared-network-name LAN1 {
            authoritative enable
            subnet 192.168.1.0/24 {
                default-router 192.168.1.1
                dns-server 192.168.1.1
                lease 86400
                start 192.168.1.10 {
                    stop 192.168.1.255
                }
            }
        }
        shared-network-name LAN2 {
            authoritative enable
            subnet 192.168.2.0/24 {
                default-router 192.168.2.1
                dns-server 192.168.2.1
                lease 86400
                start 192.168.2.10 {
                    stop 192.168.2.255
                }
            }
        }
        static-arp disable
        use-dnsmasq disable
    }
    dns {
        forwarding {
            cache-size 10000
            listen-on eth1
            listen-on eth2
        }
    }
    gui {
        http-port 80
        https-port 443
        older-ciphers disable
    }
    nat {
        rule 5010 {
            description "masquerade for WAN"
            outbound-interface eth0
            type masquerade
        }
        rule 5020 {
            description "masquerade for WAN (fiber)"
            outbound-interface eth3
            type masquerade
        }
    }
    ssh {
        port 22
        protocol-version v2
    }
    ubnt-discover {
        disable
    }
    unms {
        disable
    }
}
system {
    analytics-handler {
        send-analytics-report false
    }
    config-management {
        commit-revisions 10
    }
    crash-handler {
        send-crash-report false
    }
    host-name gateway
    login {
        user [SANITIZED] {
            authentication {
                encrypted-password [SANITIZED]
            }
            level admin
        }
    }
    ntp {
        server 0.nl.pool.ntp.org {
        }
        server 1.nl.pool.ntp.org {
        }
        server 2.nl.pool.ntp.org {
        }
        server 3.nl.pool.ntp.org {
        }
    }
    offload {
        hwnat disable
        ipsec enable
        ipv4 {
            bonding enable
            forwarding enable
            gre enable
            pppoe enable
            vlan enable
        }
        ipv6 {
            bonding enable
            forwarding enable
            vlan enable
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone Europe/Amsterdam
    traffic-analysis {
        dpi disable
        export disable
    }
}
2 likes