【nmcli】コマンド一覧 ~設定反映方法やステータス確認、デバイス名変更~

スポンサーリンク
スポンサーリンク

CentOS7 以上では Network Manager を積極的に使ったほうが良さそう

CentOS7系では Network Manager を使うことが推奨されています(Network Managerを使わないと firewalld のzone設定等がうまく反映されなかったりするよう)。

なのでネットワーク周りのCLIコマンドは nmcli を使いましょう。

NetworkManagerが認識しているインタフェースおよびステータスを表示

[root@localhost ~]# nmcli device
デバイス タイプ 状態 接続
ens33 ethernet 接続済み ens33
ens38 ethernet 接続済み 有線接続2
ens37 ethernet 切断済み --
lo loopback 管理無し --
[root@localhost ~]#

有効なものを緑で表示し、利用できないものを赤で表示します。

NetworkManager管理下のインタフェースを表示(有効に利用できるものを緑で表示)

[root@localhost ~]# nmcli connection show
名前 UUID タイプ デバイス
ens33 99fbd3ed-f1d8-4c81-a2cf-9665fd6cd2f9 802-3-ethernet ens33
有線接続2 ebe5b183-c4b0-3d40-b1f6-fe4623a5085f 802-3-ethernet ens38
有線接続1 3508a332-4320-3fdf-bb7a-25539a2a6a14 802-3-ethernet --
[root@localhost ~]#

スポンサーリンク

IPアドレスの設定

[root@localhost ~]# nmcli connection modify "有線接続2" ipv4.method manual ipv4.addresses "10.1.1.2/24"
[root@localhost ~]# nmcli connection up "有線接続2"

設定反映に2行目の "nmcli connection up"コマンドが必要です。downは実行しなくてもOK。

デフォルトゲートウェイの設定

[root@localhost ~]# nmcli connection modify "有線接続2" ipv4.gateway "10.1.1.254"
[root@localhost ~]# nmcli connection up "有線接続2"

同様にupコマンドで設定反映。

DNSサーバの設定

[root@localhost ~]# nmcli connection modify "有線接続2" ipv4.dns "8.8.8.8"
[root@localhost ~]# nmcli connection up "有線接続2"

同様にupコマンドで設定反映。

このコマンドは設定を上書きするため、2台目(セカンダリ等)を設定するには次のコマンドを実行します。

DNSサーバの設定追加・削除

追加するときは +ipv4

[root@localhost ~]# nmcli connection modify "有線接続2" +ipv4.dns "8.8.4.4"
[root@localhost ~]# nmcli connection up "有線接続2"

削除するときは -ipv4

[root@localhost ~]# nmcli connection modify "有線接続2" -ipv4.dns "8.8.4.4"
[root@localhost ~]# nmcli connection up "有線接続2"

スポンサーリンク

スタティックルートの設定追加・削除

追加するときは +ipv4

[root@localhost ~]# nmcli connection modify "有線接続2" +ipv4.routes "192.168.1.0/24 10.1.2.254"
[root@localhost ~]# nmcli connection up "有線接続2"

削除するときは -ipv4

[root@localhost ~]# nmcli connection modify "有線接続2" -ipv4.routes "192.168.1.0/24 10.1.2.254"
[root@localhost ~]# nmcli connection up "有線接続2"

セカンダリIPアドレスの追加

同様にIPアドレスもセカンダリIPを追加するときは +ipv4

[root@localhost ~]# nmcli connection modify "有線接続2" +ipv4.addresses "10.1.1.3/24"
[root@localhost ~]# nmcli connection up "有線接続2"

IPを削除するときは -ipv4

[root@localhost ~]# nmcli connection modify "有線接続2" -ipv4.addresses "10.1.1.3/24"
[root@localhost ~]# nmcli connection up "有線接続2"

プロファイル名(名前/NAME)を変える

[root@localhost ~]# nmcli connection show
名前 UUID タイプ デバイス
ens33 99fbd3ed-f1d8-4c81-a2cf-9665fd6cd2f9 802-3-ethernet ens33
有線接続2 ebe5b183-c4b0-3d40-b1f6-fe4623a5085f 802-3-ethernet ens38
有線接続1 3508a332-4320-3fdf-bb7a-25539a2a6a14 802-3-ethernet --
[root@localhost ~]#

上記の状態で、"有線接続2" を変更するには以下のコマンドを打ちます。

[root@localhost ~]# nmcli connection modify ens38 connection.id ens38

すると即時反映で以下のように変わります。

[root@localhost ~]# nmcli connection show
名前 UUID タイプ デバイス
ens33 99fbd3ed-f1d8-4c81-a2cf-9665fd6cd2f9 802-3-ethernet ens33
ens38 ebe5b183-c4b0-3d40-b1f6-fe4623a5085f 802-3-ethernet ens38
有線接続1 3508a332-4320-3fdf-bb7a-25539a2a6a14 802-3-ethernet --
[root@localhost ~]#

スポンサーリンク

デバイス名を変更する

デバイス名を変更するには以下のようにします。

[root@localhost ~]# nmcli connection modify ens38 connection.interface-name eth0
[root@localhost ~]# shutdown -r now

名前の変更とは違い、再起動が必要となります。再起動後は以下のように変わります。

[root@localhost ~]# nmcli connection show
名前 UUID タイプ デバイス
ens33 99fbd3ed-f1d8-4c81-a2cf-9665fd6cd2f9 802-3-ethernet ens33
ens38 ebe5b183-c4b0-3d40-b1f6-fe4623a5085f 802-3-ethernet eth0
有線接続 1 3508a332-4320-3fdf-bb7a-25539a2a6a14 802-3-ethernet ens37
[root@localhost ~]#

対話的に設定する場合

[root@localhost ~]# nmcli con edit id ens38
===| nmcli インテラクティブ接続エディター |===既存の '802-3-ethernet' 接続を編集中: 'ens38'使用できるコマンドを表示するには 'help' または '?' を入力します。
プロパティ詳細を表示するには 'describe [.]' を入力します。次の設定を変更することができます: connection, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6, proxy
nmcli> ?
------------------------------------------------------------------------------
---[ メインメニュー ]---
goto [ | ] :: 設定またはプロパティーに移動する
remove [.] | :: 設定を削除する、またはプロパティー値をリセットする
set [. ] :: プロパティー値を設定する
describe [.] :: プロパティーの説明を表示する
print [all | [.]] :: 接続を出力する
verify [all | fix] :: 接続を検証する
save [persistent|temporary] :: 接続を保存する
activate [] [/|] :: 接続をアクティベートする
back :: ひとつ上のレベルに移動する (戻る)
help/? [] :: このヘルプを表示する
nmcli :: nmcli 設定
quit :: nmcli を終了する
------------------------------------------------------------------------------
nmcli> goto ?
エラー: 無効な設定名; '?' は [connection, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6, proxy] にはありません
nmcli> goto connection
変更できるのは次のプロパティになります: id, uuid, interface-name, type, permissions, autoconnect, autoconnect-priority, autoconnect-retries, timestamp, read-only, zone, master, slave-type, autoconnect-slaves, secondaries, gateway-ping-timeout, metered, lldp, stable-id
nmcli connection> goto id
nmcli connection.id> ?
------------------------------------------------------------------------------
---[ プロパティメニュー]---
set [] :: 新しい値の設定
add [] :: プロパティに新規オプションを追加
change :: 現在の値を変更
remove [ |] :: 値の削除
describe :: プロパティの詳細表示
print [setting | connection] :: プロパティ値 (設定/接続) の表示
back :: 上のレベルに移動
help/? [] :: このヘルプまたはコマンドの詳細を表示
quit :: nmcli の終了
------------------------------------------------------------------------------
nmcli connection.id> print
id: ens38
nmcli connection.id> set eth1
nmcli connection.id> back
nmcli connection> save
接続 'eth1' (ebe5b183-c4b0-3d40-b1f6-fe4623a5085f) が正常に更新されました。
nmcli connection> quit
[root@localhost ~]#
スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク