IPv6 på EdgeRouterX router ved Gigabit.dk

Nu hvor jeg endelig har fået en internetudbyder der supportere IPv6, måtte jeg vel også lige tage mig sammen til at få det sat op.

Der viser sig at det desværre ikke er et par få klik via et web-gui på en Ubiquiti EdgeRouter X (ER-X).

Dog er det forholdsvis nemt at sætte op via cli.

Mine interfaces ser ud som dette. Det vil sige WAN som eth0 og en Switch0 hvor eth1-4 er tilknyttet.

ubnt@ubnt:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description
---------    ----------                        ---  -----------
eth0         xx.xx.xx.xx/26                 u/u
             2a00:xxx:xx:xx::xx/128
eth1         -                                 u/u  Local
eth2         -                                 u/D  Local
eth3         -                                 u/D  Local
eth4         -                                 u/D  Local
lo           127.0.0.1/8                       u/u
             ::1/128
switch0      192.168.0.1/24                    u/u  Local
             2a00:xxxx:xxx::1/64

Husk at skifte til config-mode, med configure

Firewall regler

En god ide at sætte noget firewall op, inden man går igang. Ved IPv6 er man jo ikke bag et NAT.

Regler for WAN->LAN klienter:

edit firewall ipv6-name WAN6_IN
set default-action drop
set rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enable
set rule 20 action drop
set rule 20 description "drop invalid packets"
set rule 20 protocol all
set rule 20 state invalid enable
set rule 30 action accept
set rule 30 description "allow ICMPv6"
set rule 30 protocol icmpv6
top

Regler for WAN -> Router (aka lokal)

edit firewall ipv6-name WAN6_LOCAL
set default-action drop
set rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enable
set rule 20 action drop
set rule 20 description "drop invalid packets"
set rule 20 protocol all
set rule 20 state invalid enable
set rule 30 action accept
set rule 30 description "allow ICMPv6"
set rule 30 protocol icmpv6
set rule 40 action accept
set rule 40 description "allow DHCPv6 client/server"
set rule 40 destination port 546
set rule 40 source port 547
set rule 40 protocol udp
top

Herefter kan de to regler tilknyttet WAN interfacet, som i mit tilfælde er eth0

set interfaces ethernet eth0 firewall in ipv6-name WAN6_IN
set interfaces ethernet eth0 firewall local ipv6-name WAN6_LOCAL

Interface setup

Herefter opsættes at modtage en IPv6 adresse fra udbyderen, samt uddele adressere videre til klienterne.

set interfaces ethernet eth0 dhcpv6-pd pd 0 interface switch0 service slaac
set interfaces ethernet eth0 dhcpv6-pd pd 0 interface switch0 host-address ::1
set interfaces ethernet eth0 dhcpv6-pd pd 0 interface switch0 prefix-id :0
set interfaces ethernet eth0 dhcpv6-pd rapid-commit
set interfaces ethernet eth0 dhcpv6-pd rapid-commit enable
set interfaces ethernet eth0 dhcpv6-pd pd 0 prefix-length 48

Især den sidste linje med /48 var vigtigt før, jeg kunne få routeren til at give ipv6 ud til klienterne. Bemærk dog overstående eksempel på mine interfaces, skriver at den har en /64. Det er vidst en bug i softwaren.

Aktiver

Til sidst køres commit. Dette vil få routeren til at aktivere den nye config. Bemærk at den stadig ikke er gemt, hvis routeren genstartes.

commit

Husk at køre save inden du forlader din cli. Det er dumt at det hele skal gå tabt, når den router engang genstarter.

save

Du kan dog med fordel checker med show interfaces igen, for at se om du har modtaget en ipv6 ip’adresse.

Kig også på dine klienter. På Mac får den ret hurtigt en ipv6 adresse.

Test fra din browser på f.eks. https://test-ipv6.com/