NetworkManagerを使用したネットワークの設定
- 概要
この記事では、NetworkManagerの基本と、ネットワークを設定するためのCLIツールの使用法について説明します。
- 目的
NetworkManagerを使用していて、ネットワークを設定する必要があります。
- 所要時間
この記事の理解には15分ほどを要します。
- 目標
NetworkManagerの仕組みと、ネットワーク接続の設定方法について理解を深めます。
1 NetworkManagerについて #
NetworkManagerは、プライマリネットワーク接続とその他の接続インタフェースを管理するプログラムです。NetworkManagerは、デフォルトで完全に自動で動作するように設計されています。NetworkManagerはsystemd
によって処理され、必要なすべてのサービスユニットファイルが付属しています。
NetworkManagerは、すべてのネットワーク設定を接続として保存します。接続とは、ネットワークの作成方法や接続方法を記述するデータの集まりです。これらの接続は、/etc/NetworkManager/system-connections/
ディレクトリにファイルとして保存されます。
特定のデバイスが接続を使用すると、その接続がアクティブになります。デバイスには複数の接続を設定できますが、一度にアクティブにできる接続は1つだけです。その他の接続は、接続を高速に切り替える場合に使用できます。たとえば、アクティブな接続が利用できない場合、NetworkManagerは、デバイスを設定済みの別の接続に接続しようと試みます。
接続を管理するには、4項 「NetworkManagerを使用したネットワークの管理」で説明されているnmcli
コマンドを使用します。
2 NetworkManager.conf
設定ファイル #
NetworkManagerの主要設定ファイルは、/etc/NetworkManager/NetworkManager.conf
です。このファイルを使用して、NetworkManagerの動作を設定できます。
このファイルはキーと値のペアのセクションで構成されます。キーと値の各ペアは、セクションに属している必要があります。セクションは[]で囲まれた名前から始まります。#で始まる行はコメントと見なされます。最小限の設定には、[main]
セクションとplugins
の値を含める必要があります。
[main] plugins=keyfile
keyfile
プラグインは、NetworkManagerのすべての接続タイプと機能をサポートします。
デフォルトの設定ファイルには、ネットワーク接続を確認するためのURIを指定したconnectivity
セクションが含まれます。
SUSE Linux Micro他のセクションを使用することもできます。詳細については、networkmanager.conf(5)またはGnome's developer guideを参照してください。
3 NetworkManagerの起動と停止 #
NetworkManagerはsystemd
サービスであるため、一般的なsystemd
コマンドを使用してNetworkManagerを起動、停止、または再起動できます。
NetworkManagerを起動するには、次のコマンドを実行します。
#
systemctl start network
NetworkManagerを再起動するには、次のコマンドを実行します。
#
systemctl restart network
NetworkManagerを停止するには、次のコマンドを実行します。
#
systemctl stop network
4 NetworkManagerを使用したネットワークの管理 #
4.1 nmcli
コマンド #
NetworkManagerは、接続を管理するためのCLIインタフェースを備えています。このnmcli
インタフェースを使用して、特定のネットワークへの接続、接続の編集、デバイスの編集などを行えます。nmcli
の一般的な構文は次のとおりです。
#
nmcliOPTIONSSUBCOMMANDSUBCOMMAND_ARGUMENTS
ここで、OPTIONSについては4.1.1項 「nmcli
のコマンドオプション」で説明します。SUBCOMMANDには次のいずれかを指定できます。
-
connection
ネットワーク接続を設定できます。詳細については、4.1.2項 「
connection
サブコマンド」を参照してください。-
device
詳細については、4.1.3項 「
device
サブコマンド」を参照してください。-
general
ステータスと許可を表示します。詳細については、4.1.4項 「
general
サブコマンド」を参照してください。-
monitor
NetworkManagerのアクティビティを監視し、接続とデバイスの状態に変化があるかどうかを監視します。このサブコマンドは引数を取りません。
-
networking
ネットワーキングのステータスを問い合わせます。詳細については、4.1.5項 「
networking
サブコマンド」を参照してください。
4.1.1 nmcli
のコマンドオプション #
サブコマンドとその引数のほかに、nmcli
コマンドは次のオプションを取ることができます。
-
-a|--ask
このコマンドは、コマンドの実行を停止して、不足している引数の入力を要求します。たとえば、ネットワークに接続するためのパスワードの入力を要求します。
-
-c|--color {yes|no|auto}
カラー出力を制御します。
yes
はカラーを有効にし、no
は無効にします。auto
は、標準出力を端末に出力する場合にのみカラー出力を生成します。-
-m|--mode {tabular|multiline}
table
(各行に単一のエントリを記述し、列でエントリの特定のプロパティを定義)と、multiline
(各エントリは複数の行で構成され、各プロパティは専用の行に記述)とを切り替えます。tabular
がデフォルト値です。-
-h|--help
ヘルプを出力します。
-
-w|--wait seconds
NetworkManagerが操作を完了まで待機するタイムアウト時間を設定します。このオプションは、接続の有効化など、完了までに時間がかかるコマンドに使用することをお勧めします。
4.1.2 connection
サブコマンド #
connection
コマンドでは、接続を管理したり、特定の接続に関する情報を表示したりできます。nmcli connection
では、ネットワーク接続を管理するための次のコマンドが提供されています。
-
show
接続を一覧にします。
#
nmcli connection showこのコマンドを使用して、指定した接続に関する詳細を表示することもできます。
#
nmcli connection showCONNECTION_IDここで、CONNECTION_IDは、接続名、UUID、またはパスのいずれかの識別子です。
-
up
指定した接続を有効にします。このコマンドは、接続を再ロードする場合に使用します。また、接続に何らかの変更を加えた後にも、このコマンドを実行します。
#
nmcli connection up [--active] [CONNECTION_ID]--active
を指定すると、アクティブなプロファイルのみが表示されます。デフォルトでは、アクティブな接続と静的な設定の両方が表示されます。-
down
接続を無効にします。
#
nmcli connection downCONNECTION_IDここで、CONNECTION_IDは、接続名、UUID、またはパスのいずれかの識別子です。
接続を無効にすると、
autoconnect
フラグが設定されていても、後で再接続しなくなります。-
modify
接続のプロパティを変更または削除します。
#
nmcli connection modifyCONNECTION_IDSETTING.PROPERTYPROPERTY_VALUE各要素の説明
CONNECTION_IDは、接続名、UUID、またはパスのいずれかの識別子です。
SETTING.PROPERTYは、プロパティの名前(
ipv4.addresses
など)です。PROPERTY_VALUEは、SETTING.PROPERTYの必要な値です。
次の例では、接続
ethernet1
のautoconnect
オプションを無効にします。#
nmcli connection modify ethernet1 connection.autoconnect no-
add
指定した詳細を使用して接続を追加します。コマンドの構文は
modify
コマンドと同様です。#
nmcli connection addCONNECTION_IDsave YES|NOSETTING.PROPERTYPROPERTY_VALUE少なくとも
connection.type
を指定するか、type
を使用する必要があります。次の例では、eth0
インタフェースに関連付けられたEthernet接続をDHCPを使用して追加し、接続のautoconnect
フラグを無効にします。#
nmcli connection add type ethernet autoconnect no ifname eth0-
edit
対話型エディタを使用して既存の接続を編集します。
#
nmcli connection editCONNECTION_ID-
clone
既存の接続のクローンを作成します。最小限の構文は次のとおりです。
#
nmcli connection cloneCONNECTION_IDNEW_NAMEここで、CONNECTION_IDはクローンを作成する接続です。
-
delete
既存の接続を削除します。
#
nmcli connection deleteCONNECTION_ID-
monitor
指定した接続を監視します。接続が変更されるたびに、NetworkManagerは1行を出力します。
#
nmcli connection monitorCONNECTION_ID-
reload
すべての接続ファイルをディスクから再ロードします。NetworkManagerは、接続ファイルに対して行われた変更は監視しないため、ファイルに変更を加えた場合は常にこのコマンドを使用する必要があります。このコマンドは他のサブコマンドを取りません。
-
load
特定の接続ファイルをロード/再ロードします。次のように実行します。
#
nmcli connection loadCONNECTION_FILE
これらのコマンドの詳細については、nmcli
documentationを参照してください。
4.1.3 device
サブコマンド #
device
サブコマンドを使用すると、ネットワークインタフェースを表示および管理できます。nmcli device
コマンドは次のコマンドを認識します。
-
status
すべてのデバイスのステータスを出力します。
#
nmcli device status-
show
デバイスに関する詳細情報を表示します。デバイスが指定されていない場合は、すべてのデバイスが表示されます。
#
mcli device show [DEVICE_NAME]-
connect
デバイスを接続します。NetworkManagerは、有効にする適切な接続を見つけようと試みます。互換性のある接続がない場合、新しいプロファイルが作成されます。
#
nmcli device connectDEVICE_NAME-
modify
特定のデバイスでアクティブになっている設定に対して一時的な変更を行います。この変更は接続プロファイルに保存されません。
#
nmcli device modifyDEVICE_NAME [+|-] SETTING.PROPERTY VALUE指定可能なSETTING.PROPERTYの値については、nm-settings-nmcli(5)を参照してください。
次の例では、デバイス
con1
でIPv4共有接続の共有を開始します。#
nmcli dev modify con1 ipv4.method shared-
disconnect
デバイスを接続解除し、手動で操作しない限り、デバイスがそれ以上接続を自動的に有効にしないようにします。
#
nmcli device disconnectDEVICE_NAME-
delete
インタフェースをシステムから削除します。このコマンドを使用して、ボンドやブリッジなどのソフトウェアデバイスのみを削除できます。このコマンドでハードウェアデバイスを削除することはできません。
#
nmcli deviceDEVICE_NAME-
wifi
利用可能なすべてのアクセスポイントを一覧にします。
#
nmcli device wifi-
wifi connect
SSIDまたはBSSIDで指定したWi-Fiネットワークに接続します。このコマンドには次のオプションを指定できます。
password
- セキュリティ保護されたネットワークのパスワードifname
- 有効化に使用するインタフェースname
- 接続に名前を付けることができます
#
nmcli device wifi connectSSID [password PASSWORD_VALUE] [ifname INTERFACE_NAME]Wi-Fi GUESTWiFiにパスワード
pass$word2#@@
で接続するには、次のコマンドを実行します。#
nmcli device wifi connectGUESTWiFi password pass$word2#@@
4.1.4 general
サブコマンド #
このコマンドを使用して、NetworkManagerのステータスと許可を表示したり、ホスト名やログレベルを変更したりできます。nmcli
general
は次のコマンドを認識します。
-
status
NetworkManagerの全体的なステータスを表示します。
nmcli general
コマンドに対してコマンドを指定しない場合は、常にデフォルトでステータスが使用されます。#
nmcli general status-
hostname
新しいホスト名を引数として指定しない場合、現在のホスト名が表示されます。新しいホスト名を指定した場合は、その値を使用して新しいホスト名が設定されます。
#
nmcli general hostname [HOSTNAME]たとえば、
MyHostname
を設定するには、次のコマンドを実行します。#
nmcli general hostname MyHostname-
permissions
ネットワーキングの有効化や無効化、接続の変更などのNetworkManagerの操作に対する許可を表示します。
#
nmcli general permissions-
logging
NetworkManagerのログレベルとドメインを表示および変更します。引数を指定しない場合、現在のログレベルとドメインが表示されます。
#
nmcli general logging [levelLEVEL domains DOMAIN]LEVELは、
OFF
、ERR
、WARN
、INFO
、DEBUG
、またはTRACE
のいずれかの値です。DOMAINは値のリストです。指定できる値は、
PLATFORM, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD, VPN_PLUGIN, PROXY
です。
4.1.5 networking
サブコマンド #
このサブコマンドでは、ネットワークのステータスを問い合わせることができます。また、このコマンドを使用して、ネットワーキングを有効化または無効化することもできます。nmcli networking
コマンドには次のコマンドを指定できます。
-
on/off
ネットワーキングを有効化または無効化します。
off
コマンドは、NetworkManagerによって管理されるすべてのインタフェースを無効化します。#
nmcli networking on- connectivity
ネットワーク接続の状態を表示します。
check
を使用すると、NetworkManagerは状態の新規チェックを実行します。使用しない場合は、前回検出された状態が表示されます。#
nmcli networking connectivity考えられる状態は次のとおりです。
none - ホストはどのネットワークにも接続されていません。
portal - ホストはキャプティブポータルの背後にあり、インターネット全体にはアクセスできません。
limited - ホストはネットワークに接続されていますが、インターネットにはアクセスできません。
full - ホストはネットワークに接続されていて、インターネットに完全にアクセスできます。
unknown - NetworkManagerはネットワークの状態を判断できませんでした。
5 法的事項 #
Copyright © 2006–2024 SUSE LLC and contributors. All rights reserved.
この文書は、GNUフリー文書ライセンスのバージョン1.2または(オプションとして)バージョン1.3の条項に従って、複製、頒布、および/または改変が許可されています。ただし、この著作権表示およびライセンスは変更せずに記載すること。ライセンスバージョン1.2のコピーは、「GNUフリー文書ライセンス」セクションに含まれています。
SUSEの商標については、https://www.suse.com/company/legal/を参照してください。その他の第三者のすべての商標は、各社の所有に帰属します。商標記号(®、™など)は、SUSEおよび関連会社の商標を示します。アスタリスク(*)は、第三者の商標を示します。
本書のすべての情報は、細心の注意を払って編集されています。しかし、このことは正確性を完全に保証するものではありません。SUSE LLC、その関係者、著者、翻訳者のいずれも誤りまたはその結果に対して一切責任を負いかねます。