今号では、nmcli コマンドの使い方やオプションについてご紹介します!
nmcli コマンドとは
nmcli コマンドは、NetworkManager の機能をコマンドライン上から使用できるコマンドです。
GUI が利用できないサーバーやリモートマシンでよく使用されます。
nmcli を使用することで、各ネットワークインターフェースの状態の確認、接続の作成や削除、
IP アドレスの設定などを実行できます。
なお、nmcli コマンドは非常に多機能であり、多くのサブコマンドとオプションがあります。
そのため、数回に分けて各サブコマンド、オプションについて紹介していきます。
今回の記事では、物理デバイスに関するサブコマンド、オプションをご紹介します。
基本の書式
サブコマンドに “device” もしくは “dev” を指定すると、物理デバイスの情報を表示します。
なお、これはオプションに “status” を指定した時と同じ動作になります。
# nmcli device DEVICE TYPE STATE CONNECTION eth0 ethernet connected System eth0 lo loopback connected (externally) lo
nmcli device コマンドのオプション
よく使用されると考えられるオプションを抜粋してご紹介します。
オプションに “show”、その後に対象となるデバイスを指定すると、当該デバイスの
詳細情報を表示します。
# nmcli device show eth0 GENERAL.DEVICE: eth0 GENERAL.TYPE: ethernet GENERAL.HWADDR: 06:EC:94:58:92:9D GENERAL.MTU: 9001 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: System eth0 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2 WIRED-PROPERTIES.CARRIER: on IP4.ADDRESS[1]: 172.31.7.153/20 IP4.GATEWAY: 172.31.0.1 IP4.ROUTE[1]: dst = 172.31.0.0/20, nh = 0.0.0.0, mt = 100 IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 172.31.0.1, mt = 100 IP4.DNS[1]: 172.31.0.2 IP4.DOMAIN[1]: ap-northeast-1.compute.internal IP6.ADDRESS[1]: 2406:da14:ac9:2100:8fc0:6d84:a95b:fc9b/128 IP6.ADDRESS[2]: fe80::4ec:94ff:fe58:929d/64 IP6.GATEWAY: fe80::809:7dff:fec0:1 IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024 IP6.ROUTE[2]: dst = 2406:da14:ac9:2100::/64, nh = ::, mt = 100 IP6.ROUTE[3]: dst = ::/0, nh = fe80::809:7dff:fec0:1, mt = 100 IP6.ROUTE[4]: dst = 2406:da14:ac9:2100:8fc0:6d84:a95b:fc9b/128, nh = ::, mt = 100
・GENERAL.DEVICE: デバイス名
・GENERAL.TYPE: デバイスの種類
・GENERAL.HWADDR: MAC アドレス
・GENERAL.MTU: 1回に送信できる最大のデータサイズ
・GENERAL.STATE: デバイスの状態 (connected は接続済みであることを示す)
・GENERAL.CONNECTION: 接続の名前
・GENERAL.CON-PATH: NetworkManager 上での接続のパス
・WIRED-PROPERTIES.CARRIER: 信号の状態 (on は接続がアクティブであることを示す)
・IP4.ADDRESS[1]: IPv4 アドレス、およびサブネットマスク
・IP4.GATEWAY: IPv4 のデフォルトゲートウェイ
・IP4.ROUTE[1]~[2]: IPv4 のルーティング情報
・IP4.DNS[1]: IPv4 の DNS サーバ
・IP4.DOMAIN[1]: ドメイン名
・IP6.ADDRESS[1]: IPv6 アドレス
・IP6.ADDRESS[2]: IPv6 アドレス (ローカルアドレス)
・IP6.GATEWAY: IPv6 のデフォルトゲートウェイ
・IP6.ROUTE[1]~[4]: IPv6 のルーティング情報
オプションに “connect”、その後に対象となるデバイスを指定すると、当該デバイスに
接続します。
# nmcli device connect eth0 Device 'eth0' successfully activated with '5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03'.
オプションに “disconnect”、その後に対象となるデバイスを指定すると、当該デバイスから
切断します。
# nmcli device disconnect eth0 Device 'eth0' successfully disconnected.
オプションに “modify”、その後に対象となるデバイス、対象となるパラメータを指定すると、
当該パラメータの設定内容を変更できます。
例えば、eth0 の MTU (Maximum Transmission Unit) サイズを変更したい場合、下記の様に実行します。
# nmcli device modify eth0 mtu 5000 Connection successfully reapplied to device 'eth0'.
nmcli device show eth0 コマンドで各パラメータの内容を確認すると、MTU サイズが
上記で変更した 5000 に変更されています。
# nmcli device show eth0 GENERAL.DEVICE: eth0 GENERAL.TYPE: ethernet GENERAL.HWADDR: 06:EC:94:58:92:9D GENERAL.MTU: 5000 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: System eth0 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/4 WIRED-PROPERTIES.CARRIER: on IP4.ADDRESS[1]: 172.31.7.153/20 IP4.GATEWAY: 172.31.0.1 IP4.ROUTE[1]: dst = 172.31.0.0/20, nh = 0.0.0.0, mt = 100 IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 172.31.0.1, mt = 100 IP4.DNS[1]: 172.31.0.2 IP4.DOMAIN[1]: ap-northeast-1.compute.internal IP6.ADDRESS[1]: 2406:da14:ac9:2100:8fc0:6d84:a95b:fc9b/128 IP6.ADDRESS[2]: fe80::4ec:94ff:fe58:929d/64 IP6.GATEWAY: fe80::809:7dff:fec0:1 IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024 IP6.ROUTE[2]: dst = 2406:da14:ac9:2100::/64, nh = ::, mt = 100 IP6.ROUTE[3]: dst = ::/0, nh = fe80::809:7dff:fec0:1, mt = 100 IP6.ROUTE[4]: dst = 2406:da14:ac9:2100:8fc0:6d84:a95b:fc9b/128, nh = ::, mt = 100
次号は、接続 (コネクション) に関するサブコマンド、オプションをご紹介します。