uri defined for connectivity check does not have IPv6 address

Bug #1815036 reported by Rachel Greenham
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Fix Released
High
Unassigned

Bug Description

As per subject. This package defines the file /usr/lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf, which defines the uri for the connectivity check to be http://connectivity-check.ubuntu.com

This hostname does not resolve to an IPv6 address. Therefore, even if the user has fully working IPv6, the connectivity check for IPv6 will fail. As a result, the IPv6 default routes will be heavily deprioritised (ie: having 20000 added to the metric) rendering them effectively inoperable absent a deliberate effort to use IPv6-only addresses.

NB: This was discovered by-the-by during reporting of bug #1814262 upstream at https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/116#note_114448

It seems to be irrelevant to the main thrust of that bug, which is that IPv4 wired routes are not being identified as working correctly. In fact, when I switch to network-manager-config-connectivity-debian, the hostname defined there *does* have a working IPv6 address, and the issue actually being reported in that other bug does not affect the IPv6 routes, only the IPv4 ones.

The bug here probably doesn't need any change made to the package itself, but rather to the networking of the actual target URL. It needs an IPv6 (AAAA) DNS record, and for it to function on that address.

I note in passing the debian connectivity check URL resolves to several IP addresses - four IPv4 addresses and 3 IPv6 addresses, presumably geographically diverse. (It's actually a CNAME to static.debian.org) This looks like it would be a more reliable target for connectivity checks. The ubuntu URL only resolves to a single IPv4 address.

ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: network-manager-config-connectivity-ubuntu 1.15.2-0ubuntu1
ProcVersionSignature: Ubuntu 4.19.0-12.13-generic 4.19.18
Uname: Linux 4.19.0-12-generic x86_64
ApportVersion: 2.20.10-0ubuntu20
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Thu Feb 7 12:35:24 2019
IfupdownConfig:
 # interfaces(5) file used by ifup(8) and ifdown(8)
 auto lo
 iface lo inet loopback
InstallationDate: Installed on 2018-09-11 (148 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180214)
IpRoute:
 default via 192.168.1.254 dev enp63s0 proto dhcp metric 100
 default via 192.168.1.254 dev wlp2s0 proto dhcp metric 20600
 169.254.0.0/16 dev wlp2s0 scope link metric 1000
 192.168.1.0/24 dev enp63s0 proto kernel scope link src 192.168.1.106 metric 100
 192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.101 metric 600
NetworkManager.state:
 [main]
 NetworkingEnabled=true
 WirelessEnabled=true
 WWANEnabled=true
PackageArchitecture: all
SourcePackage: network-manager
UpgradeStatus: Upgraded to disco on 2019-01-13 (24 days ago)
nmcli-nm:
 RUNNING VERSION STATE STARTUP CONNECTIVITY NETWORKING WIFI-HW WIFI WWAN-HW WWAN
 running 1.15.2 connected started full enabled enabled enabled enabled enabled

Revision history for this message
Rachel Greenham (rachel-strangenoises) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report, that's not a network-manager issue but indeed that's a problem on the Ubuntu infrastructure side which I'm going to report

Changed in network-manager (Ubuntu):
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Valtteri Vuorikoski (vuorik) wrote :

1.5 years on this is still broken: connectivity-check.ubuntu.com has no AAAA record.

Workaround: remove network-manager-config-connectivity-ubuntu and install network-manager-config-connectivity-debian instead.

Revision history for this message
MarcH (marc-h38) wrote :

As of now connectivity-check.ubuntu.com has still no AAAA record and... it causes no IPv6 problem on Ubuntu 20.04. I doubt it ever did.

"ping www.google.com" and "getent ahosts www.google.com" show that the system prefers IPv6 anyway.

As expected, only changing /etc/gai.conf makes "ping www.google.com" and "getent ahosts www.google.com" prefer IPv4. Nothing else does.

I also tried to change the connectivity uri to http://fedoraproject.org/static/hotspot.txt (which has AAAA) and it made no difference whatsoever anywhere compared to connectivity-check.ubuntu.com

> As a result, the IPv6 default routes will be heavily deprioritised (ie: having 20000 added to the metric)

My default IPv6 route had a 20100 metric in every single combination I tried. Using fedoraproject.org made no difference. Note I have a single wired interface, no wifi.

AFAIK IPv6 route metrics are only compared to other IPv6 routes, not to IPv4 routes. It's not like each packet has a choice between the two.

PS: see #1880258 for another, unrelated connectivity-check.ubuntu.com issue.

Revision history for this message
Sebastien Bacher (seb128) wrote :

The connectivity server does handle IPv6 now

Changed in network-manager (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.