IPv6 network is unreachable. until reboot

9,112

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.

Share:
9,112

Related videos on Youtube

maxi villalobos
Author by

maxi villalobos

Updated on September 18, 2022

Comments

  • maxi villalobos
    maxi villalobos almost 2 years

    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
    
    • Sander Steffann
      Sander Steffann almost 10 years
      Can you add the output of the commands ip -6 addr and ip -6 route?
    • Sander Steffann
      Sander Steffann almost 10 years
      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
      Sander Steffann almost 10 years
      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.
    • maxi villalobos
      maxi villalobos almost 10 years
      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..
    • maxi villalobos
      maxi villalobos almost 10 years
      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.
    • Sander Steffann
      Sander Steffann almost 10 years
      You should see default via 2001:xxxx:4300:xxxx::1 dev eth0 metric 1024 in your ip -6 route output. Something is removing it. You might want to see if there is any correlation between certain cronjobs running and this behaviour. Maybe run ping6 -a 2001:4860:4860::8888 while running tail -f /var/log/syslog in a different window and see what showed up in the logs the moment the beeps stop.
    • maxi villalobos
      maxi villalobos almost 10 years
      hello Sander, checked the syslog while pinging.. at the moment the beeps stopped it was /usr/local/directadmin/dataskq which was executed (it is executed every minute but it happens only after an half an hour.)
    • Sander Steffann
      Sander Steffann almost 10 years
      dataskq is the DirectAdmin Task Queue runner. I never used DirectAdmin so I don't know which kind of tasks are executed by it. I think someone with more DA experience has to answer this...
  • maxi villalobos
    maxi villalobos almost 10 years
    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.
  • maxi villalobos
    maxi villalobos almost 10 years
    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.
  • BillThor
    BillThor almost 10 years
    @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.
  • maxi villalobos
    maxi villalobos almost 10 years
    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.