目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / NetworkManagerを使用したネットワークの設定

NetworkManagerを使用したネットワークの設定

発行日: 12/12/2024
概要

この記事では、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の必要な値です。

次の例では、接続ethernet1autoconnectオプションを無効にします。

# 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は、OFFERRWARNINFODEBUG、または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はネットワークの状態を判断できませんでした。