CentOS7のNetworkManagerの概要、nmcliの使用方法、使用例についてまとめました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
NetworkManagerの概要
・CentOS7では、NetworkManagerがデフォルトのネットワークサービスを提供。
従来のifcfgタイプの設定ファイルもサポートが継続される。
・NetworkManagerは、動的なネットワーク制御および設定デーモンで、ネットワークデバイスと接続が利用可能な間は、これらをアクティブな状態に保つ。
・ネットワークエイリアスやIPアドレス、静的ルート、DNS情報、VPN接続に加えて多くの特定接続のパラメーターを設定できる。
・D-Bus経由のAPIを提供し、これによりアプリケーションはネットワーク設定や状態をクエリ、制御することができる。
従来のifcfgタイプの設定ファイルもサポートが継続される。
・NetworkManagerは、動的なネットワーク制御および設定デーモンで、ネットワークデバイスと接続が利用可能な間は、これらをアクティブな状態に保つ。
・ネットワークエイリアスやIPアドレス、静的ルート、DNS情報、VPN接続に加えて多くの特定接続のパラメーターを設定できる。
・D-Bus経由のAPIを提供し、これによりアプリケーションはネットワーク設定や状態をクエリ、制御することができる。
ネットワークツールおよびアプリケーションの概要
①nmtui
NetworkManager用のシンプルなcursesベースのテキストユーザーインターフェイス(TUI)
②nmcli
ユーザーとスクリプトがNetworkManagerと対話できるようにするコマンドラインツール
③control-center
・グラフィカルユーザーインターフェイスツール
・GNOME Shellが提供し、デスクトップユーザーが利用可能なGTK+ 3アプリケーション
・Network設定ツールを含んでいる。
④nm-connection-editor
・グラフィカルユーザーインターフェイスツール
・control-centerでは処理されない特定のタスクに利用できる。
NetworkManager用のシンプルなcursesベースのテキストユーザーインターフェイス(TUI)
②nmcli
ユーザーとスクリプトがNetworkManagerと対話できるようにするコマンドラインツール
③control-center
・グラフィカルユーザーインターフェイスツール
・GNOME Shellが提供し、デスクトップユーザーが利用可能なGTK+ 3アプリケーション
・Network設定ツールを含んでいる。
④nm-connection-editor
・グラフィカルユーザーインターフェイスツール
・control-centerでは処理されない特定のタスクに利用できる。
NetworkManagerデーモンのステータス確認、起動
・NetworkManagerデーモンはroot権限で実行され、デフォルトでブート時に起動されるように設定されている。
①ステータス確認
$ systemctl status NetworkManager
②起動方法
# systemctl start NetworkManager
③自動起動方法
# systemctl enable NetworkManager
①ステータス確認
$ systemctl status NetworkManager
②起動方法
# systemctl start NetworkManager
③自動起動方法
# systemctl enable NetworkManager
nmcliコマンドラインツール
nmcliは、ユーザーとスクリプトの両方がNetworkManagerの制御に使用できる。
1)コマンドの構文
nmcli OPTIONS OBJECT { COMMAND | help }
・OBJECT
general、networking、radio、connection、device
・OPTIONS
-t,–terse スクリプトで使用
-p, ユーザー用
・・・
●主なコマンドオプション
○type 接続タイプ
・typeオプションは、nmcli connection add および nmcli connection editの後に適用。
・使用可能な値
adsl、bond、bond-slave、bridge、bridge-slave、bluetooth、cdma、ethernet、gsm、infiniband、olpc-mesh、team、team-slave、vlan、wifi、wimax
・接続タイプにはそれぞれ、タイプ固有のコマンドオプションがある。Tabを押すとオプション一覧を見ることができる。
○con-name 接続プロファイルに割り当てられる名前
・接続名を指定しないと、以下のように生成される。
type-ifname[-number]
・接続名は接続プロファイルの名前で、デバイスを表すインターフェイス名(wlan0、ens3、em1 など)と混同しないように注意。ユーザーはインターフェイスにちなんで接続名を付けることができるが、これらは別のもの。
・1つのデバイスに複数の接続プロファイルを利用することができる。これはモバイルデバイスの場合や異なるデバイス間でネットワークケーブルを切り替えたりする場合に非常に便利。設定を編集するのではなく異なるプロファイルを作成し、必要に応じてそれらをインターフェイスに適用する。
・idオプションも接続プロファイル名を参照する。
○id ユーザーが接続プロファイルに割り当てるID文字列
・nmcli connectionコマンド内でIDを使って接続を特定することができる。
・出力のNAMEフィールドは常に接続ID(名前)を表す。con-nameが参照するものと同じ接続プロファイル名を参照する。
○uuid システムが接続プロファイルに割り当てる一意のID文字列
・nmcli connectionコマンド内でUUIDを使って接続を特定することができる。
2)nmcliコマンドの使用例
○ステータス確認
・NetworkManagerの全般的ステータスを表示
nmcli general status
・NetworkManagerのログを制御
nmcli general logging
・すべての接続を表示
nmcli connection show
1)コマンドの構文
nmcli OPTIONS OBJECT { COMMAND | help }
・OBJECT
general、networking、radio、connection、device
・OPTIONS
-t,–terse スクリプトで使用
-p, ユーザー用
・・・
●主なコマンドオプション
○type 接続タイプ
・typeオプションは、nmcli connection add および nmcli connection editの後に適用。
・使用可能な値
adsl、bond、bond-slave、bridge、bridge-slave、bluetooth、cdma、ethernet、gsm、infiniband、olpc-mesh、team、team-slave、vlan、wifi、wimax
・接続タイプにはそれぞれ、タイプ固有のコマンドオプションがある。Tabを押すとオプション一覧を見ることができる。
○con-name 接続プロファイルに割り当てられる名前
・接続名を指定しないと、以下のように生成される。
type-ifname[-number]
・接続名は接続プロファイルの名前で、デバイスを表すインターフェイス名(wlan0、ens3、em1 など)と混同しないように注意。ユーザーはインターフェイスにちなんで接続名を付けることができるが、これらは別のもの。
・1つのデバイスに複数の接続プロファイルを利用することができる。これはモバイルデバイスの場合や異なるデバイス間でネットワークケーブルを切り替えたりする場合に非常に便利。設定を編集するのではなく異なるプロファイルを作成し、必要に応じてそれらをインターフェイスに適用する。
・idオプションも接続プロファイル名を参照する。
○id ユーザーが接続プロファイルに割り当てるID文字列
・nmcli connectionコマンド内でIDを使って接続を特定することができる。
・出力のNAMEフィールドは常に接続ID(名前)を表す。con-nameが参照するものと同じ接続プロファイル名を参照する。
○uuid システムが接続プロファイルに割り当てる一意のID文字列
・nmcli connectionコマンド内でUUIDを使って接続を特定することができる。
2)nmcliコマンドの使用例
○ステータス確認
・NetworkManagerの全般的ステータスを表示
nmcli general status
・NetworkManagerのログを制御
nmcli general logging
・すべての接続を表示
nmcli connection show
# nmcli con show 名前 UUID タイプ デバイス 有線接続 1 ca66a58f-・・・ 802-3-ethernet enp0s29f7u1
・現在アクティブな接続のみを表示
nmcli connection show –active
・NetworkManagerが認識するデバイスとその状態を表示
nmcli device status
# nmcli dev status デバイス タイプ 状態 接続 enp0s29f7u1 ethernet 接続済み 有線接続 1 lo loopback 管理無し --
○イーサネットデバイスの追加、設定
・デバイスを追加
nmcli con add type ethernet ifname デバイス名 con-name 接続プロファイル名
・固定IPアドレスを設定
nmcli con mod 接続プロファイル名 ipv4.method manual ipv4.addresses “192.168.0.3/24 192.168.0.254”
○インターフェイスの開始および停止
nmcli con up id port0
nmcli dev disconnect iface ens3
※接続が切断されるとインターフェイスは”手動”モードになるので、nmcli con down id id-string よりも nmcli dev disconnect iface iface-name が推奨される。
手動モードになると、ユーザーがNetworkManagerに接続を開始するよう指示するか、キャリアの変更や休止状態、またはスリープなどの外部イベントが発生するまで自動接続は開始されない
3)nmcliインタラクティブ接続エディター
①nmcli con editを入力
②表示されたリストから有効な接続タイプを入力
③nmcliプロンプトが表示
# nmcli con edit 有効な接続タイプ: generic, 802-3-ethernet (ethernet), pppoe, 802-11-wireless (wifi), wimax, gsm, cdma, infiniband, adsl, bluetooth, vpn, 802-11-olpc-mesh (olpc-mesh), vlan, bond, team, bridge, bond-slave, team-slave, bridge-slave 接続タイプを入力してください: ethernet ===| nmcli インテラクティブ接続エディター |=== 新規の '802-3-ethernet' 接続を追加中 使用できるコマンドを表示するには 'help' または '?' を入力します。 プロパティ詳細を表示するには 'describe [.]' を入力します。 次の設定を変更することができます: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb nmcli> help ------------------------------------------------------------------------------ ---[ Main menu ]--- goto [ | ] :: go to a setting or property remove [.] | :: remove setting or reset property value set [. ] :: set property value describe [.] :: describe property print [all | [.]] :: print the connection verify [all | fix] :: verify the connection save [persistent|temporary] :: save the connection activate [] [/|] :: activate the connection back :: go one level up (back) help/? [] :: print this help nmcli :: nmcli configuration quit :: exit nmcli ------------------------------------------------------------------------------ nmcli>