IPv6メソッドを使用しないようにapt-getを説得してください。

IPv6メソッドを使用しないようにapt-getを説得してください。

私が働いているISPは、IPv6インターネットへの最終接続を準備するために内部IPv6ネットワークを確立しています。その結果、このネットワーク上の複数のサーバーはデフォルトでIPv6アドレスを介してsecurity.debian.orgに接続しようとしていますapt-get update。これにより、すべての種類のアップデートをダウンロードするたびに待たなければならない長いタイムアウトが発生します。

IPv4を好むかIPv6を完全に無視するかをaptに通知する方法はありますか?

答え1

-o Acquire::ForceIPv4=trueランタイムに追加されましたapt-get

設定を継続的に維持するには、以下を作成してください。/etc/apt/apt.conf.d/99force-ipv4そして置くAcquire::ForceIPv4 "true";

echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4

オプションの設定Acquire::ForceIPv4Acquire::ForceIPv6バージョンに追加0.9.7.9~exp1(望むよりエラー611891)はUbuntu Saucy(2013年10月リリース)およびDebian Jessie(2015年4月リリース)から入手できます。

答え2

〜のようにザイルズは言う、使用gai.conf。メモ:

  1. APTよりはるかに低いレベル(DNSおよびIPネットワーキング)で動作するため、変更されます。みんなあなたのアプリケーションネットワーク - 少なくともすべてgetaddrinfo
  2. 編集する前にgai.confバックアップして読んでください(短いので心配しないでください)。現在のファイルには、次の編集内容が記載されている可能性があります。現在のファイルが以下の内容と異なる内容を表す場合は、現在のファイルの内容を優先することをお勧めします。

しかし、それがあなたが望むものであれば(おそらくそうです)、次に進みます。 2つのホストwww.he.netがあるとしましょうwww.ripe.net

$ host www.he.net
www.he.net is an alias for he.net.
he.net has address 216.218.186.2
he.net has IPv6 address 2001:470:0:76::2

$ host www.ripe.net
www.ripe.net has address 193.0.6.139
www.ripe.net has IPv6 address 2001:67c:2e8:22::c100:68b

ケース1:すべてのホストはIPV4を好みます。

/etc/gai.conf次の行に追加します。

precedence ::ffff:0:0/96  100

編集したファイルを保存した後(再起動する必要はありません)、IPV4を使用するネットワークアプリケーションが表示されますtelnet(例:)。

$ telnet www.ripe.net 81
Trying 193.0.6.139...
^C
$ telnet www.he.net 81
Trying 216.218.186.2...

シナリオ2:特定のホストがIPv6を好む

www.he.netネットワークのIPV6のみを選択するには、次のものを追加できます。マスク/プレフィックスIPV6 アドレスの全部または一部を/etc/gai.conf次のように変更します。

precedence 2001:470::/32 100

(編集したファイルを保存した後)作成されました

$ telnet www.ripe.net 81
Trying 193.0.6.139...
^C
$ telnet www.he.net 81
Trying 2001:470:0:76::2...
^C

シナリオ3:特定のホストがIPv4を好む

マスクを裏返すと状況は反転するのだろうか? @GrueMasterによると追加

precedence 2001:470::/96 100

IPV6を無効にした後は効果がありましたsecurity.ubuntu.com(そうでなければ永久に停止します)。


また見なさい:

答え3

設定できます適切なキャッシャー-ngスタンバイシステムのすべてのホストのプロキシ/キャッシュとして機能します。特定のホストのみを使用するように設定を強制したり、そのシステムで@badpが提案した/ etc / hostsトリックを使用したりできます。

apt-get install apt-cacher-ng

apt-cache-ngをインストールしたら、次の行を入力するだけです(キャッシュシステムを指すようにIPアドレス/ホスト名を変更する)。/etc/apt/apt.conf.d/90httpproxy

Acquire::http { Proxy "http://[192.168.1.254]:3142"; };

帯域幅の使用量を減らすためにこの設定を使用しますが、問題は解決します。残念ながら、apt-get自体のipv6クエリを直接無効にする方法がわかりません。

答え4

その住所を上書きする行を追加するには/etc/hostsどうですか?例えば、

130.89.149.226  ftp.debian.org      
195.20.242.89   security.debian.org 

関連情報