Вопрос или проблема
Сеть работает нормально, и ping даже на mirrors.centos.org работает. но использование yum вызывает ошибки, как указано ниже, и
также DNS установлен на 8.8.8.8.
Ошибки при загрузке метаданных для репозитория ‘baseos’:
- Ошибка Curl (7): Не удалось подключиться к серверу для https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http
[Не удалось подключиться к mirrors.centos.org: порт 443: соединение отклонено]
Ошибка: Не удалось загрузить метаданные для репозитория 'baseos': Не удается подготовить внутренний
список зеркал: ошибка Curl (7): Не удалось подключиться к серверу для https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http
[Не удалось подключиться к mirrors.centos.org: порт 443: соединение отклонено]
Да, в Ubuntu (и большинстве Linux-дистрибутивов), настройки DNS хранятся в файле /etc/resolv.conf.
sudo vi /etc/resolv.conf
и добавьте следующее
# Сгенерировано resolvconf
nameserver 8.8.8.8
nameserver 8.8.4.4
Ответ или решение
Проблема, с которой вы столкнулись при использовании CentOS 9, связана с ошибкой загрузки метаданных репозитория ‘baseos’. Эта ошибка обычно указывает на проблему с доступом к интернет-ресурсам, несмотря на то, что ваше сетевое подключение работает должным образом и адрес mirrors.centos.org пингуется успешно. Да, вы правильно отметили, что ваш DNS настроен на использование серверов Google 8.8.8.8 и 8.8.4.4. Давайте исследуем, каким образом это может повлиять на вашу проблему, и как её можно решить.
Теория
Для начала разберемся с самой ошибкой, возникающей при использовании команды yum
. Ошибка "Curl error (7): Couldn’t connect to server for https://mirrors.centos.org" сообщает о невозможности установить соединение с указанным сервером через порт 443, который используется для HTTPS-запросов. Этот тип ошибки чаще всего возникает в результате:
-
Блокировки доступа к серверу. Некоторые сетевые настройки или политики могут блокировать доступ к определённым адресам или портам. В вашем случае это порт 443.
-
Проблемы с конфигурацией сети. Несмотря на корректную работу DNS-серверов, другие сетевые настройки могут мешать корректной загрузке данных.
-
Недоступность самого репозитория. Временные проблемы или изменения в сетевой конфигурации сервера могут препятствовать доступу.
-
Настройки брандмауэра. Локальный или сетевой брандмауэр может блокировать HTTPS-соединения.
Пример
Рассмотрим, как можно поступить для устранения данной проблемы. Первоначально можно выполнить несколько проверок и настройку сетевых параметров:
-
Проверка доступности ресурсов: Используйте команду
curl
напрямую, чтобы проверить, доступен ли URL. Например:curl -v https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http
Это поможет понять, в какой именно момент возникает проблема — на уровне DNS или непосредственно при попытке подключения.
-
Проверка настроек
yum
: Убедитесь, что настройки репозиториев в/etc/yum.repos.d/
корректны. Иногда URL-адреса могут измениться из-за обновлений или неправильных настроек. -
Настройка брандмауэра: Отключите временно брандмауэр для проверки:
sudo systemctl stop firewalld sudo systemctl disable firewalld
Если ошибка исчезла после отключения брандмауэра, тогда нужно будет настроить правила доступа, чтобы позволить выходные соединения через порт 443.
Применение
Устранять подобные сетевые проблемы можно, следуя плану действий. Вот несколько шагов, которые вы можете предпринять:
-
Проверьте локальный брандмауэр: Убедитесь, что в локальной системе нет политик, запрещающих исходящее соединение на 443-й порт. Запустите
firewall-cmd --list-all
для проверки текущих правил. -
Проверьте сетевые настройки: Пересмотрите настройки сетевых интерфейсов и конфигурации маршрутизации, чтобы убедиться, что они ведут запросы к правильным шлюзам.
-
Проверка маркеров конфигурации репозиториев: Измените конфигурацию между использованием HTTPS и HTTP, чтобы проверить, если у вас общий доступ к какому-либо одному из них:
[baseos] name=baseos baseurl=http://mirror.centos.org/centos/9-stream/BaseOS/x86_64/os gpgcheck=1 enabled=1
Если загрузка с использованием HTTP работает, проблема может быть именно в HTTPS-настройках.
-
Источники для обновления: Если проблема не решается через штатные каналы, возможно, стоит перейти на другой зеркальный сервер CentOS или использовать репозиторий Artifactory, который обеспечит доступ к другим, более стабильным зеркалам.
-
Логи для диагностики: Используйте файлы журналов, чтобы выяснить дополнительные подробности об ошибках подключения:
sudo vi /var/log/yum.log
Это может дать более подробную информацию о том, что именно пошло не так при попытке загрузки метаданных.
-
Конфигурирование DNS: Замените текущие DNS-серверы на альтернативные, например, Cloudflare (1.1.1.1) или OpenDNS (208.67.222.222).
Проблемы с метаданными репозитория могут быть вызваны множеством факторов, и тщательно следуя диагностическим шагам, вы сможете определить источник проблемы и принять соответствующие меры. В условиях меняющегося сетевого ландшафта важно оставаться гибким и открытым новым решениям, которые могут улучшить эффективность вашей инфраструктуры.