LinuxOSでネットワークインターフェースの設定を変更するには「nmcli」コマンドを使用します。
「nmcli」コマンドの使い方(Linux)
「nmcli」コマンドでは以下のコマンドを実行することで、「ens192」と言うデバイスが表示されます。
[root@centos8 /]# nmcli connection show NAME UUID TYPE DEVICE ens192 cc1cb0e1-8841-4988-ad7c-53e5ac83eb86 ethernet ens192
このように「nmcli」コマンドはネットワークインターフェースのデバイス情報を表示することができます。
「nmcli」コマンドのインストール
nmcliコマンドが入っていない場合は以下のコマンドでパッケージを事前に「NetworkManager」をインストールしておきます。
インストールには「dnf」、もしくは「yum」コマンドを実行します。
[root@centos8 /]# dnf -y install NetworkManager
or
[root@centos8 /]# yum -y install NetworkManager
上記で「NetworkManager」をインストールするだけでは「nmcli」コマンドは以下のように使用できません。
[root@centos8 /]# nmcli con show Error: NetworkManager is not running.
「NetworkManager」サービスを起動し、「nmcli」コマンドを使えるようにする
使用するには「NetworkManager」のサービスを起動することが必要となります。
「NetworkManager」パッケージインストール時の状態は以下のようにステータスが「inactive (dead)」となっています。
[root@centos8 /]# systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:NetworkManager(8)
「NetworkManager」サービスを以下コマンドで起動します。
「enable」コマンドは再起動後も継続してサービスが使用できるようにするコマンドとなります。
[root@centos8 /]# systemctl start NetworkManager [root@centos8 /]# systemctl enable NetworkManager
上記、サービス起動後、ステータスが「active (running) 」となっていることが確認できます。
[root@centos8 /]# systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-05-23 04:50:56 UTC; 20s ago Docs: man:NetworkManager(8) Main PID: 359 (NetworkManager) Tasks: 3 (limit: 11814) Memory: 3.1M CGroup: /docker/a9e43d10ac214244de636ca2508bbd7707b6bd17628a449078b5552b79ee9ad9/system.slice/NetworkManager.service └─359 /usr/sbin/NetworkManager --no-daemon
全てのネットワークインターフェースの状態確認
「nmcli dev status」コマンドでは現状のすべてのネットワークインターフェースの状態が確認できます。
[root@centos8 ~]# nmcli dev status DEVICE TYPE STATE CONNECTION ens192 ethernet 接続済み ens192 docker0 bridge 接続済み (外部) docker0 veth456b2ad ethernet 管理無し -- lo loopback 管理無し --
ネットワーク接続(接続)の状態確認
「nmcli connection show」コマンドは現状の接続済みのネットワークインターフェースの状態を確認することができます。
[root@centos8 ~]# nmcli connection show NAME UUID TYPE DEVICE ens192 cc1cb0e1-8841-4988-ad7c-53e5ac83eb86 ethernet ens192 docker0 7dfd6ab1-4da6-4441-b4a7-149f006f5cb6 bridge docker0
また、対象のネットワークデバイスの詳細情報を表示するには以下のコマンドを実行します。
※「ens192」デバイスの詳細情報の表示例
[root@centos8 ~]# nmcli connection show ens192 connection.id: ens192 connection.uuid: cc1cb0e1-8841-4988-ad7c-53e5ac83eb86 ------中略------ ipv4.dns: 10.0.0.5 ipv4.dns-search: -- ------中略------ ipv4.addresses: 192.168.1.5/22 ipv4.gateway: 192.168.1.253
IPアドレス割り当て設定
IPアドレスを固定で割り当てたい場合ば以下の手順となります。
また、DHCPで自動でIPアドレスを割り当てられている場合は以下のように詳細情報で「ipv4.method」が「auto」となっています。
ipv4.method: manual
固定で、IPアドレスを割り当てる場合は以下の手順でデバイスを停止し、変更を行います。
対象のネットワークデバイスを停止
[root@centos8 ~]# nmcli connection down ens192 接続 'ens192' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3)
固定IPアドレスを設定
[root@centos8 ~]# nmcli connection modify ens192 ipv4.method manual ipv4.addresses 192.168.1.2/24
デフォルトゲートウェイ変更
[root@centos8 ~]# nmcli connection modify ens192 ipv4.gateway 192.168.1.254
DNSルータ変更
[root@centos8 ~]# nmcli connection modify ens192 ipv4.dns 10.0.0.1
対象のネットワークデバイスを起動
[root@centos8 ~]# nmcli connection up ens192 接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3)
設定変更は以上となります。
再度「nmcli connection show ens192」コマンドで設定が変更されていることを確認します。
「nmcli」コマンドオプション
「nmcli」コマンドのオプションは以下の通りとなります。
[root@centos8 ~]# nmcli --help 使い方: nmcli [OPTIONS] OBJECT { COMMAND | help } OPTIONS -a, --ask ask for missing parameters -c, --colors auto|yes|no whether to use colors in output -e, --escape yes|no escape columns separators in values -f, --fields <field,...>|all|common specify fields to output -g, --get-values <field,...>|all|common shortcut for -m tabular -t -f -h, --help print this help -m, --mode tabular|multiline output mode -o, --overview overview mode -p, --pretty pretty output -s, --show-secrets allow displaying passwords -t, --terse terse output -v, --version show program version -w, --wait <seconds> set timeout waiting for finishing operations OBJECT g[eneral] NetworkManager's general status and operations n[etworking] overall networking control r[adio] NetworkManager radio switches c[onnection] NetworkManager's connections d[evice] devices managed by NetworkManager a[gent] NetworkManager secret agent or polkit agent m[onitor] monitor NetworkManager changes
「nmcli」コマンドの使い方は以上となります。
エンジニアのオンライン学習
エンジニアにおすすめのオンライン教材比較 | |
ITエンジニアが自宅で学習ができるオンラインスクール比較 | |