IPV6 not working

Hi

I updated my system to Leap 42.1 and configured ipv6 as I had it on Opensuse 12, but it does not work. Here are the details:

> uname -a
Linux opensuse42 4.1.15-8-default #1 SMP PREEMPT Wed Jan 20 16:41:00 UTC 2016 (0e3b3ab) x86_64 x86_64 x86_64 GNU/Linux

> /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:50:56:29:EF:20
inet addr:192.168.1.29 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: 2a01:348:1f9::29/48 Scope:Global
inet6 addr: fe80::250:56ff:fe29:ef20/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:289592 errors:0 dropped:0 overruns:0 frame:0
TX packets:46496 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:95500957 (91.0 Mb) TX bytes:4521534 (4.3 Mb)
Interrupt:19 Base address:0x2000
eth0:Sock Link encap:Ethernet HWaddr 00:50:56:29:EF:20
inet addr:192.168.1.129 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:3027 errors:0 dropped:0 overruns:0 frame:0
TX packets:3027 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:714264 (697.5 Kb) TX bytes:714264 (697.5 Kb)

> ip -6 route show
2a01:348:1f9::/48 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via 2a01:348:1f9::2 dev eth0 metric 1024 pref medium

Test Local scope

> ip -6 route get fe80::250:56ff:fe29:ef20
fe80::250:56ff:fe29:ef20 from :: dev eth0 metric 0
cache pref medium

> ping6 fe80::250:56ff:fe29:ef20
connect: Invalid argument

> ping6 -I eth0 fe80::250:56ff:fe29:ef20
connect: Cannot assign requested address

Test global scope

> ip -6 route get 2a01:348:1f9::29
2a01:348:1f9::29 from :: dev eth0 src ::1 metric 0
cache pref medium

> ping6 2a01:348:1f9::29
PING 2a01:348:1f9::29(2a01:348:1f9::29) 56 data bytes
From ::1 icmp_seq=1 Destination unreachable: Address unreachable
From ::1 icmp_seq=2 Destination unreachable: Address unreachable
From ::1 icmp_seq=3 Destination unreachable: Address unreachable
^C
— 2a01:348:1f9::29 ping statistics —
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3999ms

> ping6 -I eth0 2a01:348:1f9::29
ping6: Warning: source address might be selected on device other than eth0.
PING 2a01:348:1f9::29(2a01:348:1f9::29) from ::1 eth0: 56 data bytes
From ::1 icmp_seq=1 Destination unreachable: Address unreachable
From ::1 icmp_seq=2 Destination unreachable: Address unreachable
From ::1 icmp_seq=3 Destination unreachable: Address unreachable
From ::1 icmp_seq=4 Destination unreachable: Address unreachable
From ::1 icmp_seq=5 Destination unreachable: Address unreachable
From ::1 icmp_seq=6 Destination unreachable: Address unreachable
^C
— 2a01:348:1f9::29 ping statistics —
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6032ms

Loopback

> ping6 ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.017 ms
64 bytes from ::1: icmp_seq=2 ttl=64 time=0.114 ms
64 bytes from ::1: icmp_seq=3 ttl=64 time=0.090 ms
64 bytes from ::1: icmp_seq=4 ttl=64 time=0.064 ms
^C
— ::1 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.017/0.071/0.114/0.036 ms

As you can see I can not even ping6 the local address.

Markus

I don’t know what the problem is.

I do notice, however, that your “ifconfig -a” output has “eth0” twice. The first time it has both IPv4 and IPv6 addresses, and the second time it has only an IPv4 address.

It should not be appearing twice. Something is wrong in your settings.

I think you are using “wicked” rather than “NetworkManager”. I suggest that you switch to “NetworkManager” and see if it works that way. I suggest that, because “NetworkManager” is configured separately, so it might avoid whatever is causing the problem.

Hi,

eth0 is twice (although it is not eth0 but eth0:SocksAlias) as I have a second IP as alias.

Thank you
Markus

Okay. Sorry for missing that. I haven’t used aliasing like that for more than a decade (and then it was on solaris).

I’m guessing that’s involved in the problem. Maybe it is trying to route through the logical (alias) interface that does not have an IPv6 address. Maybe check bugzilla to see if there are other reports of this problem.

I tried also with network manager without any improvement.

Markus

I have enabled debug for wicked and get the below ( With errors on duplicate local ipv6 address. How is that possible ? )


Apr 09 12:53:41 opensuse42 wicked[11884]: received signal progressInfo; object_path=/org/opensuse/Network/Nanny/Interface/2; target_state=network-up, state_name=lldp-up
Apr 09 12:53:41 opensuse42 wickedd[954]: eth0: No duplicates for IP address 192.168.1.29 detected
Apr 09 12:53:42 opensuse42 wickedd[954]: eth0: Notified neighbours about IP address 192.168.1.29
Apr 09 12:53:42 opensuse42 wickedd[954]: eth0: No duplicates for IP address 192.168.1.129 detected
Apr 09 12:53:42 opensuse42 wickedd[954]: eth0: Notified neighbours about IP address 192.168.1.129
Apr 09 12:53:43 opensuse42 wickedd[954]: eth0: lease ipv6:static address fe80::250:56ff:fe29:ef20 is duplicate
Apr 09 12:53:43 opensuse42 wickedd[954]: eth0: error updating interface config from ipv6:static lease
Apr 09 12:53:43 opensuse42 wickedd-nanny[955]: device eth0: call to org.opensuse.Network.Addrconf.ipv6.static.requestLease() failed: General failure

Markus

Probably a bug. I suggest that you report it: Submitting bug reports

Normally, the ipv6 address is constructed in a standard way using the allocated prefix and the MAC address. But that won’t work with a virtual device, since it has the same MAC address as its parent. Special handling is needed. That’s what makes it look like a bug.

  1. How are you assigning and configuring your IPv6 addresses, are they being assigned by DHCP or statically? Even if you aren’t running DHCP, is there any chance that your ISP is running DHCP, eg an Internet Gateway, router or access point which may have that functionality? Especially for public facing interfaces, it’s safer and less likely to be configured incorrectly if you allow your ISP to assign <all> addresses automatically and then only <optionally> add <additional> IPv6 addresses on your own.

  2. Normally fe80 addresses are auto-generated. Are you forcing your own address or allowing the address to be created automatically on its own?

  3. After configuring your new IP addresses, a network restart may be required. To be sure, restart manually before proceeding

systemctl restart network

As you can see I can not even ping6 the local address.

From your posted results, it looks like your loopback address works, but you are unable to ping your other addresses… As I described, your fe80 address likely has been newly auto-generated and your old address is likely no longer valid so if as you described it is the same address you used when your machine was another OS, that’s likely your problem. I don’t know about your other remote facing interfaces because I don’t know whether you’re forcing wrong addresses or your addresses are valid. Note that even the aliased address may be tied to an invalid address, if you added an address that stood on its own it might have a better chance of being valid.

HTH,
TSU

If it’s not clear what you should try next from what I posted, you should try changing all your IPv6 settings to null (empty values) using either Wicked or NM (I doubt should make a diff), restart network services and then start your troubleshooting over again using that configuration as a baseline which would probably work. Only after that, then optionally tweak.

TSU

Hi

I think I figured it out. I did not mention I run it in VMWare Player on Windows 10. For some reason duplicate address detection thinks a duplicate was detected.

When I look at wireshark I see two solicitations for different MACs


No.     Time           Source                Destination           Protocol Length Info
     12 20.935319      ::                    ff02::1:ff29:ef20     ICMPv6   80     Neighbor Solicitation for fe80::250:56ff:fe29:ef20
Frame 12: 80 bytes on wire (640 bits), 80 bytes captured (640 bits) on interface 0
Linux cooked capture
    Packet type: Sent by us (4)
    Link-layer address type: 1
    Link-layer address length: 6
    Source: Vmware_29:ef:20 (00:50:56:29:ef:20)
    Protocol: IPv6 (0x86dd)
Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff29:ef20
Internet Control Message Protocol v6


and


No.     Time           Source                Destination           Protocol Length Info
     13 20.935512      ::                    ff02::1:ff29:ef20     ICMPv6   80     Neighbor Solicitation for fe80::250:56ff:fe29:ef20
Frame 13: 80 bytes on wire (640 bits), 80 bytes captured (640 bits) on interface 0
Linux cooked capture
    Packet type: Multicast (2)
    Link-layer address type: 1
    Link-layer address length: 6
    Source: IntelCor_9d:b2:a0 (c8:f7:33:9d:b2:a0)
    Protocol: IPv6 (0x86dd)
Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff29:ef20
Internet Control Message Protocol v6



The MAC of the second message is from my Windows 10 system, but it does not use that v6 address.


Wireless LAN adapter Wireless Network Connection:
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) Centrino(R) Advanced-N 6235
   Physical Address. . . . . . . . . : C8-F7-33-9D-B2-A0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2a01:348:1f9::11(Preferred)
   Link-local IPv6 Address . . . . . : fe80::99c1:b8a4:3650:e511%6(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.11(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 2a01:348:1f9::2
                                       192.168.1.254
   DHCPv6 IAID . . . . . . . . . . . : 399046451
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1E-48-B1-63-B8-6B-23-6C-E9-0D
   DNS Servers . . . . . . . . . . . : 2a01:348:1f9::2
                                       192.168.1.2
                                       192.168.1.254
   NetBIOS over Tcpip. . . . . . . . : Enabled

It works when I disable DAD with

 sysctl net.ipv6.conf.eth0.accept_dad=0 

I still don’t know where the second solicitation comes from.

Markus

Congrats on sleuthing your problem to that point.

Still recommend what I posted in my previous 2 posts…

  • Unless your network connection is bridged, VMware has a DHCP server enabled for your client.
    If you’re bridging, you still need to consider whether DHCP is running on your network.
  • My recommendation to re-configure your IPv6 settings to null shuold address your basic network connectivity.

TSU