Fedora 26:dnfアップデートがプロキシの背後で機能しない - ストレージ「アップデート」のキャッシュを同期できません。

Fedora 26:dnfアップデートがプロキシの背後で機能しない - ストレージ「アップデート」のキャッシュを同期できません。

Fedora 26でこれを実行するとsudo dnf -v updateエラーが発生します。

>     Loaded plugins: builddep, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache,
> needs-restarting, playground, repoclosure, repograph, repomanage,
> reposync, system-upgrade
>     DNF version: 2.6.3
>     cachedir: /var/cache/dnf
>     Cannot download 'http://download.fedoraproject.org/pub/fedora/linux/updates/26/x86_64/':
> Cannot download repomd.xml: Cannot download repodata/repomd.xml: All
> mirrors were tried.
>     Error: Failed to synchronize cache for repo 'updates'

dnf.confでシステム全体のプロキシとプロキシを設定しました。他の接続(ブラウザなど)では、このプロキシを使用できます。プロキシには認証が必要です。proxy_usernamednf.confに必要な値を設定しましたproxy_password

.bashrc設定もありますhttp_proxy=http://username:password@proxy:port/。その後、実行するcurl http://download.fedoraproject.org/pub/fedora/linux/updates/26/x86_64/repodata/repomd.xmlとHTTP 407が失敗します。--proxy-ntlm以下に従って。を追加するとブギラdnf呼び出し時にNTLMを許可するようにパッチが適用されましたlibcurl

ただし、yumKerberos/「ネゴシエーション」認証を無効にすることも便利です。場合によっては、これが提供される最初のオプションになり、NTLMが動作している場所で失敗するためです。 2番目の問題はパッチを提供しましたが、最初の問題のみを修正した後にバグが閉じました...

どのようdnf updateに出勤できますか?

答え1

ついに解決策を見つけました。問題はまだ修正されていないこのバグです。 https://bugzilla.redhat.com/show_bug.cgi?id=1387622

/usr/lib/python3.6/site-packages/dnf/repo.py を編集し、以下を変更する必要がありました。

-        h.setopt(librepo.LRO_PROXYAUTH, True)
+        h.setopt(librepo.LRO_PROXYAUTHMETHODS, 8)

答え2

~によるとブギラdnf呼び出し時にNTLMを許可するようにパッチが適用されましたlibcurl

ただし、yumKerberos/「ネゴシエーション」認証を無効にすることも便利です。場合によっては、これが提供される最初のオプションになり、NTLMが動作している場所で失敗するためです。 2番目の問題に対するパッチが提供されましたが、最初の問題のみを修正した後にバグが閉じました。 NTLMが有効であることを考慮すると、これが問題である可能性が高いです。 (たとえば、Wiresharkを使用してキャプチャしている場合は、エラーを表示してHTTP応答ヘッダーの詳細を確認できます。)

この場合、現在利用可能な唯一の解決策は、ローカルシステムにプロキシを設定して、基本認証をNTLM認証または同様の認証に変換するようです。バラよりNTLM-APS

答え3

dnf.confに追加

proxy=http://cisco-wsa.internal.net:3128
proxy_username=myusername
proxy_password=VeryStrongPassword

関連情報