

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
network.targetとは何か
このキーワードは Linux の systemd というサービス管理の一部として現れます。network.target は「ネットワーク関連のサービスを起動する準備が整った状態」を示す ターゲット のひとつです。ここで覚えておきたいのは、network.targetはネットワークが実際に使える状態を保証するものではないという点です。たとえばネットワーク機器の起動やリンクの設定までは進んでいても、通信が実際にできるかどうかは別問題です。
systemd では多くのサービスを順序よく起動するために ターゲット が使われます。ターゲットは複数のサービスをまとめて「このタイミングで起動してよい」という目印の役割を果たします。network.target はネットワークスタックそのものが立ち上がる段階を示す目印であり、以降のサービスがネットワーク機能を使える前提として待機する基点になります。
systemdの基礎とターゲットの役割
systemd ではサービスの起動順序を After= や Requires= などの指示子で決めます。After=network.target と指定すると、そのサービスはネットワーク基盤が準備できた後に起動します。Requires=network.target を併用すれば、ネットワーク基盤がなければそのサービス自体を起動しようとしません。
network.targetを使う意味は、ネットワーク関連サービスの起動タイミングを安定させ、依存関係の崩れを防ぐことです。これにより、通信を前提とするデーモンやアプリケーションが失敗しにくくなります。
network.targetとnetwork-online.targetの違い
ネットワーク関連の制御には主に network.target と network-online.target の2つが用いられます。network.target は「ネットワークスタックが起動している段階」を示します。実際に接続が確立しているかは保証されません。一方、network-online.target はネットワークが“オンライン”になっている状態を待つための目印です。これを確実に待つには NetworkManager や systemd-networkd の wait-online 機能などを組み合わせます。
つまり network.target を使うのは「ネットワーク機能を使える状態の前提を揃える」ためであり、ネットワークが実際に使える状態を保証したい場合は network-online.target を活用するという使い分けが大切です。
実務での使い方の実例
実務では、ネットワークに依存するサービスを起動する際に After=network.target を使います。さらにネットワークが実際に使える状態を待つ必要がある場合には After=network-online.target と Requires=network-online.target を追加します。以下はイメージとしての説明です。
使い分けのポイントは次のとおりです。ネットワークスタックの立ち上がりだけで十分なら network.target、実際の接続確認まで待ちたい場合は network-online.target を選びます。
| 項目 | 説明 |
|---|---|
| network.targetの意味 | ネットワークスタックが準備できた段階を示す。実際の接続性は保証しない。 |
| network-online.targetの意味 | ネットワークが実際にオンラインである状態を待つ。検知には別サービスが関与することが多い。 |
| 使い方の基本 | After=network.target だけで十分な場合と After=network-online.target を併用してオンライン待ちをする場合がある。 |
実務での具体的な例
実務では、以下のように unit ファイルを整えるのが基本です。サービスがネットワークを前提としている場合、最初に network.target を待ちます。さらにネットワークがオンラインになることを確実にしたい場合は network-online.target を追加します。
例として、あるデーモンがネットワーク経由のリソースへアクセスする場合の要点は次のとおりです。After=network.target と Requires=network-online.target を組み合わせることで、ネットワークが利用可能になるまで起動を遅らせることができます。
状態の確認とデバッグのヒント
サービスの起動順を確認したいときは、systemctl status <サービス名>、systemctl list-dependencies <サービス名> を使います。ネットワーク関連のエラーが発生している場合は、After=や Requires= の設定が適切か、また network-online.target を待機しているかを確認しましょう。ログは journalctl で確認できます。
まとめ
要点を簡潔にまとめると、network.target はネットワーク基盤の準備を示す目印であり、実際の接続性を待つには network-online.target を活用するという点が重要です。用途に応じて After や Requires の組み合わせを選び、起動順序と信頼性を高めましょう。
network.targetの同意語
- network.target
- systemdにおけるネットワーク関連の基本的な起動準備を表すターゲット。network.target が到達すると、ネットワークスタックの初期化が完了した状態を意味し、ネットワークを前提とする他のサービスを起動できるようになります。
- ネットワークターゲット
- network.target の日本語表現の一つ。ネットワーク関連サービスの起動準備が整った状態を示す、systemd のターゲット概念のひとつ。
- ネットワーク起動ターゲット
- ネットワーク関連サービスの起動を行う前提となる状態を示すターゲット。つまり、ネットワーク機能を利用するサービスが起動できるよう、準備が整った合図を表します。
- ネットワーク関連ターゲット
- ネットワークに関わるサービス全般の起動準備を示す表現。network.target と同等の意味を指す日本語の言い換えです。
- ネットワーク初期化ターゲット
- ネットワーク機能の初期化作業が開始・完了し、基本的なネットワーク機能が利用可能になる段階を指すターゲット。
- ネットワーク準備ターゲット
- ネットワーク機能を使うための準備が整った状態を表す表現。network.target と同じ意味を持つ言い換えです。
network.targetの対義語・反対語
- オフライン
- ネットワークが利用できない状態。外部のネットワークへ接続していない、または接続が切断されている状態を指します。
- ネットワーク未設定
- ネットワーク設定がまだ完了しておらず、通信が開始できない状態。
- ネットワークなし
- デバイスに有効なネットワーク接続が存在しない状態。
- ローカルのみ
- ネットワークを使わず、ローカル環境だけで動作する状態。外部との通信を伴わない前提です。
- ネットワークダウン
- ネットワーク機能が何らかの原因で停止している状態。
- 切断済み
- 現在、ネットワーク接続が切断されている状態。
- 接続不能
- ネットワーク経由の接続先へ到達できない、または通信路が確立できない状態。
- ネットワーク遮断
- セキュリティ設定やポリシーによりネットワークへのアクセスが遮断されている状態。
- ネットワーク不在
- 利用可能なネットワークが存在しない状態。
network.targetの共起語
- systemd
- Linux の init/サービス管理を担うデーモン。ユニットの起動順序や依存関係を管理し、network.target のようなターゲットを通じて全体の起動計画を制御します。
- ユニット
- systemd が管理する実行単位の総称。サービス・ターゲット・ソケットなどが含まれます。
- ユニットファイル
- ユニットの設定を記述するテキストファイル。拡張子は .service/.target など。例: /etc/systemd/system/*.service
- ターゲット
- 複数のユニットをまとめた仮想的な起動レベル。network.target や multi-user.target などが該当します。
- ネットワーク
- ネットワーク機能の総称。network.target の文脈ではネットワークが初期化済みであることを指します。
- network-online.target
- ネットワークが実際にオンラインで利用可能になっている状態を示すターゲット。DHCP完了や待機が含まれます。
- After
- 他のユニットの起動後に自分を起動する依存関係を表すディレクティブ。
- Before
- 他のユニットの前に自分を起動する依存関係を表すディレクティブ。
- Wants
- 緩やかな依存関係を表すディレクティブ。必須ではなく、起動を促す関係です。
- Requires
- 厳密な依存関係を表すディレクティブ。対象ユニットが起動しないと自分も起動できません。
- WantedBy
- このユニットを特定のターゲットに紐づける設定。通常はシンボリックリンクを作成します。
- PartOf
- 複数のユニットをまとめて停止・起動する関係を表すディレクティブ。
- default.target
- デフォルトの起動ターゲット。多くは multi-user.target へリンクされるのが一般的です。
- multi-user.target
- GUIなしのマルチユーザー環境を表すターゲット。ネットワーク関連のサービスが起動する土台となります。
- basic.target
- システムの基本的な初期化を表すターゲット。network.target の前後の段階で関係します。
- NetworkManager
- NetworkManager デーモン。ネットワーク設定を管理する代表的な実装の一つで、network.target との連携が一般的です。
- systemd-networkd
- systemd のネットワーク管理デーモン。静的なネットワーク設定を提供します。
- networking関連のユニット
- NetworkManager や systemd-networkd の待機/オンライン状態を扱うユニットが network-online.target と連携します。
network.targetの関連用語
- network.target
- systemd が用意するネットワーク関連の統合ターゲット。ネットワーク機能が利用可能になる段階を示すが、必ずしもインターネット接続が確立しているわけではない。
- systemd
- Linux の init システム。サービスの起動・監視・依存関係・並列実行を管理する基本的な仕組み。
- unit
- systemd の最小構成要素。サービス(unit)、ターゲット、ソケット、タイマーなどさまざまなタイプがある。
- target
- 複数のユニットをまとめて起動順序を調整するための特別なユニット。実質的な「集合体」の役割。
- Wants
- 任意の依存関係。指定されたユニットを起動したい意思を伝えるが、必須ではない。
- Requires
- 硬い依存関係。指定されたユニットが起動しないとターゲットの起動自体が失敗する。
- After
- 起動の順序を示す指示。After に書かれたユニットが先に完了してから自分を起動する。
- Before
- After の逆。自分が先に起動され、指定したユニットがその後になるようにする。
- DefaultDependencies
- デフォルトで付与される最低限の依存関係を有効/無効にする設定。通常は有効。
- network-online.target
- ネットワークが実質的にオンライン状態になったことを示すターゲット。実際の到達性はこの後に確認するべき。
- default.target
- デフォルトの起動ターゲット。多くは multi-user.target や graphical.target へリンクされる。
- multi-user.target
- 非グラフィカルな多人数環境の基本ターゲット。サーバー用途の基本となる起動状態。
- graphical.target
- グラフィカル環境を提供するターゲット。GUI の起動を含む。
- basic.target
- 基本機能が揃った最小限の起動状態。network.target などの下地が整う地点。
- systemd-networkd
- systemd が提供するネットワーク管理デーモン。静的なネットワーク設定を扱う。
- NetworkManager
- ネットワーク接続の管理デーモン。GUI 連携が強く、動的な接続変更に強い。
- systemd-resolved
- DNS 名の解決を担当するサービス。名前解決の設定を提供する。
- WantedBy
- Install セクションで、ターゲットに対してこのユニットを起動対象として登録する指示。
- RequiredBy
- 他のユニットから必須として参照されるよう設定された関係。
- service
- 長時間走るデーモンやバックグラウンドで動作するプログラムを起動・管理するユニットの基本タイプ。
- socket
- ソケットファイルを介してサービスを起動するトリガーユニット。アクティベート型の起動に使われる。
- timer
- 特定の時刻・間隔でユニットを起動するタイマーユニット。cron に相当する機能を systemd で提供。
- mount
- ファイルシステムのマウントを行うユニット。
- path
- ファイルシステムのパスの変化を検知して処理を起動するユニット。
- automount
- 自動的にファイルシステムをマウントするユニット。
- slice
- リソースの階層を管理するユニット。CPU/メモリの分割管理に利用。
- device
- デバイスファイルの検出に応じて起動するユニット。
- install
- [Install] セクションの説明。WantedBy/RequiredBy など、ユニットをどのターゲットへ紐づけるかを定義する。



















