web-dev-qa-db-ja.com

apt.conf "Acquire :: http:Proxy" proxyserver:port "は使用されていないようです(Win7のVirtual BoxのUbuntu 13.04)

これは、VirtualBox VMにUbuntu 13.04デスクトップをインストールするためのものです。私は、x.y.z.251:9090にHTTPプロキシがある企業ネットワークにいます。ゲストOSを自動構成スクリプトで構成したため、Firefoxは正常に動作しますが、プロキシを使用して接続するために「apt-get」または「Ubuntu Software Center」を取得できません。

ファイル「/etc/apt/apt.conf」を作成しましたが、このファイルには1行のテキストが含まれています。

Acquire::http:Proxy "http://x.y.z.251:9090"

これは、「システム設定/ネットワーク/ネットワークプロキシ」で指定し、システム全体に適用したproxy.pacファイルです。

Firefoxを使用すると、TCP接続がポート9090で企業プロキシ経由で行われ、「Ubuntu Software Center」と「apt-get」を実行すると、パケットトレースにTCP最終的な宛先IPアドレスとポート80のSYNパケット。もちろん、企業ファイアウォールがポート80のTCP接続の取得またはブロックをブロックするため、SYN​​パケットへの応答はありませんでる。

ターミナルウィンドウで「Sudo apt-get」を使用すると、常に次のように表示されます。

Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release AMD64 (20130424) raring/main Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release AMD64 (20130424) raring/main Translation-en
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release AMD64 (20130424) raring/restricted Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release AMD64 (20130424) raring/restricted Translation-en
Err http://extras.ubuntu.com raring Release.gpg 
  Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
Err http://archive.canonical.com raring Release.gpg 
  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://us.archive.ubuntu.com raring Release.gpg 
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-updates Release.gpg
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-backports Release.gpg
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
59% [Connecting to security.ubuntu.com (91.189.91.14)]

最終的に、私は見る:

Err http://security.ubuntu.com raring-security Release.gpg
  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
Reading package lists... Done                          
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]

W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]

W: Failed to fetch http://archive.canonical.com/ubuntu/dists/raring/Release.gpg  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]

W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/raring/Release.gpg  Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out

W: Some index files failed to download. They have been ignored, or old ones used instead.

私が何を間違えているのか、私にはまったくわかりません。

---更新----私も試しました:

Acquire::http:proxy "http://user:[email protected]:9090/"

「x.y.z」は、もちろんプレースホルダーです。雇用主の警備員が実際の数字を投稿してくれて親切に私を見てくれるとは思わない。パケットトレースに違いはありません。「apt-get」はまだ実際のIPアドレスとポート80を使用しています。apt.confファイルで意図的な間違いを犯し、「apt-get」がエラーで終了したため、プロキシのこの設定行が表示されることは確かですが、それを尊重していないようです。

ここではITポリシーに反してネットワーク間をブリッジする「NAT」ネットワーク接続を使用しており、DHCPサーバーは既知のMACアドレスのみにアドレスを提供します。 ITセキュリティがキューブを叩きたくありません(もう一度)。

12
Daniel Glasser

私の過去の経験に基づいて、Ubuntu(GNOME)全体はPAC(Automatic Config)でうまく機能しません。 Pac(Proxy Auto-config)は基本的にJavaScriptロジックであり、最も近いまたは最も適切なプロキシを決定します。Iを強くお勧めしますプロキシサーバーを直接使用します(あなたの場合、ネットワーク-ネットワークプロキシ)。

確認するいくつかのこと

/etc/apt/apt.confを確認してください

ネットワーク-ネットワークプロキシGUIは/etc/apt/apt.confを更新し、そこでプロキシ情報を設定します。

Pacからプロキシサーバー情報を見つける

とにかくproxy.pacファイルを読むことで詳細を見つけることができます。

したがって、/etc/apt/apt.confは以下のようになります(プロキシサーバーが=> proxy.company.comポート80であると仮定)、pac URLを使用しないでください。

Acquire::http::proxy "http://proxy.company.com:80/";
Acquire::https::proxy "https://proxy.company.com:80/";
Acquire::ftp::proxy "ftp://proxy.company.com:80/";

注:apt構成ファイルでプロキシが指定されていない場合、apt-gethttp_proxy環境変数にフォールバックします。

Apt.confのmanページから、@ Braiamからのコメントに応答します

   http
       HTTP URIs; http::Proxy is the default http proxy to use. It is in
       the standard form of http://[[user][:pass]@]Host[:port]/. Per Host
       proxies can also be specified by using the form http::Proxy::<Host>
       with the special keyword DIRECT meaning to use no proxies. If no
       one of the above settings is specified, http_proxy environment
       variable will be used.

プロキシ環境変数を確認する

ターミナルで次を実行して、プロキシ設定を確認できます

echo $http_proxy
echo $https_proxy
echo $ftp_proxy

Env変数を正しく設定すると、CLIで更新できるはずです。

IPv4を優先

apt-getがipv6アドレスを使用して更新サーバーに接続しようとしていることに気付きました。これにより、問題が発生する可能性があります(IPV6アドレスが期限切れになるか、変更される場合があります)。

/etc/gai.confを編集し、precedence ::ffff:0:0/96 100を追加して、ipv6よりもipv4を優先できます。

詳細

16
Terry Wang

私はこの問題を抱えていたと信じており、答えは簡単です。構文は重要です。次のようになります。

Acquire::http::Proxy "http://x.y.z.251:9090";

(追加の「:」と終了の「;」があります)

5
k-h

ブライアム

物事を明確にするために別の答えを始める方が良いと思います。

VagrantとUbuntu 13.04 Raring x86_64 VMを使用して、ファイアウォールの背後にある簡単なテストを行いました。

apt-getバージョンは0.9.7.7ubuntu4です

root@raring:~# apt-get --version 
apt 0.9.7.7ubuntu4 for AMD64 compiled on Apr 12 2013 23:49:05
Supported modules:
*Ver: Standard .deb
*Pkg:  Debian dpkg interface (Priority 30)
 Pkg:  Debian APT solver interface (Priority -1000)
 S.L: 'deb' Standard Debian binary tree
 S.L: 'deb-src' Standard Debian source tree
 Idx: Debian Source Index
 Idx: Debian Package Index
 Idx: Debian Translation Index
 Idx: Debian dpkg status file
 Idx: EDSP scenario file

更新:Precise 12.04.3でも同じように機能します

root@support:/etc/apt# uname -a
Linux support 3.8.0-30-generic #44~precise1-Ubuntu SMP Fri Aug 23 17:33:45 UTC 2013 i686 i686 i386 GNU/Linux
root@support:/etc/apt# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise
root@support:/etc/apt# apt-get --version
apt 0.8.16~exp12ubuntu10.14 for i386 compiled on Sep  8 2013 03:26:42

1-apt構成ファイルをクリアする

/etc/apt/apt.confのプロキシ設定をクリアしました。また、すべてのファイルとサブディレクトリのackおよびagスキャン/etc/aptを実行して、apt構成ファイルにプロキシが設定されていないことを確認しました。

デフォルトでは、{http_proxy,https_proxy,ftp_proxy} env変数は設定されていません。

apt-getは更新サーバーに接続できませんでした。

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Connecting to au.archive.ubuntu.com (202.158.214.106)] [Connecting to security.ubuntu.com (91.189.91.13)] [Connecting to ppa.launchpad.net (91.189.95.83)]

2-環境変数の設定

プロキシ変数を設定するだけです

export {http_proxy,https_proxy,ftp_proxy}="http://10.xxx.xxx.231:80"

apt-getが接続できるようになりました!

デバッグ出力を参照してください(これは私が試したことがないことです)。

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Working]GET http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg HTTP/1.1
Host: security.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://au.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: ppa.launchpad.net
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20bb4-3a5-4db2e154a1dc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Thu, 25 Apr 2013 11:54:39 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:1 http://au.archive.ubuntu.com raring Release.gpg [933 B]
0% [1 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


99% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20ee7-3a5-4e7594ace9200"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Fri, 27 Sep 2013 08:30:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:2 http://au.archive.ubuntu.com raring-updates Release.gpg [933 B]
50% [2 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


100% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:21 GMT
ETag: "16e0083d-3a5-4e6844f477fc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Mon, 16 Sep 2013 18:24:07 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:3 http://au.archive.ubuntu.com raring-backports Release.gpg [933 B]
67% [3 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "3a5-4e75c5d969600"
Server: Apache/2.2.22 (Ubuntu)
Expires: Fri, 27 Sep 2013 13:05:00 GMT
Accept-Ranges: bytes
Cache-Control: max-age=3159, s-maxage=3300, proxy-revalidate
Last-Modified: Fri, 27 Sep 2013 12:10:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

......

3番目-環境変数の設定解除

env vars => unset {http_proxy,https_proxy,ftp_proxy}の設定を解除します

Apt-getは接続できなくなりました。

結論

man apt.confが言うように、http :: Proxyが設定されていない場合、http_proxy環境変数が使用されます。

BTW:私もArch Linuxユーザーです。 Pacmanは同様に機能します。pacman.confのプロキシでwgetまたはcurlを使用しない場合、 `{http_proxy、https_proxy、ftp_proxy} '環境変数を使用します。

更新Sudoは環境変数を保持しません。 Sudo apt-get updateが失敗する理由です。この問題を回避するには(プロキシ環境変数を保持)、Sudo -E apt-get updateを使用します。

1
Terry Wang

/etc/apt/apt.conf && Sudo vi etc/apt/apt.confをタッチします

Acquire :: http:proxy " http:// user:[email protected]:80 / "; Acquire :: https:proxy " https:// user:[email protected]:80 / ";

X.y.z.00:80を置き換えます->>プロキシURLまたはIP

0
Saurabh Vimal