Wget は、 HTTPを使用してWebからファイルをダウンロードするために使用される人気のある無料のコマンドラインユーティリティです。 、 HTTPS 、および FTP プロトコル。インターネットプロトコルバージョン4( IPv4 )の両方をサポートします )およびインターネットプロトコルバージョン6( IPv6 )アドレス。
いずれかのIPv4を強制的に選択する場合 またはIPv6 wgetの場合 ファイルをダウンロードするときは、明示的に行うか、デフォルトの構成を変更する必要があります。
[あなたも好きかもしれません:UbuntuLinuxで静的IPアドレスを設定する方法]
このガイドでは、 IPv4を強制する方法について説明します。 またはIPv6 LinuxでWebからファイルをダウンロードするためのwgetユーティリティの接続。
LinuxにWgetをインストールする
先に進む前に、 wget 、Linuxシステムにデフォルトで付属していない場合は、最初にインストールする必要があります。
$ sudo apt install wget [On Debian/Ubuntu/Mint] $ sudo dnf install wget [On RHEL/Fedora/CentOS] $ sudo zypper install wget [On OpenSUSE] $ sudo pacman -Sy wget [On Arch/Manjaro Linux]
WgetをIPv4またはIPv6のいずれかに明示的に接続するように強制する
一般的な'wget <URL>'
を使用する場合 コマンド、それは両方のA
をチェックします 32ビットのIPv4のみを保持するDNSのレコード 指定されたドメインのアドレスとAAAA
128ビットのIPv6を含むDNSのレコード 住所。
$ wget https://ftp.gnu.org/gnu/wget/wget-latest.tar.gz

次に、wgetはおそらく IPv6に接続します またはIPv4 。
WgetにIPv4の使用を強制する
wgetが必要な場合 IPv4のみを検索する アドレスを指定して接続するには、'--inet4-only'
を使用する必要があります 図のようにwgetコマンドでフラグを立てます。
$ wget --inet4-only https://ftp.gnu.org/gnu/wget/wget-latest.tar.gz

上記のコマンドを使用して、 wget IPv4のみをチェックします A
のアドレス IPv6を記録して無視します AAAA
のアドレス 記録。
WgetにIPv6の使用を強制する
同様に、'--inet6-only'
を使用することもできます wgetに接続するためのフラグ 強制的にIPv6 A
を無視してアドレス指定する レコードとIPv4 アドレス。
$ wget --inet6-only https://ftp.gnu.org/gnu/wget/wget-latest.tar.gz

ホストDNSレコードにIPv6アドレスが含まれていない場合は、次の図に示すようなエラーが表示されます。

デフォルトでWgetをIPv4またはIPv6のいずれかに接続するように強制する
'--inet4-only'
の代替 または'--inet6-only'
オプションのwgetでは、デフォルトの動作を変更して、IPv4またはIPv6アドレスを完全に回避し、毎回フラグを立てずに1つのアドレスにのみ接続することもできます。
あなたがする必要があるのは、'inet4_only'
を設定または設定解除することです wget初期化ファイル.wgetrc
内 / etc / wgetrcのいずれかにあります (すべてのユーザーに対してシステム全体)または $ HOME / .wgetrc (シングルユーザーの場合)。
inet4_only = on/off
'--inet6-only'
と同じように機能します ここで、wgetはIPv4への接続を強制的に無効にし、デフォルトではIPv6ホストにのみ接続します。同様に、グローバルinitファイルに次の行を追加することで、IPv6ルックアップをオフにしてIPv4のみに接続することもできます。
inet6_only = on/off
デフォルトでIPv4またはIPv6を使用するようにWgetを設定
wgetが必要な場合 最初にIPv6を探す またはIPv4 常にアドレスを使用する場合、デフォルトでアドレスを選択する順序を変更することもできます。
あなたがする必要がある唯一のことは、'--prefer-family'
の値を編集することです wgetのオプション 初期化ファイル.wgetrc
。
--prefer-family=none/IPv4/IPv6

上記の値に基づいて、ドメイン名を両方の IPv6に解決するホストにアクセスしている間 およびIPv4 アドレス、 wget 最初に指定されたアドレスファミリのアドレスに接続してみてください。アドレスが見つからない場合は、別のファミリアドレスに移動します。
これはwgetにも役立ちます IPv4から選択する およびIPv6 ホストのDNSレコードの構成が両方をサポートしている場合は接続します。