For faster navigation, this Iframe is preloading the Wikiwand page for NetworkManager.

NetworkManager

NetworkManager
NetworkManagerはシステムデーモンであり、様々なGUIフロントエンドが利用できる。
作者 レッドハット
開発元 主にレッドハット
初版 2004年11月19日 (19年前) (2004-11-19)
最新版 1.48.10[1] ウィキデータを編集 - 2024年8月26日 (13時間前)
リポジトリ ウィキデータを編集
プログラミング
言語
対応OS
プラットフォーム Unix系
サポート状況 開発中
種別 ネットワークの設定と制御
ライセンス GNU GPL
公式サイト NetworkManager
テンプレートを表示

NetworkManager (ネットワークマネージャー) は、libudevやその他のLinuxカーネルインタフェース上で動作し、高水準のネットワーク設定用のインタフェースの提供も行うデーモンである。

機能

[編集]

NetworkManagerはネットワークをより簡単に使えることを目的としたユーティリティソフトウェアで、Linuxディストリビューションやその他のUnix系オペレーティングシステムで動作する。

動作

[編集]
Linuxカーネル: ネットワークデバイスドライバとネットワークスタック。ユーティリティプログラムはSCIを介してカーネルの各コンポーネントと通信をする。

コンピュータが互いに通信を行うためにIEEE 802.3 (イーサネット)・IEEE 802.11 (無線LAN)・IEEE 802.15 (近距離無線通信)・PPPoEPPPoAなど様々な通信プロトコルが存在する。ネットワークに接続する場合は、ネットワークカードに適切な設定を行う必要がある。

モノリシックカーネルの場合、全てのデバイスドライバカーネルの一部であり、ハードウェアはデバイスドライバを介してアクセスされる。LinuxなどのUnix系オペレーティングシステムの場合、デバイスドライバのインタフェースとしてデバイスファイルが利用されている。全てのデバイスファイルは/devディレクトリに存在する。従来のイーサネットハードウェアのデバイスファイルは/eth0/eth1と呼ばれていた。systemd以降はesp4s0などの名前が付けられるようになった。

ウェブブラウザSSHNTPなどのユーザ空間にあるものは全てデバイスファイルを介してハードウェアにアクセスする。

NetworkManagerを使用する場合のネットワークの設定方法

[編集]

Linuxやその他のUnix系オペレーティングシステムでは、ifconfigip (iproute2の一部) を使用してIEEE 802.3とIEEE 802.11のハードウェアを設定する。利用方法についてはmanページを参照する。これらで行った設定はカーネルに直接設定され、直ちに反映される。再起動をした場合は再度設定をし直す必要がある。

シャットダウン後にも設定を維持するためには、PID1で実行するプログラムが使用される。System Vinitではシェルスクリプトとバイナリプログラムを使用し、systemdでは独自の設定ファイルを解析して使用する。ネットワークインタフェースの設定は/etc/network/interfacesに、DNSサーバの設定は/etc/resolv.confに保存される。/etc/network/interfacesでは、使用する静的IPアドレスまたはdhclientを設定することができる。また、VPNの設定も行うことができる。設定を変更する場合、DHCPでは自動的に行われる。

NetworkManagerを使用しない場合のネットワークの設定方法

[編集]
  • NetworkManagerはD-Busを介してアクセスすることができる。
  • NetworkManagerの設定は/etc/NetworkManager/NetworkManager.confに保存されている。

しかしながら、公衆無線LANの普及などによりDHCPなどを利用した動的なネットワーク設定を行うことが一般的なものになっている。BOOTPはこのような目的で使用された初期のプロトコルであり、現在はその上位互換プロトコルであるDHCPが一般的に利用されている。多くのUnix系オペレーティングシステムには動的なネットワーク設定を行うためにdhclientが利用されている。比較的静的なネットワーク設定か単純な動的なネットワーク設定の場合、dhclientによって構成された静的なネットワーク設定は問題なく動作するが、ネットワークやネットワーク・トポロジーが複雑なものになった場合には、全てのネットワーク設定を集中管理することが重要になる。

ソフトウェアアーキテクチャ

[編集]

NetworkManagerは2つのソフトウェアコンポーネントが存在する。

  1. NetworkManagerデーモン: 接続の管理と変更の報告を行うソフトウェア。
  2. GNOMEKDEXfceLXQtCinnamonなどのデスクトップ環境向けのGUIフロントエンド

これらのコンポーネントは適切に移植が出来るように設計されており、アプレットfreedesktop.orgの「System Tray Protocol」を実装するデスクトップ環境で利用できる[2]。コンポーネントはD-Busを介して通信をするので、アプリケーションリンクで対応するか既存のアプレットを置き換えることが可能となっている。ノベルSUSE Linux向けに開発したKDE向けのフロントエンドである「KNetworkManager」はこの機能を利用している。

GUIフロントエンドとCLI

[編集]
nm-applet
GTK3フロントエンド
plasma-nm
QMLで書かれたPlasmaアプレット[3]
nmcli
コマンドラインインタフェース[4]
nmtui
テキストユーザインタフェース[5]

歴史

[編集]

NetworkManagerプロジェクトは、Linuxユーザーの近代的なネットワークをより簡単に利用したいというニーズ (特に無線通信) を実現するために、2004年レッドハットによって開始された。NetworkManagerは日和見的なネットワークの選択を行い、ネットワークに障害が発生した場合や、ユーザーが移動しながら無線通信を行っている場合に、最適なネットワークに接続しようとする。NetworkManagerはユーザーが接続したことがないSSIDよりも、以前に接続をしたことがあるアクセスポイントを優先する。アクセスポイントが暗号化されていた場合、WEPキーまたはWPAキーの入力を求めるようになっている。

NetworkManagerは、D-BusとHALを利用する最初の主要なLinuxデスクトップコンポーネントの1つである。2009年6月以降、NetworkManagerはHALに依存する必要がなくなり、2014年の0.9.10以降はrootユーザーとして操作するためにD-Busデーモンを実行する必要がなくなった[6]

脚注

[編集]
  1. ^ "1.48.10"; 閲覧日: 2024年8月26日; 出版日: 2024年8月26日.
  2. ^ System Tray Protocol Specification”. freedesktop.org. 2018年7月13日閲覧。
  3. ^ plasma-nm”. KDE. 2018年7月13日閲覧。
  4. ^ nmcli”. The GNOME Project. 2018年7月13日閲覧。
  5. ^ nmtui”. The GNOME Project. 2018年7月13日閲覧。
  6. ^ Dan Williams (2014年6月20日). “We’ll Build A Dream House Of Net”. 2018年7月13日閲覧。

関連項目

[編集]

外部リンク

[編集]
{{bottomLinkPreText}} {{bottomLinkText}}
NetworkManager
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?