Blog‎ > ‎

UpCloud IPv6 network configuration for Ubuntu Server

posted Apr 20, 2015, 9:23 AM by Sami Lehtinen   [ updated Apr 20, 2015, 9:26 AM ]
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