ネットワークブリッジ

提供: ArchWiki
2015年7月10日 (金) 11:11時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

ブリッジは複数のネットワークセグメントをまとめるのに使われる一種のソフトウェアです。ブリッジは仮想ネットワークスイッチのように動作し、透過的に働きます (他のマシンはブリッジの存在を知る必要がありません)。ブリッジには実際のデバイス (例: eth0) と仮想デバイス (例: tap0) を接続することができます。

この記事では少なくとも一つのイーサネットデバイスを含むブリッジを作成する方法を説明します。QEMU のブリッジモードやソフトウェアベースのアクセスポイントの設定などに役立ちます。

ブリッジの作成

ブリッジを作成する方法は複数存在します。

bridge-utils を使う

このセクションでは (公式リポジトリの) bridge-utils パッケージに含まれている brctl ツールを使ってネットワークブリッジを管理します。オプションの完全な説明は man brctl を見て下さい。

新しいブリッジを作成:

# brctl addbr bridge_name

ブリッジにデバイスを追加 (例: eth0):

# brctl addif bridge_name eth0
ノート: ブリッジにインターフェイスを追加すると、そのインターフェイスは既存の IP アドレスを失います。リモートで接続するのに使っているインターフェイスをブリッジに追加すると、切断されてしまいます。この問題は、ブリッジを作成するスクリプトを作成してシステムの起動時に実行することで回避することができます。

現在のブリッジと接続されているインターフェイスを表示:

$ brctl show

ブリッジデバイスを立ち上げる:

# ip link set up dev bridge_name

ブリッジを削除、先にブリッジを down に設定する必要があります:

# ip link set dev bridge_name down
# brctl delbr bridge_name

iproute2 を使う

このセクションでは (base グループに含まれている) iproute2 パッケージの ip ツールを使ってネットワークブリッジを管理します。

新しいブリッジを作成して状態を up に変更:

# ip link add name bridge_name type bridge
# ip link set dev bridge_name up

ブリッジにインターフェイス (例: eth0) を追加するには、まずインターフェイスをプロミスキャスモードに設定して立ち上げておく必要があります:

# ip link set dev eth0 promisc on
# ip link set dev eth0 up

インターフェイスの master を bridge_name に設定することでブリッジにインターフェイスを追加します:

# ip link set dev eth0 master bridge_name

既存のブリッジと関連付けられたインターフェイスを表示するには、bridge ユーティリティを使って下さい (iproute2 に含まれています)。詳しくは man bridge を参照。

# bridge link show

ブリッジを削除するときは、最初に全てのインターフェイスを削除します。プロミスキャスモードをオフにして down に設定してから元の状態に戻してください。

# ip link set eth0 promisc off
# ip link set eth0 down
# ip link set dev eth0 nomaster

ブリッジを空にしたら、削除することができます:

# ip link delete bridge_name type bridge

netctl を使う

netctl によるブリッジを見て下さい。

systemd-networkd を使う

systemd-networkd#ブリッジインターフェイス を見て下さい。

NetworkManager を使う

Gnome の NetworkManager がブリッジを作成することができますが、ブリッジへの自動接続はいまのところ行いません。Network Settings を開いて、Bridge タイプのインターフェイスを新しく追加し、新しいブリッジ接続を追加して、ブリッジに接続するデバイスの MAC アドレスを選択してください。

接続するデバイスの UUID を確認 (デフォルトでは "bridge0 slave 1" という名前になっています):

$ nmcli connection

接続を有効化:

$ nmcli con up <UUID>

ブリッジに追加したデバイスが NetworkManager のデフォルトインターフェイスとして自動的に接続される場合、Network Settings の歯車をクリックして、"Identity" の "Connect automatically" のチェックを外すことで無効化できます。

IP アドレスを割り当てる

ブリッジが完全に設定されていれば、IP アドレスを割り当てることができます:

# ip addr add dev bridge_name 192.168.66.66/24

Tips and tricks

ブリッジ上の無線インターフェイス

ブリッジに無線インターフェイスを追加するには、まずアクセスポイントに無線インターフェイスを指定するか、または hostapd でアクセスポイントを起動する必要があります。そうしないとブリッジに無線インターフェイスは追加されません。

Debian wiki の Bridging with a wireless NIC も参照。

参照