Назад | Перейти на главную страницу

Yum не может добавить репозиторий rpm с помощью команды установки yum

у меня есть CentOS Linux release 7.4.1708 Дистрибутив Linux.

Мне нужно установить какой-то пакет. Первая команда, которую нужно выполнить, - добавить репоисторию:

ням установить https://extras.getpagespeed.com/release-el7-latest.rpm

Когда я запускаю его, команда зависает и через некоторое время выводит ошибки. Полный вывод из cli ниже:

# yum install https://extras.getpagespeed.com/release-el7-latest.rpm
Не могу открыть:
https://extras.getpagespeed.com/release-el7-latest.rpm. Пропуская.
Ошибка: нечего делать

P.S. Я пытаюсь установить Модуль Page Speed ​​Nginx

Обновление 1

Похоже, мой сервер не может загрузить файл rpm:

wget https://extras.getpagespeed.com/release-el7-latest.rpm

Сервер подключен к Интернету, wget и ping команды работают нормально на некоторых случайных ресурсах.

Обновление 2

Я скачал файл https://extras.getpagespeed.com/release-el7-latest.rpm на мою рабочую станцию ​​через браузер и загрузил его в папку домашнего сервера.

Затем я зашел в домашнюю папку сервера и выполнил команду rpm -Uvh release-el7-latest.rpm.

#rpm -Uvh release-el7-latest.rpm
предупреждение: release-el7-latest.rpm: Заголовок V4 Подпись RSA / SHA1, идентификатор ключа 222b0e83: NOKEY
Подготовка ... Обновление / установка ...
1: getpagespeed-extras-7-3.el7.gps

Затем я поискал свою посылку через yum search команда. Это дает мне ошибку, некоторые части огромного вывода приведены ниже.

yum search nginx-модуль

дополнительные услуги | 3.4 кБ 00:00:00
https://extras.getpagespeed.com/redhat/7/noarch/repodata/repomd.xml:
[Errno 14] curl # 7 - «Не удалось подключиться к 2606: 4700: 30 :: 6812: 31e3:
Сеть недоступна "Пробуем другое зеркало.
https://extras.getpagespeed.com/redhat/7/noarch/repodata/repomd.xml:
[Errno 14] curl # 56 - "Обратный вызов прерван" Пробуем другое зеркало.

Разобрался в чем проблемы с IPv6 и добавил ip_resolve=4 установка на /etc/yum.conf файл.

Изменены ошибки:

yum search nginx-модуль
дополнительные услуги | 3.4 кБ 00:00:00
https://extras.getpagespeed.com/redhat/7/noarch/repodata/repomd.xml:
[Errno 14] curl # 7 - «Не удалось подключиться к extras.getpagespeed.com:443; сейчас выполняется операция»

Могут ли проблемы быть связаны с проблемами подключения https?

Обновление 3

Ошибка в Update 2 связано с файлом https://extras.getpagespeed.com/redhat/7/noarch/repodata/repomd.xml, его нельзя скачать.

Прямая загрузка из cli тоже не имеет успеха:

# curl --verbose https://extras.getpagespeed.com/redhat/7/noarch/repodata/repomd.xml
* О подключении () к порту 443 extras.getpagespeed.com (# 0)
* Пробуем 104.18.48.227 ...
* Время соединения истекло
* Пробуем 104.18.49.227 ...
* После 86358 мс времени соединения двигайтесь дальше!
* Пробуем 2606: 4700: 30 :: 6812: 31e3 ...
* Не удалось подключиться к 2606: 4700: 30 :: 6812: 31e3: Сеть недоступна
* Пробуем 2606: 4700: 30 :: 6812: 30e3 ...
* Не удалось подключиться к 2606: 4700: 30 :: 6812: 30e3: Сеть недоступна
* Не удалось подключиться к extras.getpagespeed.com:443; сеть недоступна
* Закрытие соединения 0
curl: (7) Не удалось подключиться к 2606: 4700: 30 :: 6812: 31e3: Сеть недоступна

Я думал, что это проблема https на сервере, но curl https://www.google.com работает отлично. Файл можно загрузить через браузер с рабочей станции.

Обновление 4

Правила Iptables приведены ниже:

# iptables-save
*фильтр
: ВВОД ПРИНЯТЬ [71: 19593]
: FORWARD ACCEPT [0: 0]
: OUTPUT ACCEPT [81: 64337]
: MYSQL - [0: 0]
: MYSQL_WHITELIST - [0: 0]
-A ВХОД -p tcp -m tcp --dport 3306 -j MYSQL
-A MYSQL -j MYSQL_WHITELIST
-A MYSQL -j ПРИНЯТЬ
-A MYSQL_WHITELIST -s 10.100.10.6/32 -j ВОЗВРАТ
-A MYSQL_WHITELIST -j DROP
COMMIT

Обновление 5

Вывод Traceroute:

# traceroute extras.getpagespeed.com
traceroute на extras.getpagespeed.com (104.18.48.227), не более 30 переходов, 60 байтовых пакетов
1 * * *
2 * * *
3 * * *
4 * * *
...
30 * * *

Похоже, время ожидания вашего веб-запроса истекает при попытке доступа к extras.getpagespeed.com через порт 443 для HTTPS. Этот хост фактически балансирует нагрузку с использованием DNS между парой разных IP-адресов, поэтому он пробует оба, а затем пытается использовать ipv6 (который недоступен, потому что у вас, вероятно, нет маршрута по умолчанию для ipv6, настроенного в вашей таблице маршрутизации). Вы можете проверить это, открыв TCP-соединение на 443 с помощью telnet:

telnet extras.getpagespeed.com 443

если это время истекло, вероятно, у вас есть правило брандмауэра, блокирующее ваши исходящие веб-запросы на IP-адреса, которые вы разрешаете для extras.getpagespeed.com

Вы можете проверить это, сначала проверив настройки брандмауэра на своем хосте:

iptables-save

для iptables. Если вы используете firewalld, вы также можете использовать:

systemctl status firewalld

получить состояние, а затем

firewall-cmd --list-all

если нет активного правила, блокирующего исходящие TCP-соединения с портами назначения с 443 по 104.18.49.227 или 104.18.48.227, но ваш telnet все еще истекает, следующим шагом будет выяснить, какой переход в вашей сети фильтрует HTTPS-запросы к тем конкретные IP-адреса. Вы должны легко найти следующий переход в своей сети, используя:

traceroute extras.getpagespeed.com

Я догадываюсь, что ваш маршрутизатор, брандмауэр (ACL могут быть применены из брандмауэра в вашем маршрутизаторе, который выполняет двойную функцию, или выделенного брандмауэра на границе вашей сети, в зависимости от топологии вашей сети) имеет правило, которое перехватывает ваш HTTPS запрос и сброс пакетов.

Я не думаю, что это проблема маршрутизации, потому что мы A- можем легко достичь резолверов и разрешить extras.getpagespeed.com, просто отлично, и B- мы можем получить трафик порта 80 в Google, поэтому ваш маршрут по умолчанию работает.

  • Восстановление DNS

Восстановление DNS вроде работает. Вы уже изменили конфигурацию yum для использования IPv4.

  • правила брандмауэра на сервере

Затем проверьте брандмауэр (сделайте акцент на ВЫХОДНОЕ / исходящее соединение). Вы можете попробовать одно из следующего:

iptables-save
iptables -S ; iptables -t nat -S
  • связь

Вы упомянули, что на рабочей станции он работает. Как связаны сервер и рабочая станция? Он находится за тем же подключением? Вы используете VLAN? Есть ли ACL на маршрутизаторе / брандмауэре, обрабатывающем соединение (и / или маршрутизацию VLAN)? GW по умолчанию такой же? Где завершается связь (traceroute) - хотя бы то, что показывает ICMP ...

ip route show
ip address show
traceroute extras.getpagespeed.com

на всякий случай ... Нет ли на сервере / рабочей станции активного сеанса VPN, чтобы он мог повлиять на результат (это было бы видно в выводе предыдущих команд)?

  • еще одна проверка

Я пытался связаться с ним по http (порт 80), и там видно хотя бы перенаправление для схемы https. Попытайтесь связаться с ним через порт 80. Я бы не помог в конце, но могу помочь устранить неполадки, если это связано конкретно с портом 443.

    $ curl -4iv http://extras.getpagespeed.com/release-el7-latest.rpm >/dev/null 

    * About to connect() to extras.getpagespeed.com port 80 (#0)
    *   Trying 104.18.49.227...
    * Connected to extras.getpagespeed.com (104.18.49.227) port 80 (#0)
    > GET /release-el7-latest.rpm HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: extras.getpagespeed.com
    > Accept: */*
    > 
    < HTTP/1.1 301 Moved Permanently
    < Date: Wed, 12 Dec 2018 00:42:10 GMT
    < Content-Length: 0
    < Connection: keep-alive
    < Set-Cookie: __cfduid=d1db394ac95ecd334f0739681096b64ba1544575330; expires=Thu, 12-Dec-19 00:42:10 GMT; path=/; domain=.getpagespeed.com; HttpOnly
    < X-Varnish: 1149403
    < Location: https://extras.getpagespeed.com/release-el7-latest.rpm
    < CF-Cache-Status: MISS
    < Server: cloudflare
    < CF-RAY: 487c264520a7c274-FRA
    < 
    * Connection #0 to host extras.getpagespeed.com left intact

Примечание: поскольку он расположен в CloudFlare, могут быть некоторые ограничения на подключение в случае, если оно распознается как потенциальная атака - неправильная связь, скорость запросов и т. Д.