ホーム > パッケージ・システム管理 > systemd-networkd

systemd-networkd: ネットワーク設定管理デーモン

systemd-networkdはsystemdスイートの一部であり、Linuxシステムのネットワークデバイス構成を管理するデーモンです。`.network`ファイルを通じて、イーサネット、Wi-Fi、ブリッジ、VLANなど、さまざまなネットワークインターフェイスのIPアドレス、ルーティング、DNS設定を宣言的に自動化・管理します。システム起動時にネットワークを初期化し、実行時にネットワークの変更を処理します。

概要

systemd-networkdは、ネットワークインターフェイスを構成・管理するsystemdのコアコンポーネントです。設定ファイルベースで動作し、複雑なネットワーク環境を一貫性があり予測可能な方法で管理するのに役立ちます。

主な特徴

  • 宣言的な設定: `.network`ファイルでネットワーク構成を定義
  • 多様なインターフェイスをサポート: イーサネット、Wi-Fi、ブリッジ、ボンディング、VLANなど
  • DHCPクライアント/サーバー機能内蔵
  • 静的IPアドレスおよびルーティング設定をサポート
  • systemdサービスとの緊密な統合

主なオプション

systemd-networkdは主にsystemctlを通じてサービスとして管理されますが、直接実行する際に使用できるいくつかのオプションがあります。

一般オプション

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`systemd-networkd` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

systemd-networkdは主にsystemctlコマンドを通じてサービスとして管理されます。以下に一般的な使用例を示します。

systemd-networkdサービスの有効化と開始

sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service

システム起動時に自動的に開始されるように有効化し、すぐにサービスを開始します。

systemd-networkdサービスのステータス確認

sudo systemctl status systemd-networkd.service

systemd-networkdサービスの現在のステータスを確認します。

ネットワーク設定変更後のリロード

sudo systemctl reload systemd-networkd.service

`.network`ファイルの変更後、サービスを再起動せずに設定を再読み込みします。

networkctlを使用したネットワークステータス確認

networkctl status

networkctlは、systemd-networkdが管理するネットワークインターフェイスのステータスを表示するユーティリティです。

設定ファイルの有効性検証

sudo systemd-networkd --test

新しい`.network`ファイルを適用する前に、構文エラーなどを確認します。

ヒントと注意点

systemd-networkdを効果的に使用するためのヒントと注意点です。

設定ファイルパス

systemd-networkdは、次のパスから`.network`ファイルを読み込みます。数値が小さいディレクトリのファイルが優先されます。

  • /etc/systemd/network/: ユーザー定義設定(最も高い優先度)
  • /run/systemd/network/: 実行時生成設定(例:DHCPクライアント)
  • /usr/lib/systemd/network/: ディストリビューションデフォルト設定(最も低い優先度)

他のネットワークマネージャーとの競合

NetworkManagerやnetplanなどの他のネットワークマネージャーとsystemd-networkdを同時に有効にすると、競合が発生する可能性があります。一般的に、システムには1つのネットワークマネージャーのみを有効にすることをお勧めします。

  • NetworkManagerとの同時使用は避ける
  • 必要に応じて他のネットワークマネージャーを無効にする(例:`sudo systemctl disable NetworkManager.service`)

デバッグとログの確認

問題が発生した場合、`journalctl`を使用してsystemd-networkdのログを確認することが重要です。

  • `journalctl -u systemd-networkd.service`でサービスログを確認
  • `journalctl -u systemd-networkd.service -f`でリアルタイムログを確認
  • 詳細ログのために`--debug`オプションを使用するか、`/etc/systemd/systemd-networkd.conf`で`LogLevel=debug`を設定


同じカテゴリのコマンド