CentOS8に入門してみる(nmcli)
今回もネットワークについての学習です
CentOS8と銘打っておきながら暫くは基礎的なLinuxなどの学習になりそうです
今回はNetworkManagerで実際にネットワークインターフェースに対してIPアドレスを設定したりすることをしていきたいと思います
nmcliコマンド
nmcliはNetworkManagerをCLIで操作することが可能なコマンドとなっています
参照するだけであれば管理者権限は必要ありません
まずはステータス確認を行うコマンドを見ていきます
[vagrant@centuser ~]$ nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
[vagrant@centuser ~]$ nmcli g status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
[vagrant@centuser ~]$ nmcli g
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
上記三つは省略表記か否かであり、内容に差はありません
generalはステータス確認や操作一般を行うためのオプションです
次にデバイスの確認を行います
[vagrant@centuser ~]$ nmcli device
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected System eth0
lo loopback unmanaged --
[vagrant@centuser ~]$ nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected System eth0
lo loopback unmanaged --
[vagrant@centuser ~]$ nmcli d show
GENERAL.DEVICE: eth0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:62:08:41
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: System eth0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 10.0.2.15/24
IP4.GATEWAY: 10.0.2.2
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 10.0.2.2, mt = 100
IP4.ROUTE[2]: dst = 10.0.2.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 10.0.2.3
IP6.GATEWAY: --
GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: --
IP6.GATEWAY: --
上記二つは省略表記か否かであり、内容に差はありません
三つ目はデバイスの詳細を表示しています
次に接続に関するオプションを使用していきます
[vagrant@centuser ~]$ nmcli connection
NAME UUID TYPE DEVICE
Wired connection 1 e9a82b12-e320-3933-aec5-e3677e928743 ethernet eth0
[vagrant@centuser ~]$ nmcli c
NAME UUID TYPE DEVICE
Wired connection 1 e9a82b12-e320-3933-aec5-e3677e928743 ethernet eth0
上記二つは省略表記か否かであり、内容に差はありません
nmcliでのネットワークの追加・設定方法
まずは追加方法としては、以下のコマンドで追加できます
sudo nmcli c add type ethernet con-name XXXXX ifname YYYYY ip4 192.168.56.101/24 gw4 192.168.56.254
コマンドを読んで何をしているのかほぼほぼわかりますが、「YYYYY」というネットワークデバイスがあったとして、そこに
・ethernetタイプの接続を追加
・接続名に「XXXXX」を設定
・IPアドレス「192.168.56.101/24」を設定
・デフォルトゲートウェイに「192.168.56.254」を設定
という上の項目内容が設定された接続を追加しています
次にデフォルトゲートウェイの設定を見ていきます
sudo nmcli c modify YYYYY ipv4.gateway 192.168.56.1
上記は「YYYYY」というネットワークインターフェースのデフォルトゲートウェイに「192.168.56.1」を設定するという意味のコマンドです
※デフォルトゲートウェイ
デフォルトゲートウェイは通常ルーターがその役割を担います
例えば192.168.0.1/24の範囲は192.168.0.0 ~ 192.168.0.255ですが、この範囲内=同一サブネットのIPアドレス同士であれば直接通信を行うことができます(厳密にいうとサブネットの最初のIPアドレス=192.168.0.0はネットワークアドレスなので利用不可。サブネットの最後のIPアドレス=192.168.0.255はブロードキャストアドレスなので端末の割り当ては不可だが受信は可)
直接通信なのでデフォルトゲートウェイのルーティングも発生しません
同一サブネットでは無い宛先IPへ通信を試みる場合は、デフォルトゲートウェイにルーティングしてもらう必要があります
同一サブネットでは無い宛先IPとの直接通信ができないということは、デフォルトゲートウェイも同一サブネットにいる必要があります
次はDNSアドレスの設定を見ていきます
sudo nmcli c modify YYYYY ipv4.dns 10.0.0.1
これは「YYYY」というネットワークインタフェースのデフォルトDNSサーバーのIPアドレスとして「10.0.0.1」を設定するという意味のコマンドです
※DNSサーバー
「www.google.com」などの文字列をIPアドレスに変換する名前解決をしてくれるサーバーのことです
最後に
nmcliはネットワークの状態確認や追加や変更など様々な機能があることがわかりました
同じような機能でnmtuiというものがあり、よりグラフィカルにネットワークの設定ができるようになるらしいです
次回はnmtuiを学習したいと思います