Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mirrormanager provides IPv4 only mirrors to clients that connect via IPv6 #247

Open
devicenull opened this issue Apr 30, 2018 · 6 comments

Comments

@devicenull
Copy link

devicenull commented Apr 30, 2018

I have a server that only has IPv6 connectivity. When I retrieve a list of mirrors, some mirrors that are IPv4 only are included in the list. This makes yum throw some errors as it tries to connect to them:

https://gist.githubusercontent.com/devicenull/13533879ee0f646770e9b603f99096f8/raw/3df13b71997e3f35dab2717a670039b45659e5f2/gistfile1.txt

This is part of the mirror list I get:

https://gist.githubusercontent.com/devicenull/1f84d71d8482848313e72decf0dbad26/raw/e6d62c14b98e1b25fe48e70d9bf79395fd82447d/gistfile1.txt

mirror.cogentco.com and mirror.grid.uchicago.edu do not actually have IPv6 connectivity.

If I clear my local timedhosts.txt, it somewhat works around this issue, as it detects the hosts aren't actually available:

# cat /var/cache/yum/x86_64/7/timedhosts.txt  | grep cogent
mirror.cogentco.com 99999999999

So I'm not sure if a proper mitigation here would be clientside or serverside.

@mdomsch
Copy link
Contributor

mdomsch commented Apr 30, 2018

Mirror servers may or may not have IPv4 or IPv6 records. MirrorManager only has their URLs, and knows very little about their connectivity (nor should it). The client, given a list of mirror server URLs, can look up each of them for A or AAAA records, and depending on its connectivity, discard addresses which it cannot reach. yum/dnf do not have a way to determine this though (e.g. automatically detect, or via configuration option). Your best approach is going to be to add such into yum/dnf somehow.

@arrfab
Copy link

arrfab commented Aug 25, 2021

is that still true ? that would be a blocker for CentOS Stream 9 on mirrormanager instance hosted by Fedora Infra
@adrianreber : can you confirm/deny ?

@adrianreber
Copy link
Member

is that still true ? that would be a blocker for CentOS Stream 9 on mirrormanager instance hosted by Fedora Infra
@adrianreber : can you confirm/deny ?

MirrorManager still just returns URLs and does not look if it resolves as IPv4 or IPv6. So far non of our EPEL or Fedora users complained about this (besides this report). So it does not really seem to be blocker.

@mdomsch
Copy link
Contributor

mdomsch commented Aug 25, 2021 via email

@arrfab
Copy link

arrfab commented Aug 26, 2021

can this be added as a RFE ? as that's the reason why for centos mirrorlists, our crawler was creating also ipv6 lists, (dual-stack) to answer only validated mirrors with AAAA records and so we were sure that from a yum/dnf PoV, it was always possible to reach target mirror, and not be in the situation described by initial requestor.

@adrianreber
Copy link
Member

can this be added as a RFE ? as that's the reason why for centos mirrorlists, our crawler was creating also ipv6 lists, (dual-stack) to answer only validated mirrors with AAAA records and so we were sure that from a yum/dnf PoV, it was always possible to reach target mirror, and not be in the situation described by initial requestor.

If this becomes necessary we can of course add it. It would make the crawler a bit more complicated but sounds doable if required. Currently the crawler has no IPv6 connectivity so that would also need to change but it all sounds doable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants