Linux でネットワークブリッジが設定されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

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

はじめに

この実験では、Linux システム上にネットワークブリッジが構成されているかどうかを確認する方法を学びます。brctl show コマンドを使用して既存のブリッジとそれに関連付けられたインターフェイスを一覧表示し、ip link コマンドを使用してこれらのブリッジインターフェイスの状態を確認します。最後に、/etc/network の一般的な設定ファイルを調べて、ブリッジが永続的に定義される方法を理解します。この実験は、特に仮想化やコンテナ化を利用する環境におけるネットワーク構成を理解するための重要なスキルを提供します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/ls -.-> lab-558733{{"Linux でネットワークブリッジが設定されているかどうかを確認する方法"}} linux/cat -.-> lab-558733{{"Linux でネットワークブリッジが設定されているかどうかを確認する方法"}} linux/which -.-> lab-558733{{"Linux でネットワークブリッジが設定されているかどうかを確認する方法"}} linux/grep -.-> lab-558733{{"Linux でネットワークブリッジが設定されているかどうかを確認する方法"}} linux/ifconfig -.-> lab-558733{{"Linux でネットワークブリッジが設定されているかどうかを確認する方法"}} linux/ip -.-> lab-558733{{"Linux でネットワークブリッジが設定されているかどうかを確認する方法"}} end

brctl show でブリッジを一覧表示する

このステップでは、brctl コマンドを使用して Linux システム上のネットワークブリッジを一覧表示する方法を学びます。ネットワークブリッジは、データリンク層で複数のネットワークセグメントを接続するソフトウェアデバイスです。これらは、仮想マシンやコンテナが相互に通信し、外部ネットワークと通信できるようにするために、仮想化やコンテナ化で一般的に使用されます。

brctl コマンドは、ネットワークブリッジを構成および管理するために使用されるコマンドラインツールです。

まず、システム上で brctl コマンドが利用可能かどうかを確認しましょう。ターミナルに以下のコマンドを入力します。

which brctl

コマンドが見つかった場合、次のような出力が表示されます。

/usr/sbin/brctl

コマンドが見つからない場合は、bridge-utils パッケージをインストールする必要があるかもしれません。ただし、この LabEx 環境では、brctl は事前にインストールされているはずです。

では、既存のネットワークブリッジを一覧表示しましょう。brctl show コマンドを使用します。

brctl show

構成されたブリッジに関する情報を表示する、次のような出力が表示されるはずです。

bridge name	bridge id		STP enabled	interfaces
br-xxxxxxxxxxxx	8000.xxxxxxxxxxxx	no		vethxxxxxxxx
                                                        vethxxxxxxxx
docker0		8000.xxxxxxxxxxxx	no

この出力は、各ブリッジに関する以下の情報を提供します。

  • bridge name:ブリッジの名前(例:br-xxxxxxxxxxxxdocker0)。
  • bridge id:ブリッジの一意の識別子。
  • STP enabled:スパニングツリープロトコル(Spanning Tree Protocol)が有効になっているかどうかを示します(通常、シンプルな設定では 'no')。
  • interfaces:このブリッジに接続されているネットワークインターフェイス。

例の出力では、コンテナネットワーキングのために Docker が作成することが多い docker0 という名前のブリッジが表示されています。環境の設定によっては、他のブリッジも表示される場合があります。

Docker のようなコンテナ化技術や仮想化プラットフォームを使用する際に、ネットワークブリッジを理解することは重要です。

前のステップでは、brctl show を使用してネットワークブリッジを一覧表示しました。今度は、ip link コマンドを使用して、ブリッジインターフェイスを含むネットワークインターフェイスに関するより詳細な情報を取得しましょう。

ip コマンドは、Linux でネットワーク構成を行うための強力なユーティリティです。link サブコマンドは、ネットワークインターフェイスを表示および操作するために使用されます。

ブリッジインターフェイスを含むすべてのネットワークインターフェイスを一覧表示するには、以下のコマンドを入力します。

ip link show

システム上のすべてのネットワークインターフェイスのリストが表示されます。brctl show で見たブリッジ名と一致する名前のインターフェイスを探してください(例:docker0br-xxxxxxxxxxxx)。

ブリッジインターフェイスの出力は次のようになります。

X: br-xxxxxxxxxxxx: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

いくつかの重要な情報の解説は次の通りです。

  • X:インターフェイスのインデックス番号。
  • br-xxxxxxxxxxxx:ブリッジインターフェイスの名前。
  • <BROADCAST,MULTICAST,UP,LOWER_UP>:インターフェイスの状態と機能を示すフラグ。UP はインターフェイスがアクティブであることを意味し、LOWER_UP は物理リンクがアップしていることを意味します。
  • mtu 1500:最大転送単位(Maximum Transmission Unit)で、送信できる最大のパケットサイズです。
  • qdisc noqueue:キューイング規則(queuing discipline)。
  • state UP:インターフェイスの管理状態。
  • mode DEFAULT:動作モード。
  • group default:インターフェイスが属するグループ。
  • link/ether xx:xx:xx:xx:xx:xx:インターフェイスの MAC アドレス。

ip link show の出力を grep にパイプすることで、ブリッジインターフェイスのみを表示するように出力をフィルタリングすることもできます。たとえば、「br-」を含む行を検索するには、次のようにします。

ip link show | grep br-

または、「docker0」を含む行を検索するには、次のようにします。

ip link show | grep docker0

ip link show を使用することで、ネットワークインターフェイスとその状態に関するより包括的な情報が得られ、brctl show からの情報を補完します。

/etc/network でブリッジ設定を調べる

このステップでは、Ubuntu のような Debian ベースのシステムで、ブリッジ設定を含むネットワークインターフェイス設定が通常保存される場所を調べます。これらの設定は、システム起動時にネットワークインターフェイスがどのように設定されるかを定義します。

ネットワークインターフェイス設定は、通常 /etc/network/interfaces ファイルにあり、場合によっては /etc/network/interfaces.d/ ディレクトリ内のファイルにもあります。

cat コマンドを使用して、メインのネットワークインターフェイスファイルの内容を表示しましょう。cat はファイルの内容を表示するために使用されます。

cat /etc/network/interfaces

次のような内容が表示されるかもしれません。

## interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

このファイルは、lo(ループバック)インターフェイスと eth0 インターフェイスを定義しており、eth0 は DHCP を使用するように設定されています。

では、/etc/network/interfaces.d/ ディレクトリの内容を確認しましょう。このディレクトリは、個々のインターフェイスやブリッジの個別の設定ファイルを保存するためによく使用され、メインの interfaces ファイルをすっきりさせます。

このディレクトリ内のファイルを一覧表示するには、ls コマンドを使用します。

ls /etc/network/interfaces.d/

ここには、特にブリッジが手動でまたは他のソフトウェアによって設定された場合、ブリッジ設定に関連するファイルが表示されるかもしれません。たとえば、50-cloud-init.cfg などの名前のファイルがあり、そこにブリッジの定義が含まれている可能性があります。

このディレクトリにファイルがある場合、cat を使用してその内容を表示できます。たとえば、my-bridge.cfg という名前のファイルがある場合、次のようにします。

cat /etc/network/interfaces.d/my-bridge.cfg

これらの設定ファイルを調べることで、ネットワークブリッジがシステム上でどのように定義され、永続的に設定されているかを理解するのに役立ちます。Linux ディストリビューションやバージョンによってネットワーク設定方法は異なることに注意してください(たとえば、新しい Ubuntu バージョンでは Netplan を使用する)が、多くのシステムで /etc/network/interfaces/etc/network/interfaces.d/ は一般的な場所です。

まとめ

この実験では、Linux で設定されたネットワークブリッジを確認する方法を学びました。brctl show コマンドを使用して、既存のブリッジ、その ID、STP 状態、および関連するインターフェイスを一覧表示しました。このコマンドは、システム上のブリッジ設定の概要を提供します。

また、ネットワークブリッジは、特に Docker のような仮想化およびコンテナ化環境において、ネットワークセグメントを接続するために不可欠であることも学びました。これらのブリッジを識別し、調査する方法を理解することは、このような設定でネットワーク構成を管理するための基本的なスキルです。