【CentOS】ネットワーク設定でよく使うnmcliコマンド

はじめに

日頃CentOS(RHEL系)サーバを構築する際、毎回nmcliを使用したネットワーク設定の方法を忘れてしまうので、よく使う運用手順についてメモしておきます。

nmtuiを使用したグラフィカル画面でネットワーク設定を行うほうが簡単ではありますが、後から手順書やスクリプトに落とし込むことを考えると、積極的にnmcliを使っていきたいものです。

(注意)下記例のens192, ens224はNICの名前です。使用しているシステム環境によって異なります。

インターフェース設定一覧表示

インターフェース設定(コネクション)の一覧を表示します。

# nmcli con
NAME    UUID                                  TYPE      DEVICE
ens192  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  ens192
ens224  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  ens224

個別インターフェースのパラメータ一覧表示

個別のインターフェースについてパラメータを一覧で表示します。

# nmcli con show ens192
connection.id:                          ens192
connection.uuid:                        xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection.stable-id:                   --
connection.type:                        802-3-ethernet
(略)

インターフェースの接続/切断

インターフェースの接続、切断を行います。

### インターフェース接続
# nmcli con up ens192
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/4)

### インターフェース切断
# nmcli con down ens192
接続 'ens224' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)

設定変更時の反映

設定を変更した場合は、下記コマンドで反映させます。

# nmcli con reload
# nmcli con down ens192 && nmcli con up ens192

インターフェースの自動接続設定

初期状態では、OSを再起動するたびにインターフェースを手動で接続しないといけません。
下記設定を行うことで、OS先同時に自動的にインターフェースが接続されます。

# nmcli con mod ens192 connection.autoconnect yes

IPアドレスの設定

IPアドレスを固定する場合は、下記設定を行います。

# nmcli con mod ens192 ipv4.method manual
# nmcli con mod ens192 ipv4.addresses 192.168.1.1/24

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

外部ネットワークへのゲートウェイと通信するインターフェースに対して、デフォルトゲートウェイを設定します。
なお、デフォルトゲートウェイを設定しないインターフェースには、ipv4.never-defaultyesに設定し、デフォルトゲートウェイ向け経路でないことを明示します。
同パラメータの標準値はnoなので、デフォルトゲートウェイを設定するインターフェースは設定をいじりません。

### デフォルトゲートウェイを設定するインターフェースに実施
# nmcli con mod ens192 ipv4.gateway  192.168.1.254/24

### 上記以外のインターフェースに実施
# nmcli con mod ens224 ipv4.never-default yes

名前解決先DNSサーバの追加/削除

名前解決の要件がある場合は、DNSサーバを指定します。
パラメータ名の手前に+記号を付けることで、複数の値を追加できます。
逆に、パラメータ名の手前に-記号を付けることで、複数保持している値から、指定の値のみ削除できます。

### DNSサーバの追加
# nmcli conn mod ens192 +ipv4.dns 8.8.8.8
# nmcli conn mod ens192 +ipv4.dns 8.8.8.9

### DNSサーバの削除
# nmcli conn mod ens192 -ipv4.dns 8.8.8.8
# nmcli conn mod ens192 -ipv4.dns 8.8.8.9

スタティックルートの追加/削除

スタティックルートの追加と削除は下記コマンドで行います。
パラメータの値は、宛先ネットワークアドレスとネクストホップアドレスをセットにする必要があるので、"記号で囲んで記載します。

### スタティックルートの追加
# nmcli conn mod ens192 +ipv4.routes "192.168.0.0/24 10.10.10.10"

### スタティックルートの削除
# nmcli conn mod ens192 -ipv4.routes "192.168.0.0/24 10.10.10.10"

IPv6設定の無効化

IPv6を使用しない環境の場合、不要な通信を行わないように設定を無効化します。
ipv4.may-failnoに指定することで、IPv4の設定が失敗した時点でIPv6設定を試さずにインターフェースは接続失敗状態になります。そのため、失敗判定が素早く行えます。

# nmcli con mod ens192 ipv6.method ignore
# nmcli con mod ens192 ipv4.may-fail no

コメントを残す

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