Linux でネットワークボンディングが構成されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux システムでネットワークボンディングが構成されているかどうかを確認する方法を学びます。ネットワークボンディングは、複数のネットワークインターフェイスを結合して、帯域幅を増やし、冗長性を高めます。以下の 3 つの主要な方法を探索します。

  • /proc/net/bonding ファイルシステムを調べて、ボンディングの状態と詳細を表示する。
  • ip link コマンドを使用して、ボンディングされたインターフェイスの存在を確認する。
  • /etc/network の構成ファイルを調べて、ボンディングがどのように設定されているかを理解する。

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/ls -.-> lab-558798{{"Linux でネットワークボンディングが構成されているかどうかを確認する方法"}} linux/cat -.-> lab-558798{{"Linux でネットワークボンディングが構成されているかどうかを確認する方法"}} linux/ifconfig -.-> lab-558798{{"Linux でネットワークボンディングが構成されているかどうかを確認する方法"}} linux/ip -.-> lab-558798{{"Linux でネットワークボンディングが構成されているかどうかを確認する方法"}} end

cat /proc/net/bonding でボンディングの状態を確認する

このステップでは、Linux システム上のネットワークボンディングの状態を確認する方法を学びます。ネットワークボンディング(リンクアグリゲーションまたはチーミングとも呼ばれます)は、複数のネットワークインターフェイスを 1 つの論理インターフェイスに結合するために使用される技術です。これにより、帯域幅を増やし、冗長性を高めることができます。

Linux カーネルは、/proc ファイルシステムを通じてネットワークボンディングに関する情報を提供します。/proc ファイルシステムは、プロセスやその他のシステム情報に関する情報を提供する仮想ファイルシステムです。

ボンディングの状態を確認するには、cat コマンドを使用して /proc/net/bonding/ ディレクトリの内容を表示できます。このディレクトリには、構成された各ボンディングインターフェイスに対応するファイルが含まれています。

まず、どのボンディングインターフェイスが構成されているかを見てみましょう。ターミナルに以下のコマンドを入力し、Enter キーを押します。

ls /proc/net/bonding/

ボンディングインターフェイスが構成されている場合、通常 bond0bond1 などという名前のファイルのリストが表示されます。ディレクトリが空または存在しない場合は、現在ボンディングインターフェイスが構成されていないことを意味します。

次に、特定のボンディングインターフェイスの状態を表示しましょう。前のステップで bond0 という名前のファイルが表示されたと仮定して、以下のコマンドを入力することでその状態を表示できます。

cat /proc/net/bonding/bond0

bond0 が存在する場合、ボンディングインターフェイスに関する詳細情報が表示されます。これには以下が含まれます。

  • ボンディングモード:動作モード(例:ラウンドロビン、アクティブバックアップ)。
  • プライマリスレーブ:ボンド内の主要なネットワークインターフェイス。
  • 現在アクティブなスレーブ:現在アクティブなネットワークインターフェイス。
  • スレーブインターフェイス:ボンドに含まれるネットワークインターフェイスのリストとその状態。

「No such file or directory」のようなエラーが表示された場合は、この環境に bond0 インターフェイスが存在しないことを意味します。これは、ボンディングが事前に構成されていない一部の実験環境では予想されることです。重要なのは、構成されていた場合にどのように確認するかを理解することです。

cat /proc/net/bonding/bond0 の出力を理解することは、ボンディングに関連するネットワーク接続問題のトラブルシューティングに不可欠です。

続ける をクリックして次のステップに進みます。

前のステップでは、/proc ファイルシステムを使用してボンディングの状態を確認する方法を学びました。ボンディングされたインターフェイスを含むネットワークインターフェイスを調べるためのもう 1 つの重要なコマンドは、ip コマンド、特に ip link です。

ip コマンドは、ルーティング、ネットワークデバイス、ポリシールーティング、およびトンネルを表示および操作するための強力なユーティリティです。ip link サブコマンドは、ネットワークインターフェイスを扱います。

システム上のすべてのネットワークインターフェイス(物理インターフェイスと構成されたボンディングインターフェイスを含む)をリストするには、ターミナルに以下のコマンドを入力し、Enter キーを押します。

ip link show

ネットワークインターフェイスのリストが表示されます。各インターフェイスには番号、名前(eth0lo、または bond0 など)、および状態(UPDOWN など)が表示されます。

bondX(X は番号で、bond0 など)という名前のインターフェイスを探します。ボンディングが構成されている場合、これらのボンディングインターフェイスに関する 1 つ以上のエントリが表示されます。

たとえば、出力は次のようになる場合があります(出力は環境によって異なります)。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
3: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

この例の出力では、bond0 が状態 UP のネットワークインターフェイスとしてリストされています。MASTER フラグは、これがボンディングマスターインターフェイスであることを示しています。

ip link show コマンドは、すべてのインターフェイスとその現在の状態の概要をすぐに提供します。これは、ボンディングされたインターフェイスの存在と状態を確認するのに非常に役立ちます。

続ける をクリックして次に進みます。

/etc/network でボンディング設定を確認する

前のステップでは、/proc/net/bondingip link を使用してボンディングインターフェイスの実行時の状態を確認する方法を学びました。次に、Ubuntu のような Debian ベースのシステムでこれらのインターフェイスの設定が通常保存される場所を見てみましょう。

ネットワークインターフェイスの設定は、多くの場合 /etc/network/interfaces ファイルまたは /etc/network/interfaces.d/ ディレクトリ内のファイルに記載されています。これらのファイルは、システム起動時にネットワークインターフェイスがどのように構成されるかを定義します。

メインのネットワーク設定ファイル /etc/network/interfaces を確認するには、cat コマンドを使用できます。このファイルを変更するにはルート権限が必要なため、一部の環境では sudo を使用して表示する必要があるかもしれませんが、通常 cat で読み取る場合は sudo なしでも動作します。

ターミナルに以下のコマンドを入力し、Enter キーを押します。

cat /etc/network/interfaces

ファイルの内容が表示されます。このファイルでは、lo(ループバック)などのネットワークインターフェイスや、その他のインターフェイスが定義されています。bond インターフェイスを定義する行を探します。例えば、

auto bond0
iface bond0 inet dhcp
    bond-mode 4
    bond-slaves eth0 eth1

これは設定の例です。auto bond0 は、インターフェイスを自動的に起動することを意味します。iface bond0 inet dhcp は、bond0 が DHCP を介して IP アドレスを取得するように設定します。bond-mode 4 はボンディングモードを指定します(モード 4 は 802.3ad 動的リンクアグリゲーションです)。bond-slaves eth0 eth1 は、このボンドに含まれる物理インターフェイスを列挙しています。

さらに、設定は /etc/network/interfaces.d/ ディレクトリ内の別々のファイルに分割されている場合もあります。このディレクトリ内のファイルを ls を使ってリストできます。

ls /etc/network/interfaces.d/

このディレクトリにファイルがある場合、cat を使ってその内容を表示することもできます。たとえば、50-cloud-init.cfg という名前のファイルがあった場合、次のコマンドで表示できます。

cat /etc/network/interfaces.d/50-cloud-init.cfg

これらの設定ファイルを確認することで、システム上でボンディングインターフェイスが永続的にどのように設定されているかを理解するのに役立ちます。

続ける をクリックしてこの実験を終了します。

まとめ

この実験では、Linux システムでネットワークボンディングが構成されているかどうかを確認する方法を学びました。/proc/net/bonding ディレクトリを調べて既存のボンディングインターフェイスを特定し、cat を使用して特定のボンドの詳細な状態情報(モード、アクティブなスレーブ、およびメンバーインターフェイスの状態を含む)を表示しました。

また、ネットワークデバイス情報を表示する ip link コマンドを使用してボンディングインターフェイスの存在を確認する方法、および /etc/network(ディストリビューションによっては類似の場所)の設定ファイルを調べてボンディングが永続的にどのように設定されているかを理解する方法も学びました。これらの手順は、Linux でのネットワークボンディングの構成と状態を判断する包括的なアプローチを提供します。