RHEL 7やCentOS 7以降では、NetworkManagerによるNIC設定が推奨されている。NetworkManagerではテキストベースではあるがGUI風に設定ができるnmtui
コマンドと、完全にコマンドベースで設定するためのnmcli
コマンドの2種類が用意されている。
通常はnmtui
コマンドを使えば、必要な設定は問題なく実施できるのだが、今回は勉強のために、あえてnmcli
コマンドを使ってNIC設定をおこなってみた。
本記事ではnmcli
コマンドに対して調べた結果を記載する。
環境
- OS : CentOS 8
- NIC : ens224のデバイスに対して
nmcli
コマンドにて設定を実施
nmcli
コマンドの使用方法
NICのデバイス確認
NICのデバイスを確認するコマンドは以下の通り。
# nmcli d s
DEVICE TYPE STATE CONNECTION
ens192 ethernet 接続済み ens192
ens224 ethernet 接続済み 有線接続 1
ens256 ethernet 接続済み 有線接続 2
lo loopback 管理無し --
簡易表示をする場合は以下コマンドとなる。
# nmcli -t d
ens192:ethernet:connected:ens192
ens224:ethernet:connected:有線接続 1
ens256:ethernet:connected:有線接続 2
lo:loopback:unmanaged:
NIC設定 (Connection) の確認
NIC設定 (Connectionと呼ばれる) を確認するコマンドは以下の通り。
# nmcli c s
NAME UUID TYPE DEVICE
ens192 d218a6ca-5466-43af-a7a1-30a61fd832bb ethernet ens192
有線接続 1 52a1f691-0784-3b34-a0c3-5bf9dc8d798e ethernet ens224
有線接続 2 2d2d5b96-bf3a-3360-8b3e-b0d3dbdea206 ethernet ens256
簡易表示をする場合は以下コマンドとなる。
# nmcli -t c
ens192:d218a6ca-5466-43af-a7a1-30a61fd832bb:802-3-ethernet:ens192
有線接続 1:52a1f691-0784-3b34-a0c3-5bf9dc8d798e:802-3-ethernet:ens224
有線接続 2:2d2d5b96-bf3a-3360-8b3e-b0d3dbdea206:802-3-ethernet:ens256
特定のNICに設定されているパラメータを一覧表示させる場合は、Connection名を指定する。
# nmcli c s ens224
connection.id: ens224
connection.uuid: a1089320-d4d8-4746-a3cd-fc0bd982e643
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: ens224
connection.autoconnect: いいえ
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1596897283
connection.read-only: いいえ
connection.permissions: user:root
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: 不明
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
connection.wait-device-timeout: -1
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: いいえ
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist: --
802-3-ethernet.mtu: 自動
802-3-ethernet.s390-subchannels: --
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options: --
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: --
ipv4.method: auto
ipv4.dns: 192.168.11.61
ipv4.dns-search: intrat.local
ipv4.dns-options: --
ipv4.dns-priority: 0
ipv4.addresses: 192.168.11.192/24
ipv4.gateway: 192.168.11.31
ipv4.routes: { ip = 192.168.11.0/24, nh = 192.168.11>
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: --
ipv4.ignore-auto-routes: いいえ
ipv4.ignore-auto-dns: いいえ
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: はい
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: いいえ
ipv4.may-fail: はい
ipv4.dad-timeout: -1 (default)
~(以下略)~
NIC設定を削除
NIC設定を削除するコマンドは以下の通り。OSがデフォルトで設定する名前が気に入らない場合や、一度設定をクリアして一から設定しなおしたい時などに利用する。
# nmcli c del "有線接続 1"
接続 '有線接続 1' (52a1f691-0784-3b34-a0c3-5bf9dc8d798e) が正常に削除されました 。
NIC設定を追加
NIC設定を新規追加するコマンドは以下の通り。
# nmcli c add type ethernet con-name ens224 ifname ens224
接続 'ens224' (d414ca42-62e5-4753-a04e-4df3088f347f) が正常に追加されました。
NIC設定にIPアドレス等の設定を追加
追加してNIC設定に詳細なパラメータを設定するコマンドは以下の通り。nmtui
コマンドで設定できる項目については、以下表に記載の通りとなる。設定不要な項目は省略できる。
パラメータ | 設定例 | 説明 |
---|---|---|
ipv4.method | manual | IPv4アドレス設定を選択。自動 (auto) または手動 (manual) で設定。 |
ipv4.addresses | 192.168.11.192/24 | IPアドレスを設定。 |
ipv4.gateway | 192.168.11.31 | デフォルトゲートウェイを設定。 |
ipv4.dns | 192.168.11.61 | DNSサーバを設定。 |
ipv4.dns-search | intrat.local | 「検索ドメイン」の設定。 |
ipv4.routes | “192.168.33.0/24 192.168.11.31” | スタティックルートの設定。「<ネットワークアドレス/プレフィックス> <ゲートウェイ>」で設定する。 |
ipv4.never-default | no | 「このネットワークはデフォルトのルートには使用しない」の設定。デフォルト「no」。 |
ipv4.ignore-auto-routes | no | 「自動的に取得されたルートを無視」の設定。デフォルト「no」。 |
ipv4.ignore-auto-dns | no | 「自動的に取得された DNS パラメーターを無視」の設定。デフォルト「no」。 |
ipv4.may-fail | yes | 「この接続には IPv4 アドレス設定が必要になります」の設定。デフォルト「yes」。 |
ipv6.method | ignore | IPv6アドレスの設定を選択。特にIPv6通信が不要であれば無視 (ignore) で設定。 |
autoconnect | yes | 「自動的に接続する」の設定。デフォルト「yes」。 |
connection.permissions | “” | 「全ユーザーに使用可能」の設定。デフォルト「""」。nmtui でチェックを外した場合は「user:root」となる。 |
以下コマンド実行例となる。
# nmcli c mod ens224 ipv4.method manual ipv4.addresses 192.168.11.192/24 ipv4.gateway 192.168.11.31 ipv4.dns 192.168.11.61 ipv6.method ignore autoconnect yes ipv4.dns-search intrat.local ipv4.routes "192.168.33.0/24 192.168.11.31"
複数のスタティックルートを設定
スタティックルートを複数設定したい場合は+ipv4.routes
のように頭に+を付けて設定を行う。なお、削除する場合は-ipv4.routes
のようになる。
# nmcli c mod ens224 +ipv4.routes "192.168.11.0/24 192.168.11.31" +ipv4.routes "192.168.22.0/24 192.168.11.31"
設定反映 (アクティベート)
設定反映はアクティベートと呼ばれる作業が必要だが、これは以下コマンドを実行すればよい。インタフェースがUp状態でも本コマンドでアクティベートされる。
# nmcli c up ens224
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/15)
0 件のコメント:
コメントを投稿