第2章 IP ネットワークの設定
2.1. 静的および動的インターフェースの設定
2.1.1. 静的ネットワークインタフェース設定を使用する場合
IP アドレス指定は、DHCP のような自動割り当て方式が失敗した場合にネットワークを確実に利用可能とするサーバーやデバイスに使用します。DHCP、DNS、および認証サーバーが典型的な例になります。帯域外管理デバイスは他のネットワークインフラストラクチャーにできるだけ依存せずに機能することが求められているので、これらのインターフェースも静的設定にする価値があります。
IP アドレス指定が望ましいものには、可能な場合、自動プロビジョニング方式を使用します。たとえば、DHCP サーバーは、毎回同じホストへ同じ IP アドレスを提供するように設定できます。この方法は、共有プリンターなどに使用できます。
IP アドレスを割り当てることができます。nmcli ツールも、スクリプト化されたネットワーク設定割り当てに使用することができます。
2.1.2. 動的ネットワークインタフェース設定を使用する場合
IP アドレスおよび他のネットワーク情報を動的に割り当てる理由が特になければ、動的割り当て有効にして使用してください。手動設定のプラニングと文書化にかかる時間は、他の作業に当てることができます。dynamic host control protocol (DHCP) は、ネットワーク設定をホストに動的に割り当てる従来の方式です。詳細情報は、「DHCP を使用する理由」を参照してください。
BOOTPROTO が dhcp に設定され、アドレスを自動的に取得するようにプロファイルが設定されていると、NetworkManager は DHCP クライアントの dhclient を呼び出します。DHCP が必要な場合は、インターフェース上で、すべてのインターネットプロトコル (IPv4 および IPv6) に dhclient のインスタンスが開始されます。NetworkManager が実行中ではない場合、もしくはこれがインターフェースを管理していない場合は、必要に応じてレガシーのネットワークサービスが dhclient のインスタンスを呼び出します。
2.1.3. ネットワーク設定方法の選択
- NetworkManager のテキストユーザーインターフェースツールである nmtui を使ってインターフェースを設定するには、「テキスト形式のユーザーインターフェース (nmtui) の使用」に進みます。
- NetworkManager のコマンドラインツールである nmcli を使ってインターフェースを設定するには、「NetworkManager コマンドラインツール (
nmcli) の使用」に進みます。 - 手動でネットワークインターフェースを設定するには、「ネットワーク設定ファイルの編集」を参照してください。
- グラフィカルユーザーインターフェースツールを使ってネットワークを設定するには、「GNOME グラフィカルユーザーインターフェースによる NetworkManager の使用」に進みます。
2.1.4. テキスト形式のユーザーインターフェース (nmtui) の使用
~]$ nmtui
テキスト形式のインターフェースが表示されます。無効なコマンドの場合は、使用法に関するメッセージがプリントされます。

図2.1 NetworkManager のテキスト形式ユーザーインターフェースの開始メニュー
接続をアクティベートするメニューエントリーを選択します。
図2.2 接続のアクティブ化
- 修正した接続を選択します。右側で
解除ボタンをクリックします。
図2.3 修正した接続の非アクティブ化
- もう一度接続を選択し、
アクティベートボタンをクリックします。
図2.4 修正した接続の再アクティブ化
2.1.5. NetworkManager コマンドラインツール (nmcli) の使用
- サーバー、ヘッドレスのマシン、およびターミナルについては、GUI を介さずに直接 nmcli を使って NetworkManager を制御し、ネットワーク接続を作成、編集、開始、および停止したり、ネットワークの状態を把握したりすることができます。
- スクリプトに関しては、nmcli はスクリプト処理に適した簡素出力フォーマットをサポートします。この場合、ネットワーク接続を手動で管理するのではなく、ネットワーク設定の整合性を維持するために用いられます。
nmcliここで OBJECT は、以下のオプションのいずれかです。OPTIONSOBJECT {COMMAND| help }
general、networking、radio、connection、device、agent、および monitor。コマンド内では、これらのオプションを自由に短縮することができます。例: nmcli con help
- -t (terse)
- このモードは、コンピューター (スクリプト) 処理に適するように作られています。
- -p (pretty)
- このモードでは、nmcli により人間が理解可能な出力が生成されます。ヘッダーが表示され、値がそこに並べられます。
- -h (help)
- ヘルプ情報が表示されます。
nmcli help- このコマンドでは、その後のコマンドで使用される利用可能なオプションおよびオブジェクト名のリストが表示されます。
nmcli object help- このコマンドでは、指定したオブジェクトに関する利用可能なアクションのリストが表示されます。以下に例を示します。
nmcli c help
さまざまな nmcli コマンドの例 (簡単な説明)
nmcli general status
nmcli general logging
nmcli connection show
--active (または -a) オプションを追加します。
nmcli connection show --active
nmcli device status
nmcli を使用したインターフェースの開始および停止
nmcli con up id bond0 nmcli con up id port0 nmcli dev disconnect bond0 nmcli dev disconnect ens3
注記
nmcli connection down コマンドでは、デバイスからの接続は非アクティブ化されますが、その後デバイスが接続を自動的にアクティブ化することは禁じません。nmcli device disconnect コマンドでは、デバイスが切断され、手動の操作がない限りその後デバイスが接続を自動的にアクティブ化することはありません。
nmcli インタラクティブ接続エディター
~]$ nmcli con edit
表示されたリストから有効な接続の種類を入力するよう求められます。接続の種類を入力すると、nmcli プロンプトが表示されます。接続の種類に精通している場合は、有効な接続の type オプションを nmcli con edit コマンドに追加して、直接 nmcli プロンプト表示とすることができます。既存の接続プロファイルを編集する場合は、以下のような形式になります。nmcli con edit [id | uuid | path] ID新規接続プロファイルの編集には、以下の形式を使用します。
nmcli con edit [type new-connection-type] [con-name new-connection-name]
help と入力します。設定およびプロパティーの説明を確認するには、describe コマンドを使用します。describe setting.property例を示します。
nmcli> describe team.config
接続プロファイルの作成および修正
nmcli c add {ARGUMENTS}nmcli c add では、以下に示す異なる 2 つのタイプのパラメーターが使用可能です。
- プロパティー名
- 接続を内部的に記述するために NetworkManager が使用する名前。最も重要なものを以下に示します。
- connection.type
nmcli c add connection.type
bond - connection.interface-name
nmcli c add connection.interface-name
eth0 - connection.id
nmcli c add connection.id
"My Connection"属性およびその設定に関する詳細は、nm-settings(5)man ページを参照してください。
- エイリアス名
- 内部的にプロパティーに翻訳された、人間が理解可能な名前。最も一般的なものを以下に示します。
- type (connection.type プロパティー)
nmcli c add type
bond - ifname (connection.interface-name プロパティー)
nmcli c add ifname
eth0 - con-name (connection.id プロパティー)
nmcli c add con-name
"My Connection"
nmcli では、接続を作成するのに エイリアス名 を使用する必要がありました。たとえば、ifname eth0 および con-name My Connection。以下の形式のコマンドが使用されました。nmcli c add type ethernet ifname eth0 con-name "My Connection"
プロパティー名 と エイリアス名 の両方を、区別なく使用することができます。以下の例は、すべて有効で同じ結果が得られます。nmcli c add type ethernet ifname eth0 con-name "My Connection" ethernet.mtu 1600
nmcli c add connection.type ethernet ifname eth0 con-name "My Connection" ethernet.mtu 1600
nmcli c add connection.type ethernet connection.interface-name eth0 connection.id "My Connection" ethernet.mtu 1600
type 引数だけは、すべての接続の種類で必須です。また、ifname は bond、team、bridge、および vlan を除くすべての種類で必須です。
- type (type_name)
- 接続の種類です。例:
nmcli c add type
bond - ifname (interface_name)
- 接続のバインド先となるインターフェースです。例:
nmcli c add ifname interface_name type ethernet
nmcli c modify
connection.id を My Connection から My favorite connection に、connection.interface-name を eth1 に変更するには、以下のようにコマンドを実行します。nmcli c modify "My Connection" connection.id "My favorite connection" connection.interface-name eth1
注記
プロパティー名 が使用されます。エイリアス名 は、互換性の理由からしか使用されません。
nmcli c modify "My favorite connection" ethernet.mtu 1600
nmcli con up con-name
以下に例を示します。
nmcli con up My-favorite-connection
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16)
2.1.6. nmcli オプションについて
connection.type- 接続の種類です。設定可能な値は、adsl、bond、bond-slave、bridge、bridge-slave、bluetooth、cdma、ethernet、gsm、infiniband、olpc-mesh、team、team-slave、vlan、wifi、wimax です。それぞれの接続の種類には、種類に固有のコマンドオプションがあります。『nmcli(1)』 man ページの
TYPE_SPECIFIC_OPTIONSリストを参照してください。以下に例を示します。gsm接続の場合は、apnでアクセスポイント名を指定する必要があります。nmcli c add connection.type gsm apn access_point_name
wifiデバイスの場合は、ssidでサービスセットの識別子を指定する必要があります。nmcli c add connection.type wifi ssid My identifier
connection.interface-name- 接続に関連するデバイス名です。
nmcli con add connection.interface-name eth0 type ethernet
connection.id- 接続プロファイルに使用される名前です。接続名を指定しないと、以下のように生成されます。
connection.type -connection.interface-name
connection.idは 接続プロファイル の名前で、デバイスを表すインターフェース名 (wlan0、ens3、em1など) と混同しないようにしてください。なお、ユーザーはインターフェースにちなんで接続に名前を付けることができますが、これらは別のものです。1 つのデバイスに複数の接続プロファイルを利用することができます。これはモバイルデバイスの場合や異なるデバイス間でネットワークケーブルを切り替える場合に非常に便利です。設定を編集するのではなく異なるプロファイルを作成し、必要に応じてそれらをインターフェースに適用します。idオプションも接続プロファイル名を参照します。
show、up、down 等の nmcli コマンドで最も重要なオプションを以下に示します。
id- ユーザーが接続プロファイルに割り当てる識別用文字列です。nmcli connection コマンド内で Id を 使用して、接続を特定することができます。コマンド出力の NAME フィールドには、必ず 接続 ID が表示されます。con-name が参照するのと同じ接続プロファイル名が参照されます。
uuid- システムが接続プロファイルに割り当てる一意の識別用文字列です。
nmcli connectionコマンド内でuuidを使用して、接続を特定することができます。
2.1.7. nmcli を使用したネットワーク接続
~]$ nmcli con show
NAME UUID TYPE DEVICE
Auto Ethernet 9b7f2511-5432-40ae-b091-af2457dfd988 802-3-ethernet --
ens3 fb157a65-ad32-47ed-858c-102a48e064a2 802-3-ethernet ens3
MyWiFi 91451385-4eb8-4080-8b82-720aab8328dd 802-11-wireless wlan0
出力の NAME フィールドは常に接続 ID (名前) を表す事に留意してください。これはインターフェース名と同じように見えますが、異なるものです。上記の 2 つ目の接続では、NAME フィールドである ens3 は、ユーザーがプロファイルに割り当て、インターフェース ens3 に適用される接続 ID です。最後の接続では、ユーザーは接続 ID MyWiFi をインターフェース wlan0 に割り当てています。
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet disconnected --
ens9 ethernet disconnected --
lo loopback unmanaged --
$ nmcli device set ifname managed no
たとえば、eth2 を unmanaged に設定するには、以下のコマンドを実行します。
$ nmcli device status
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond0
virbr0 bridge connected virbr0
eth1 ethernet connected bond-slave-eth1
eth2 ethernet connected bond-slave-eth2
eth0 ethernet unmanaged --
$ nmcli device set eth2 managed no $ nmcli device status
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond0
virbr0 bridge connected virbr0
eth1 ethernet connected bond-slave-eth1
eth2 ethernet unmanaged --
eth0 ethernet unmanaged --注記
動的イーサネット接続を追加する
IP 設定のイーサネット設定プロファイルを追加して、DHCP がそのネットワーク設定を割り当てられるようにするには、以下の形式のコマンドを使用します。nmcli connection add type ethernet con-name connection-name ifname interface-name
~]$ nmcli con add type ethernet con-name my-office ifname ens3
Connection 'my-office' (fb157a65-ad32-47ed-858c-102a48e064a2) successfully added.
NetworkManager が内部パラメーター connection.autoconnect を yes に設定します。また NetworkManager は設定を /etc/sysconfig/network-scripts/ifcfg-my-office にも書き出します。ここでは、ONBOOT ディレクティブが yes に設定されます。
~]$ nmcli con up my-office
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
デバイスおよび接続のステータスを確認します。
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet connected my-office
ens9 ethernet disconnected --
lo loopback unmanaged --
DHCP サーバーに送信するホスト名を変更するには、以下のように dhcp-hostname プロパティーを編集します。
~]$ nmcli con modify my-office my-office ipv4.dhcp-hostname host-name ipv6.dhcp-hostname host-name
DHCP に送信する IPv4 クライアント ID を変更するには、以下のように dhcp-client-id プロパティーを編集します。
~]$ nmcli con modify my-office my-office ipv4.dhcp-client-id client-ID-string
IPv6 には dhcp-client-id プロパティーがなく、dhclient が IPv6 に識別子を作成します。詳細は、dhclient(8) man ページを参照してください。
DHCP サーバーがホストに送信する DNS サーバーを無視するようにするには、以下のように ignore-auto-dns プロパティーを編集します。
~]$ nmcli con modify my-office my-office ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes
nm-settings(5) man ページを参照してください。
例2.1 インタラクティブエディターを使用して動的イーサネット接続を設定する
~]$ nmcli con edit type ethernet con-name ens3
===| nmcli interactive connection editor |===
Adding a new '802-3-ethernet' connection
Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> describe ipv4.method
=== [method] ===
[NM property description]
IPv4 configuration method. If 'auto' is specified then the appropriate automatic method (DHCP, PPP, etc) is used for the interface and most other properties can be left unset. If 'link-local' is specified, then a link-local address in the 169.254/16 range will be assigned to the interface. If 'manual' is specified, static IP addressing is used and at least one IP address must be given in the 'addresses' property. If 'shared' is specified (indicating that this connection will provide network access to other computers) then the interface is assigned an address in the 10.42.x.1/24 range and a DHCP and forwarding DNS server are started, and the interface is NAT-ed to the current default network connection. 'disabled' means IPv4 will not be used on this connection. This property must be set.
nmcli> set ipv4.method auto
nmcli> save
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? [yes] yes
Connection 'ens3' (090b61f7-540f-4dd6-bf1f-a905831fc287) successfully saved.
nmcli> quit
~]$
デフォルトの動作では、接続プロファイルが永続的に保存されます。必要な場合は save temporary コマンドで、プロファイルを次回の再起動時までメモリーにだけ保持することもできます。
静的イーサネット接続を追加する
IPv4 設定のイーサネット接続を追加するには、以下の形式のコマンドを使用します。nmcli connection add type ethernet con-name connection-name ifname interface-name ip4 address gw4 address
ip6 および gw6 のオプションを使用して IPv6 アドレスとゲートウェイ情報を追加することもできます。
IPv4 アドレスおよびゲートウェイのみの静的イーサネット接続を作成するコマンドは、以下のようになります。
~]$オプションで、デバイスに同時にnmcli con add type ethernet con-name test-lab ifname ens9 ip4 10.10.10.10/24 \gw4 10.10.10.254
IPv6 アドレスとゲートウェイを指定する場合は、以下のようになります。
~]$NetworkManager が内部パラメーターnmcli con add type ethernet con-name test-lab ifname ens9 ip4 10.10.10.10/24 \gw4 10.10.10.254 ip6 abbe::cafe gw6 2001:db8::1Connection 'test-lab' (05abfd5e-324e-4461-844e-8501ba704773) successfully added.
ipv4.method を manual に、connection.autoconnect を yes に設定します。また NetworkManager は設定を /etc/sysconfig/network-scripts/ifcfg-my-office にも書き出します。ここでは、対応する BOOTPROTO が none に、ONBOOT が yes に設定されます。
IPv4 DNS サーバーアドレスを設定するには、以下のコマンドを実行します。
~]$ nmcli con mod test-lab ipv4.dns "8.8.8.8 8.8.4.4"
このコマンドにより、以前に設定された DNS サーバーが置換されることに注意してください。2 つの IPv6 DNS サーバーアドレスを設定するには、以下のコマンドを実行します。
~]$ nmcli con mod test-lab ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
このコマンドにより、以前に設定された DNS サーバーが置換されることに注意してください。別の方法では、以下のように + 接頭辞を使って、新たな DNS サーバーを以前のセットに追加します。
~]$ nmcli con mod test-lab +ipv4.dns "8.8.8.8 8.8.4.4"
~]$ nmcli con mod test-lab +ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
~]$ nmcli con up test-lab ifname ens9
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
デバイスおよび接続のステータスを確認します。
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet connected my-office
ens9 ethernet connected test-lab
lo loopback unmanaged --
~]$ nmcli -p con show test-lab
===============================================================================
Connection profile details (test-lab)
===============================================================================
connection.id: test-lab
connection.uuid: 05abfd5e-324e-4461-844e-8501ba704773
connection.interface-name: ens9
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.timestamp: 1410428968
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.secondaries:
connection.gateway-ping-timeout: 0[出力は省略されています]
-p, --pretty オプションを使用すると、出力にタイトルバナーが追加され、セクションが分けられます。
例2.2 インタラクティブエディターを使用して静的イーサネット接続を設定する
~]$ nmcli con edit type ethernet con-name ens3
===| nmcli interactive connection editor |===
Adding a new '802-3-ethernet' connection
Type 'help' or '?' for available commands.
Type 'describe [>setting<.>prop<]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> set ipv4.addresses 192.168.122.88/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli>
nmcli> save temporary
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? [yes] no
nmcli> save
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? [yes] yes
Connection 'ens3' (704a5666-8cbd-4d89-b5f9-fa65a3dbc916) successfully saved.
nmcli> quit
~]$
デフォルトの動作では、接続プロファイルが永続的に保存されます。必要な場合は save temporary コマンドで、プロファイルを次回の再起動時までメモリーにだけ保持することもできます。
特定のデバイスにプロファイルをロックする
nmcli connection add type ethernet con-name connection-name ifname interface-name互換性のあるイーサネットインターフェースすべてでプロファイルを利用可能とするには、以下のコマンドを実行します。
nmcli connection add type ethernet con-name connection-name ifname "*"特定のインターフェースを指定しない場合でも、
ifname 属性を使用する必要があることに注意してください。互換性のあるデバイスすべてでプロファイルを使用可能とするために、ワイルドカード記号 * を使用しています。
nmcli connection add type ethernet con-name "connection-name" ifname "*" mac 00:00:5E:00:53:00
Wi-Fi 接続を追加する
~]$ nmcli dev wifi list
SSID MODE CHAN RATE SIGNAL BARS SECURITY
FedoraTest Infra 11 54 MB/s 98 ▂▄▆█ WPA1
Red Hat Guest Infra 6 54 MB/s 97 ▂▄▆█ WPA2
Red Hat Infra 6 54 MB/s 77 ▂▄▆_ WPA2 802.1X
* Red Hat Infra 40 54 MB/s 66 ▂▄▆_ WPA2 802.1X
VoIP Infra 1 54 MB/s 32 ▂▄__ WEP
MyCafe Infra 11 54 MB/s 39 ▂▄__ WPA2
IP 設定の Wi-Fi 接続プロファイルを作成し、自動 DNS アクセス割り当てを許可するには、以下のコマンドを実行します。
~]$WPA2 パスワードをたとえば「caffeine」に設定するには、以下のコマンドを実行します。nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe \ip4 192.168.100.101/24 gw4 192.168.100.1
~]$パスワードのセキュリティーに関する情報は、『Red Hat Enterprise Linux 7 セキュリティーガイド』を参照してください。nmcli con modify MyCafe wifi-sec.key-mgmt wpa-psk~]$nmcli con modify MyCafe wifi-sec.psk caffeine
~]$ nmcli radio wifi [on | off ]
特定プロパティーの変更
mtu、をチェックするには、以下のコマンドを実行します。
~]$ nmcli connection show id 'MyCafe' | grep mtu
802-11-wireless.mtu: auto
設定のプロパティーを変更するには、以下のコマンドを実行します。
~]$ nmcli connection modify id 'MyCafe' 802-11-wireless.mtu 1350
変更を確認するには、以下のコマンドを実行します。
~]$ nmcli connection show id 'MyCafe' | grep mtu
802-11-wireless.mtu: 1350
802-3-ethernet や 802-11-wireless といったパラメーターを設定として参照し、mtu を設定のプロパティーとして参照することに留意してください。プロパティーおよびそれらの設定に関する詳細情報は、nm-settings(5) man ページを参照してください。
2.1.8. nmcli を使った静的ルートの設定
例2.3 nmcli を使った静的ルートの設定
~]# nmcli connection modify eth0 +ipv4.routes "192.168.122.0/24 10.10.10.1"
これで 192.168.122.0/24 サブネットへのトラフィックが 10.10.10.1 のゲートウェイに向けられます。
例2.4 nmcli エディターを使って静的ルートを設定する
~]$ nmcli con edit type ethernet con-name ens3
===| nmcli interactive connection editor |===
Adding a new '802-3-ethernet' connection
Type 'help' or '?' for available commands.
Type 'describe [>setting<.>prop<]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> set ipv4.routes 192.168.122.0/24 10.10.10.1
nmcli>
nmcli> save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? [yes] yes
Connection 'ens3' (704a5666-8cbd-4d89-b5f9-fa65a3dbc916) successfully saved.
nmcli> quit
~]$

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.