4

I've setup IPv6 on my Ubuntu 14.04 server.
Everything is working.. until all of a sudden (haven't found the trigger)
a ping6 2001:4860:4860::8888 (google nameserver 8.8.8.8) returns network unreachable.

When i reboot the server it all starts working again. and the ping resolves.

My /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback
iface lo inet6 loopback

# The primary network interface
auto eth0

iface eth0 inet static
address 95.xxx.44.xxx
netmask 255.255.255.0
network 95.xxx.44.0
broadcast 95.xxx.44.255
gateway 95.xxx.44.254
dns-nameservers 8.8.8.8 8.8.4.4
dns-search localdomain

iface eth0 inet6 static
pre-up modprobe ipv6
address 2001:xxxx:4300:xxxx:0008::c01a
netmask 64
gateway 2001:xxxx:4300:xxxx::1
dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
dns-search localdomain

I have found that my /run/network/ifstate is sometimes missing the eth0=eth0 but with or without it the problems occur.

EDIT:
both where when everything was NOT working.
output of ip -6 addr:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:xxxx:4300:xxxx:8::69/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::68/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::67/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::66/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::65/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::64/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::63/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::62/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::61/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::60/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::59/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::58/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::57/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::56/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::55/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::54/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::53/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::52/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::51/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::50/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::49/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::48/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::47/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::46/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::45/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::44/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::43/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::42/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::41/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::40/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::39/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::38/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::37/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::36/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::35/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::34/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::33/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::32/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::31/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::30/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::29/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::28/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::27/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::26/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::25/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::24/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::23/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::22/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::21/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::20/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::19/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::18/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::17/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::16/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::15/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::14/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::13/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::12/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::11/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::10/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::9/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::8/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::7/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::6/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::5/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::4/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::3/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::2/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::1/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::/64 scope global 
   valid_lft forever preferred_lft forever
inet6 2001:xxxx:4300:xxxx:8::c01a/64 scope global 
   valid_lft forever preferred_lft forever
inet6 fe80::250:xxxx:xxxx:9b1/64 scope link 
   valid_lft forever preferred_lft forever

and output of ip -6 route:

 2001:xxxx:4300:xxxx::/64 dev eth0  proto kernel  metric 256 
 fe80::/64 dev eth0  proto kernel  metric 256 

EDIT2:
output of ip -6 route when networking was working:

2001:xxxx:4300:xxxx::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
default via fe80::2d0:ff:fefc:3000 dev eth0  proto ra  metric 1024  expires 1772sec
default via fe80::2d0:ff:fefb:9000 dev eth0  proto ra  metric 1024  expires 1772sec
  • Can you add the output of the commands ip -6 addr and ip -6 route? – Sander Steffann Jul 15 '14 at 11:09
  • This is strange. Where do all those IPv6 addresses (...:8:: to ...:8::69) come from? Also your routing table doesn't have a default route anymore. You did configure a gateway, but it has disappeared. Something else is interfering with your IPv6 settings... – Sander Steffann Jul 15 '14 at 11:58
  • You say the output was from when things are working fine, but without a default route that can't be. You don't have a route to reach i.e. 2001:4860:4860::8888. – Sander Steffann Jul 15 '14 at 12:00
  • You are right.. it is not working.. again.. Thats what i mean, everything is fine one moment, and the next it doesn't work anymore.. – TD_Nijboer Jul 15 '14 at 12:06
  • all those IPv6 addresses (...:8:: to ...:8::69) come from DirectAdmin .. somewhere.. BTW. i say DirectAdmin, but i'm experiencing this behavior on a different server as well without DirectAdmin. – TD_Nijboer Jul 15 '14 at 12:07
3

It appears you have two devices advertising the default route instead of 1. (These could be two interfaces on your router.) These routes normally are sent by a radvd server. Your router should be periodically advertizing it routes.

default via fe80::2d0:ff:fefc:3000 dev eth0  proto ra  metric 1024  expires 1772sec
default via fe80::2d0:ff:fefb:9000 dev eth0  proto ra  metric 1024  expires 1772sec

Try running tcpdump to catch the router advertisements. Identify the device which is advertising an incorrect route and stop it from advertising itself as a router. If you aren't seeing advertisements, try to get your router configured to send them.

You may be able to temporarily restore connectivity with the command:

ip -6 route add default via 2001:xxxx:4300:xxxx::1 dev eth0 metric 1024 

If you are firewalling ICMP6 traffic, you may be blocking traffic required for IPv6 to work. There is a long list of ICMP types that are required: at least 1-4, 130-137, 141-143, 148-148, and 151-153. See RFC4890 for more information.

Check the contents of /etc/sysctl.conf and /etc/sysctl to see if you have disabled ipv6.autoconf on your interface.

  • you might be on to something here. i just noticed (since ipv6 is up and running for an hour) that ip -6 route now only displays one additional route instead of the two mentioned above. – TD_Nijboer Sep 17 '14 at 13:28
  • ps. when trying the add route it says network unreachable. ps2. the one route displayed is a route to the first ipv6 address. not the ff:fefb:3000 / 9000 address. – TD_Nijboer Sep 17 '14 at 13:30
  • @TD_Nijboer If you have the original two as well as a new one, try removing the new one. I have found I often need to add or alter options when manually configuring IPv6. There is a option listed on the ip man page to force add a route that does not seem to be reachable. Default routing is normally done via an fe80:: address. – BillThor Sep 17 '14 at 13:38
  • the only fe80 route i have is fe80::/64 dev eth0 proto kernel metric 256 and now default via 2001:xxxx:4300:xxxx::1 dev eth0 metric 1024 this is working fine.. for now. – TD_Nijboer Sep 17 '14 at 14:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.