本ページでは、CentOS7標準のNetworkManagerを使用したDevice、Connectionの設定を説明します。

Device

サーバNICのパラメータを管理しているDeviceの基本的な操作方法を説明します。

Deviceの設定確認

Deviceの設定内容を確認するには、nmcli deviceコマンドを使用します。

# nmcli device
デバイス  タイプ    状態      接続
enp0s3    ethernet  接続済み  enp0s3
enp0s8    ethernet  接続済み  enp0s8
lo        loopback  管理無し  --

上記表示例では、denp0s3enp0s8という2つのDeviceが表示されていることがわかります。これが、それぞれサーバの物理NIC(仮想環境の場合は仮想NIC)に対応していて、接続済み(linkUp状態)であることがわかります。また、一番下のloは自ホストからのみ疎通可能なループバックインターフェースを示しています。

また、nmcli device <Device名> showと入力することで、デバイスごとの詳細情報が確認可能です。

# nmcli device show enp0s3
GENERAL.デバイス:                       enp0s3
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           08:00:27:7D:CE:7D
GENERAL.MTU:                            1500
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           enp0s3
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/15
WIRED-PROPERTIES.キャリア:              オン
IP4.アドレス[1]:                        10.0.2.15/24
IP4.ゲートウェイ:                       10.0.2.2
IP4.DNS[1]:                             8.8.8.8
IP6.アドレス[1]:                        fe80::a00:27ff:fe7d:ce7d/64
IP6.ゲートウェイ:

nmcliコマンドは、オプションを一意に特定できる文字まで省略可能なので、省略形も覚えておくと良いでしょう。
たとえば、上記コマンドだとnmcli d sh enp0s3でも実行できます。

Connection

ネットワーク接続の設定を管理しているConnectionの基本的な操作方法を説明します。

Coonectionの設定確認

現在設定されているConnecntion一覧を表示するには、nmcli connectionコマンドを使用します。
以下の表示例では、名前列がConnectionの名前、デバイス列がConnectionに関連付けられているDeviceの名前を示しています。

# nmcli connection
名前    UUID                                  タイプ          デバイス
enp0s3  9f9958d0-725b-4009-bfa5-d5de566ed125  802-3-ethernet  enp0s3
enp0s8  5460adc0-2ca7-481c-8df0-a001b5688ccd  802-3-ethernet  enp0s8

個別のConnectionの詳細なパラメータを確認するときは、nmcli connection show <Connection名>コマンドを使用します。IPアドレスや経路情報、DHCPの設定はこのコマンドで確認できます。表示結果の左側がパラメータ名、右側が設定されている値を示しています。

# nmcli connection show enp0s3
connection.id:                          enp0s3
connection.uuid:                        9f9958d0-725b-4009-bfa5-d5de566ed125
connection.interface-name:              enp0s3
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
~(略)~

Deviceの設定確認と同様に、Connectionに関するコマンドも省略可能です。上記のConnection確認コマンドは、nmcli c sh enp0s3と省略できます。

Connectionのパラメータ設定

Connectionのパラメータ変更は、nmcli connection modify <Connection名> <パラメータ名> <値>コマンドを使用します。なお、このコマンドを使用するには以下の注意点があります。
– パラメータ名や値にスペースや全角文字が入っている場合、Connection名をシングルクオートで囲む必要があります。
– 1行のnmcliコマンドで複数のパラメータを設定できます。(例:nmcli connection modify <Connection名> <パラメータ名1> <値1> <パラメータ名2> <値2> <パラメータ名3> <値3>)

Connection名の変更

CentOSをインストールする環境によっては、Connection名がDevice名と異なる名前になる可能性があります。(例:Wired connection 1)
サーバを運用する際に紛らわしいので、上記のような場合はConnection名を手動で変更します。以下の例は、Wired connection 1というConnection名をenp0s3に変更しています。

# nmcli connection modify 'Wired connection 1' connection.id enp0s3

Connection設定ファイル

Connectionの設定ファイルは、/etc/sysconfi/network-scripts/ifcfg-<Connection名>で保存されます。設定値は、nmcliコマンドで変更を行った瞬間にファイルに書き込まれます。以下は、Connection設定ファイルの表示例です。

# ls -l /etc/sysconfig/network-scripts/ifcfg-*
-rw-r--r--. 1 root root 298  6月 25 19:52 /etc/sysconfig/network-scripts/ifcfg-enp0s3
-rw-r--r--. 1 root root 289  6月 25 17:48 /etc/sysconfig/network-scripts/ifcfg-enp0s8
-rw-r--r--. 1 root root 254  9月 16  2015 /etc/sysconfig/network-scripts/ifcfg-lo

Connection設定の有効化

コネクションのパラメータを変更した後は、nmcli connection reload <Connection名>で設定を有効化します。Connection名を指定しない場合は、全Connectionがリロードされます。
前述の設定ファイルに設定が書き出されただけではパラメータが有効化されないので注意してください。