本ページでは、CentOS7標準のNetworkManagerを使用したDevice、Connectionの設定を説明します。
Device
サーバNICのパラメータを管理しているDevice
の基本的な操作方法を説明します。
Deviceの設定確認
Device
の設定内容を確認するには、nmcli device
コマンドを使用します。
# nmcli device
デバイス タイプ 状態 接続
enp0s3 ethernet 接続済み enp0s3
enp0s8 ethernet 接続済み enp0s8
lo loopback 管理無し --
上記表示例では、denp0s3
とenp0s8
という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がリロードされます。
前述の設定ファイルに設定が書き出されただけではパラメータが有効化されないので注意してください。