Contents
概要
nmcliを使用してIPアドレスを設定します。CentOS8のネットワークインターフェイスにはいくつかのタイプ(主にEthernet、VLAN、Bridge、Bond)がありますが、IPアドレスの設定に関しては基本的に共通です。
前提条件
OS
CentOS Stream 8を使用します。
SELinux
有効です。無効にする場合はこちらを参照して下さい。
Firewalld
無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。
その他
- 本稿ではEthernetインターフェイスを例に記載しています。他のインターフェイスタイプの場合は適宜読み替えて下さい。IPv6に関しては自動構成の無効化(デフォルトは有効)のみを取り上げています。
- nmcliではcon-nameとifnameを省略可能(またはどちらかを)ですが、それらが同じ名前ではどちらに対して設定しているのか分かりづらくなる為、本稿の例ではcon-nameとifnameを明示的に設定しています。また、インストール時に割り当てられたcon-nameも予め変更しています。
設定
ステータス確認
ステータス確認の詳細はこちらを参照して下さい。
device
deviceの状態を確認します。下記の例では各deviceに対応するconnectionが既に存在しています。
[root@centos ~]# nmcli device status DEVICE TYPE STATE CONNECTION ens33 ethernet 接続済み con-ens33 ens34 ethernet 接続済み con-ens34 ens35 ethernet 接続済み con-ens35 lo loopback 管理無し --
connection
connectionの状態を確認します。NetworkManagerではconnectionに対して設定を行います。今回はens34を対象とします。
[root@centos ~]# nmcli connection show NAME UUID TYPE DEVICE con-ens33 0b6ad2b8-4599-4f37-b077-47624d48bf55 ethernet ens33 con-ens34 d69129f7-39d8-493e-9080-a68bd79e9ea9 ethernet ens34 con-ens35 c011fecc-7da1-41af-83e3-15b93f9ceffa ethernet ens35
IPアドレス設定
IPアドレス設定は、主に③IPアドレス設定無し、②DHCP設定、③固定IPアドレス設定の3つです。
①IPアドレス設定無し
インターフェイスにIPアドレスが不要な場合の設定です。その対象は、主にKVM上の仮想マシンに割り当てるBridgeインターフェイス、Bridgeに割り当てる物理/VLANインターフェイス、VLANの物理インターフェイスです。IPv4/IPv6ともにIPアドレスを割り当てません。
[root@centos ~]# nmcli connection modify con-ens34 connection.autoconnect yes ipv4.method disabled ipv6.method ignore
設定値の説明です。
設定項目 | 内容 | 設定例 | 備考 |
---|---|---|---|
connection.autoconnect | OS起動時の動作 | yes | yesはOS起動時に自動で接続 |
ipv4.method | IPv4アドレスの割り当て方法 | disabled | disabledはIPアドレスを割り当てない | ipv6.method | IPv6アドレスの割り当て方法 | ignore | IPv6の自動構成を無視 |
/etc/sysconfig/network-scripts/ifcfg-ens34の状態は下記の通りです。またはnmcli connection show con-ens34で確認します。
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
IPV6INIT=no
NAME=con-ens34
UUID=d69129f7-39d8-493e-9080-a68bd79e9ea9
ONBOOT=yes
AUTOCONNECT_RETRIES=1
DEVICE=ens34
②DHCP設定
IPv4の構成をDHCPで取得します。IPv6は自動構成が無効です。
[root@centos ~]# nmcli connection modify con-ens34 connection.autoconnect yes ipv4.method auto ipv6.method ignore
設定値の説明です。
設定項目 | 内容 | 設定例 | 備考 |
---|---|---|---|
connection.autoconnect | OS起動時の動作 | yes | yesはOS起動時に自動で接続 |
ipv4.method | IPv4アドレスの割り当て方法 | auto | autoはIPv4の構成をDHCPで取得 | ipv6.method | IPv6アドレスの割り当て方法 | ignore | IPv6の自動構成を無視 |
/etc/sysconfig/network-scripts/ifcfg-ens34の状態は下記の通りです。またはnmcli connection show con-ens34で確認します。
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
IPV6INIT=no
NAME=con-ens34
UUID=d69129f7-39d8-493e-9080-a68bd79e9ea9
ONBOOT=yes
AUTOCONNECT_RETRIES=1
DEVICE=ens34
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
③固定IPアドレス設定
IPv4の固定IPアドレスを割り当てています。IPv6は自動構成が無効です。コマンドが長くなる為、3行に分けていますが1行にまとめても問題ありません。
[root@centos ~]# nmcli connection modify con-ens34 connection.autoconnect yes [root@centos ~]# nmcli connection modify con-ens34 ipv4.method manual ipv4.addresses 192.168.23.88/24 ipv4.gateway 192.168.23.2 [root@centos ~]# nmcli connection modify con-ens34 ipv4.dns 192.168.23.2 ipv4.dns-search si1230.com ipv6.method ignore
設定値の説明です。
設定項目 | 内容 | 設定例 | 備考 |
---|---|---|---|
connection.autoconnect | OS起動時の動作 | yes | yesはOS起動時に自動で接続 |
ipv4.method | IPv4アドレスの割り当て方法 | manual | manualは固定IPアドレスを設定 |
ipv4.addresses | IPv4アドレス | 192.168.13.88/24 | |
ipv4.gateway | IPv4アドレスのデフォルトゲートウェイ | 192.168.13.2 | |
ipv4.dns | IPv4アドレスのDNSサーバー | 192.168.13.2 | |
ipv4.dns-search | ホスト名に付与するドメイン名(例:wwwだけを指定した場合はwww.si1230.comとして認識) | si1230.com | |
ipv6.method | IPv6アドレスの割り当て方法 | ignore | IPv6の自動構成を無視 |
/etc/sysconfig/network-scripts/ifcfg-ens34の状態は下記の通りです。またはnmcli connection show con-ens34で確認します。
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
IPV6INIT=no
NAME=con-ens34
UUID=d69129f7-39d8-493e-9080-a68bd79e9ea9
ONBOOT=yes
AUTOCONNECT_RETRIES=1
DEVICE=ens34
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=192.168.23.88
PREFIX=24
GATEWAY=192.168.23.2
DNS1=192.168.23.2
DOMAIN=si1230.com
IPアドレス設定の有効化
下記で反映されます。
[root@centos ~]# nmcli connection up con-ens34