【LinuC 201試験】2.03 高度なネットワーク構成のまとめ|Linux初学者向け解説【ボンディング・VLAN・tcpdump】

※本ページはプロモーションが含まれています

こんにちは!いつもブログを読んでいただき、ありがとうございます。

今回は、主題2.03「高度なネットワーク構成」について、試験に出るポイントを丁寧に解説していきます!

「ボンディングのモードが多すぎて覚えられない」「VLANって何のために使うの?」——正直、最初はそう思いますよね(笑)。でも、「何のために使う技術なのか」を先に押さえてしまえば、コマンドも設定ファイルも自然に頭に入ってきます。一つずつ整理していきましょう!

LinuC 201全体の学習ロードマップはこちらにまとめています♪

👉 【LinuC 201】独学合格へのロードマップ!勉強方法と出題範囲の全体像まとめ

前回の「基本的なネットワーク構成」をまだ読んでいない方は、先にそちらで ip コマンドと nmcli の基礎を固めておくと、この記事がよりスムーズに読めますよ。

👉 2.03 基本的なネットワーク構成のまとめ


📋 試験の重要情報と学習のゴール

まずは、この主題で絶対に外せない「キーワード」を確認しましょう。

項目内容
主題番号2.03.2 高度なネットワーク構成
重要度3(5段階中)
頻出キーワードボンディングモード(active-backup / 802.3ad)、/proc/net/bonding/bond0nmclitcpdumpiptraf-ng、VLAN(802.1Q)、8021qモジュール、ip_forward

重要度3は「試験全体のなかで出題比率が高め」という意味です。特に ボンディングのモードtcpdumpのオプション は毎回のように問われるので、ここを重点的に押さえましょう!


1. ボンディング(Bonding)— 複数NICを1つにまとめる

ボンディングって何をする技術?

ボンディング は、複数のネットワークインターフェース(NIC)を束ねて、1つの仮想インターフェースとして扱う技術です。

目的は大きく2つあります。

目的意味代表的なモード
冗長化1本のケーブルが切れても通信を続けられるmode 1(active-backup)
帯域集約複数回線をまとめて高速化するmode 0(round-robin)、mode 4(LACP)

★ここがポイント! 「冗長化したい→mode 1」「高速化したい→mode 4」と目的とセットで覚えてしまうのが一番の近道です。


ボンディングのモード一覧(ここ、試験に出ます!)

全部で7種類ありますが、試験に特によく出るのは mode 1 と mode 4 です。

モード番号モード名特徴
mode 0balance-rr(ラウンドロビン)パケットを順番に各NICへ分散する
mode 1active-backup1本だけ使い、故障時に別のNICへ切り替える(冗長化)
mode 2balance-xorMACアドレスのXOR演算で分散する
mode 3broadcast全NICに同じパケットを送る
mode 4802.3ad(LACP)スイッチと連携して帯域を集約する(スイッチ側の設定も必要)
mode 5balance-tlb送信のみ負荷分散する(受信は1本)
mode 6balance-alb送受信の両方で負荷分散する

📝 mode 1(active-backup)の動作をイメージしよう NICが2本(enp1s0・enp2s0)あるとき、通常はenp1s0だけが通信します。enp1s0に障害が発生した瞬間、自動でenp2s0に切り替わるのがactive-backupの仕組みです。切り替えはシームレスに行われるので、通信が途切れません。

⚠️ mode 4(802.3ad)はスイッチ側の設定が必要 mode 4はIEEE 802.3ad規格のリンクアグリゲーション(LACP)を使います。Linux側の設定だけでは動かず、接続先のスイッチでもLACPの設定が必要です。試験でも「mode 4を使うための前提条件」として問われることがあります。


ボンディングの設定手順(nmcli)

# 1. ボンドインターフェース(bond0)を作成する
#    bond.options でモードと死活監視間隔(miimon)を指定する
nmcli connection add type bond con-name bond0 ifname bond0 \
  bond.options "mode=active-backup,miimon=100"

# 2. スレーブ(束ねるNIC)を追加する
nmcli connection add type ethernet con-name bond0-slave1 \
  ifname enp1s0 master bond0

nmcli connection add type ethernet con-name bond0-slave2 \
  ifname enp2s0 master bond0

# 3. ボンドインターフェースにIPアドレスを設定する
nmcli connection modify bond0 ipv4.method manual \
  ipv4.addresses "192.168.1.100/24" \
  ipv4.gateway "192.168.1.1"

# 4. 接続を有効化する
nmcli connection up bond0
nmcli connection up bond0-slave1
nmcli connection up bond0-slave2

📝 miimon(ミーモン)って何? miimon=100 は「100ミリ秒ごとにNICの死活監視を行う」という設定です。この値を指定しないとフェイルオーバーが機能しないため、active-backupモードでは必ず設定します。


ボンディングの状態確認(試験頻出!)

# ボンディングの状態を確認する(このファイルパスは必ず覚える!)
cat /proc/net/bonding/bond0

出力例:

Bonding Mode: active-backup
Currently Active Slave: enp1s0   ← 今どちらのNICが動いているか
MII Status: up
...
Slave Interface: enp1s0
  MII Status: up
Slave Interface: enp2s0
  MII Status: up

★ここがポイント! ボンディングの状態は /proc/net/bonding/bond0 で確認します。「今どのNICがアクティブか」「各NICの状態はどうか」を一目で確認できるので、このファイルパスは試験で必ず問われます。


2. チーミング(Teaming)— ボンディングの後継技術

ボンディングとの違いをざっくり理解する

チーミングは、ボンディングの後継技術です。teamd というデーモンが管理し、設定をJSONで記述するのが特徴です。

比較項目ボンディングチーミング
カーネル / ユーザー空間カーネル内ユーザー空間(teamd)
設定形式カーネルパラメータJSON
状態確認cat /proc/net/bonding/bond0teamctl team0 state

📝 試験ではボンディングとチーミングを区別して覚える チーミングのモードは「ランナー」と呼ばれ、名前がボンディングと異なります。対応関係を表にまとめておきます。

チーミングのランナー名対応するボンディングのモード
activebackupmode 1
roundrobinmode 0
lacpmode 4
broadcastmode 3
loadbalancemode 5/6 相当

チーミングの設定手順(nmcli)

# 1. チームインターフェース(team0)を作成する
nmcli connection add type team con-name team0 ifname team0 \
  team.config '{"runner": {"name": "activebackup"}}'

# 2. メンバーポート(NIC)を追加する
nmcli connection add type ethernet con-name team0-port1 \
  ifname enp1s0 master team0

nmcli connection add type ethernet con-name team0-port2 \
  ifname enp2s0 master team0

# 3. 状態確認(チーミングはこのコマンド!)
teamctl team0 state

3. VLAN — 1本の回線を論理的に分割する

VLANで何ができる?

VLAN(Virtual LAN) は、1つの物理ネットワークを複数の仮想ネットワークに分割する技術です。

たとえば「開発部門」と「経理部門」が同じスイッチに繋がっていても、VLAN IDで分けることで互いに通信できないように論理分離できます。Linuxでは IEEE 802.1Q という規格に基づいてパケットにVLAN IDタグを付けて識別します。


VLANの設定(nmcli)

# VLAN ID 100 の仮想インターフェースを作成する(親NIC: enp1s0)
nmcli connection add type vlan con-name vlan100 ifname vlan100 \
  dev enp1s0 id 100

# IPアドレスを設定する
nmcli connection modify vlan100 ipv4.method manual \
  ipv4.addresses "192.168.100.1/24"

# 接続を有効化する
nmcli connection up vlan100

ip addr show で確認すると、vlan100@enp1s0 のように「仮想インターフェース名@親NIC名」で表示されます。


VLANに必要なカーネルモジュール(試験頻出!)

# 8021q モジュールが読み込まれているか確認する
lsmod | grep 8021q

# 読み込まれていなければ手動でロードする
modprobe 8021q

★ここがポイント! VLANを使うには 8021q というカーネルモジュールが必要です。「VLANが使えない」トラブルの原因として、このモジュールが読み込まれていないケースが試験で問われます。モジュール名とセットで覚えておきましょう。


4. ブリッジ — 仮想スイッチを作る

ブリッジは「仮想スイッチ」

ブリッジ は、複数のネットワークインターフェースをレイヤー2(データリンク層)でつなぐ仮想スイッチです。KVMなどの仮想化環境で、仮想マシンを物理ネットワークに直接接続する用途でよく使われます。

# 1. ブリッジインターフェース(br0)を作成する
nmcli connection add type bridge con-name br0 ifname br0

# 2. IPアドレスを設定する
nmcli connection modify br0 ipv4.method manual \
  ipv4.addresses "192.168.1.100/24" \
  ipv4.gateway "192.168.1.1"

# 3. 物理NICをブリッジのスレーブに追加する
nmcli connection add type bridge-slave con-name br0-slave \
  ifname enp1s0 master br0

# 4. 接続を有効化する
nmcli connection up br0

# 5. ブリッジの状態確認
bridge link show

5. tcpdump — パケットキャプチャの定番ツール(★★★ 最頻出!)

tcpdumpとは?

tcpdump は、ネットワーク上を流れるパケットをリアルタイムに表示・保存できるツールです。トラブルシューティングの場面で非常によく使われ、LinuC試験でも オプションの意味を問う問題が頻出 です。


基本的な使い方

# 特定のインターフェースでキャプチャする(最もよく使う)
tcpdump -i enp1s0

# 全インターフェースを対象にする
tcpdump -i any

# 特定ホストとの通信のみ表示する
tcpdump -i enp1s0 host 192.168.1.1

# 特定ポートの通信のみ表示する(例:HTTP)
tcpdump -i enp1s0 port 80

# キャプチャ結果をファイルに保存する
tcpdump -i enp1s0 -w /tmp/capture.pcap

# 保存したファイルを読み込んで表示する
tcpdump -r /tmp/capture.pcap

# ホスト名解決をせず数値で表示する(表示が速くなる)
tcpdump -n -i enp1s0

# 指定した件数だけキャプチャして終了する
tcpdump -c 10 -i enp1s0

オプション早見表(ここ、試験に出ます!)

オプション意味英語の元の言葉
-i <IF名>インターフェースを指定するinterface
-w <ファイル>キャプチャ結果をファイルに保存するwrite
-r <ファイル>保存したファイルを読み込むread
-n名前解決をせず数値で表示するnumeric
-c <件数>指定した件数でキャプチャを終了するcount
-v / -vv詳細な情報を表示するverbose

★ここがポイント! -w で保存して -r で読み込む という流れは試験頻出です。「後からWiresharkで分析したい」「別の人に渡して確認してもらいたい」というシーンで使います。英語の元の言葉(write / read)と紐づけて覚えると忘れにくいですよ。


フィルタ式の書き方

tcpdump は、見たい通信を絞り込むフィルタを組み合わせて使えます。

# 送信元IPを指定する
tcpdump src 192.168.1.1

# 宛先IPを指定する
tcpdump dst 192.168.1.100

# 特定のネットワーク全体を対象にする
tcpdump net 192.168.1.0/24

# 複数条件を組み合わせる(and / or / not)
tcpdump host 192.168.1.1 and port 443

# SSH以外の通信を見る
tcpdump not port 22

6. iptraf-ng — リアルタイムトラフィック監視ツール

iptraf-ng は、ネットワークの通信量をリアルタイムで画面表示する対話型ツールです(旧 iptraf の後継版です)。

# 対話モードで起動する
iptraf-ng

# 特定インターフェースのIPトラフィックモニターを起動する
iptraf-ng -i enp1s0

# 全インターフェースを監視する
iptraf-ng -i all
オプション説明
-i <IF名>指定インターフェースのIPトラフィックモニターを起動する
-g全インターフェースの統計情報を表示する
-d <IF名>インターフェースの詳細な統計情報を表示する

📝 tcpdump との使い分け tcpdump はパケットの中身まで見たいときに使い、iptraf-ng は「今この回線にどのくらいのトラフィックが流れているか」を手軽に確認したいときに使います。


7. IPフォワーディング — LinuxをルーターとしてONにする設定

デフォルトは「転送しない」

Linuxでは、別のネットワークへのパケット転送(IPフォワーディング)はデフォルトで無効(0)になっています。Linuxを複数ネットワーク間のルーターとして使うには、これを有効にする必要があります。

# 現在の設定を確認する(0=無効、1=有効)
cat /proc/sys/net/ipv4/ip_forward

# 一時的に有効にする(再起動で元に戻る)
sysctl -w net.ipv4.ip_forward=1

# 永続的に有効にする(/etc/sysctl.conf に以下の行を追記する)
net.ipv4.ip_forward = 1

# 設定ファイルの変更を反映させる
sysctl -p

★ここがポイント! 「一時的な有効化」と「永続的な有効化」の違いは試験でよく問われます。

  • 一時的sysctl -w net.ipv4.ip_forward=1(再起動で元に戻る)
  • 永続的/etc/sysctl.conf に記述 → sysctl -p で反映

試験で狙われる!引っかけポイントまとめ 💣

これまで勉強していて「ここ、引っかかりそう!」と感じたポイントをまとめました。試験直前に見直してみてくださいね。

#間違いパターン正しい理解
1mode 4(LACP)をLinux側だけ設定した❌ mode 4はスイッチ側のLACP設定も必要!
2VLANが使えないのになぜか確認しない8021q モジュールが読み込まれているか lsmod で確認する
3tcpdump -w で保存したファイルをそのままテキストエディタで開く❌ バイナリ形式なので -r オプションか Wireshark で読む
4/etc/sysctl.conf を書き換えただけで満足するsysctl -p で反映させないと有効にならない
5ボンディングの状態を ip addr show で確認しようとする❌ 詳細な状態(どのNICがアクティブか等)は cat /proc/net/bonding/bond0 で確認する

🎓 一緒に使っている教材はこちら

私がメインで使っている参考書と問題集です。よければ一緒に勉強していきましょう(笑)

【PR】▶ あずき本(Linux教科書 LinuCレベル2 Version 10.0対応)

【PR】▶ スピードマスター LinuCレベル2問題集(白本)


✅ まとめ

お疲れ様でした!今回のポイントをおさらいしましょう。

  • ボンディング:冗長化はmode 1(active-backup)、帯域集約はmode 4(LACP)。状態確認は /proc/net/bonding/bond0
  • チーミング:ボンディングの後継。モードは「ランナー」と呼ぶ。状態確認は teamctl team0 state
  • VLAN8021q モジュールが必要。仮想インターフェースは vlan100@enp1s0 の形で表示される
  • tcpdump-w で保存・-r で読み込み・-n で数値表示・-c で件数指定
  • IPフォワーディング:永続化は /etc/sysctl.conf に記述後 sysctl -p で反映

皆さんにとって、今日も素敵な1日になりますように!


参考:LPI-Japan 公式試験範囲 https://linuc.org/linuc2/range/201.html

※本記事はLinuC レベル2 Version 10.0 の出題範囲をもとに作成しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA