UpCloud IPv6 network configuration for Ubuntu Server

Post date: Apr 20, 2015 4:23:22 PM

UpCloud uses SLAAC for IPv6 configuration. But they explicitly allow only traffic from specified addresses and therefore privacy addressing / extension must be disabled. They did provider instructions how to get this stuff done, but I found the instructions to be "non-optimal".

*** sysctl.conf additions for Ubuntu ***

# IPv6 additions from UpCloud documentation

net.ipv6.conf.all.use_tempaddr = 0

net.ipv6.conf.default.use_tempaddr = 0

*** /etc/networking/interfaces additions ***

auto eth2

iface eth2 inet6 auto

*** Shell ***

sudo ifdown eth2

sudo ifup eth2

*** Verify output and address ***

ifconfig

eth2 Link encap:Ethernet HWaddr aa:aa:aa:80:47:0d

inet6 addr: 2a04:3540:1000:310:a8aa:aaff:fe80:470d/64 Scope:Global

inet6 addr: fe80::a8aa:aaff:fe80:470d/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:36 errors:0 dropped:0 overruns:0 frame:0

TX packets:79 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:3868 (3.8 KB) TX bytes:7270 (7.2 KB)

*** What wasn't optimal ***

https://www.upcloud.com/support/allocating-new-ip-addresses/

Well, these settings didn't matter at all. So I didn't set those values. Also I don't know if those are really required. At least if you're not planning to setup a router which I wasn't.

net.ipv4.conf.all.rp_filter=0

net.ipv4.conf.default.rp_filter=0

net.ipv4.ip_forward=1

And the settings about tempaddr wasn't mentioned at all. I double checked it, without disabling temporary privacy addressing things just won't work out.

*** Windows 2012 R2 configuration ***

With Windows 2012 R2 servers the guide was all good, disabling privacy addressing provided immediate static IPv6 address for server:

netsh interface ipv6 set global randomizeidentifiers=disabled store=active

netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent

netsh interface ipv6 set privacy state=disabled store=active

netsh interface ipv6 set privacy state=disabled store=persistent