これは、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セキュリティがキューブを叩きたくありません(もう一度)。
私の過去の経験に基づいて、Ubuntu(GNOME)全体はPAC(Automatic Config)でうまく機能しません。 Pac(Proxy Auto-config)は基本的にJavaScriptロジックであり、最も近いまたは最も適切なプロキシを決定します。Iを強くお勧めしますプロキシサーバーを直接使用します(あなたの場合、ネットワーク-ネットワークプロキシ)。
確認するいくつかのこと
ネットワーク-ネットワークプロキシGUIは/etc/apt/apt.conf
を更新し、そこでプロキシ情報を設定します。
とにかく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-get
はhttp_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で更新できるはずです。
apt-get
がipv6アドレスを使用して更新サーバーに接続しようとしていることに気付きました。これにより、問題が発生する可能性があります(IPV6アドレスが期限切れになるか、変更される場合があります)。
/etc/gai.conf
を編集し、precedence ::ffff:0:0/96 100
を追加して、ipv6よりもipv4を優先できます。
詳細
私はこの問題を抱えていたと信じており、答えは簡単です。構文は重要です。次のようになります。
Acquire::http::Proxy "http://x.y.z.251:9090";
(追加の「:」と終了の「;」があります)
ブライアム
物事を明確にするために別の答えを始める方が良いと思います。
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
/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)]
プロキシ変数を設定するだけです
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
......
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
を使用します。
/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