I have solaris11.4 Ipadm report two network interfaces configured everyone with ipv4 and ipv6

NAME              CLASS/TYPE STATE        UNDER      ADDR
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --
   lo0/v6         static     ok           --         ::1/128
net0              ip         ok           --         --
   net0/v4        static     ok           --
   net0/v6        addrconf   ok           --         bla:bla:bla/10
net1              ip         ok           --         --
   net1/v4        static     ok           --
   net1/v6        addrconf   ok           --         bla:bla:bla/10

I can ping the net1/v6 and net0/v6 without problems

ping -A inet6 inet6:addr

But now I want to ping router ipv6 and..

ping -A inet6 router::ipv6
ping: sendto No route to host

I try to add ipv6 gateway and..

 /usr/sbin/route -p add -inet6 default router::ipv6
add net default: gateway router::ipv6 Network is unreachable

I have tried to disabling firewall: no way I run this daemon


No way. Other checks?

  • Did you put in fake IPv6 addresses? It's not possible to understand what is going on, because you put in bla:bla:bla instead of the actual output. – Michael Hampton Mar 17 '18 at 20:34
  • You may want to check/provide the output for routes: route -p show, netstat -nr – sleepyweasel Mar 19 '18 at 22:02

I think the general idea in IPv6 is that the gateway should usually be auto-detected based on the Router Advertisement messages it sends periodically. (Router Advertisements are a sub-type of ICMPv6, sent to a multicast IPv6 address of ff02::1.)

Also, typically an IPv6 network interface has at least 2 IPv6 addresses when it has global connectivity:

  • a link-local address, of the form fe80::bla:bla:bla:bla (mask /10)
  • a globally-routable address, typically 2XXX:..., with a somewhat longer mask (even a major ISP would generally have an IPv6 mask of at least /32).

The link-local address is sort of similar to IPv4 169.254.. address; however, unlike in IPv4, the IPv6 link-local address is not typically removed when a globally-routable address is configured. But if you have only a link-local fe80: address, then your IPv6 configuration is not yet complete. You hid your IPv6 addresses, but the mask lengths you indicated makes me suspect this is your situation.

In IPv6, the Router Advertisements contain a lot of important information:

  • they indicate the globally-routable network prefix and network mask length
  • they indicate whether the client is supposed to use DHCPv6 or not
  • if the network mask length is /64 or less, and the Router Advertisement indicates it's allowed, the client may use its MAC address and the network prefix to generate its own globally-routable IPv6 address without using DHCPv6 at all. This technique is known as stateless autoconfiguration (SLAAC).
  • optionally, the Router Advertisement may also include information on IPv6 DNS servers to use.

So, I'd say you should first find out if your system is receiving Router Advertisements from the router, and if not, try and fix that. Maybe the router is not configured to pass IPv6 to your network segment yet, or perhaps someone has mistakenly firewalled out ICMPv6.

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.