CentOS7のNetworkManager、nmcliの概要

CentOS7のNetworkManagerの概要、nmcliの使用方法、使用例についてまとめました。

(1)NetworkManagerの概要

・CentOS7では、NetworkManagerがデフォルトのネットワークサービスを提供。
従来のifcfgタイプの設定ファイルもサポートが継続される。
 
・NetworkManagerは、動的なネットワーク制御および設定デーモンで、ネットワークデバイスと接続が利用可能な間は、これらをアクティブな状態に保つ。
 
・ネットワークエイリアスやIPアドレス、静的ルート、DNS情報、VPN接続に加えて多くの特定接続のパラメーターを設定できる。
 
・D-Bus経由のAPIを提供し、これによりアプリケーションはネットワーク設定や状態をクエリ、制御することができる。
 

(2)ネットワークツールおよびアプリケーションの概要


 
①nmtui
NetworkManager用のシンプルなcursesベースのテキストユーザーインターフェイス(TUI)
 
②nmcli
ユーザーとスクリプトがNetworkManagerと対話できるようにするコマンドラインツール
 
③control-center
・グラフィカルユーザーインターフェイスツール
・GNOME Shellが提供し、デスクトップユーザーが利用可能なGTK+ 3アプリケーション
・Network設定ツールを含んでいる。
 
④nm-connection-editor
・グラフィカルユーザーインターフェイスツール
・control-centerでは処理されない特定のタスクに利用できる。
 

(3)NetworkManagerデーモンのステータス確認、起動


 
・NetworkManagerデーモンはroot権限で実行され、デフォルトでブート時に起動されるように設定されている。
 
①ステータス確認
 
$ systemctl status NetworkManager
 
②起動方法
 
# systemctl start NetworkManager
 
③自動起動方法
 
# systemctl enable NetworkManager
 

(4)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

# 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>
関連記事の目次

コメントを残す

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