Last updated on November 26, 2020 by Dan Nanni

Network Manager は機能豊富なネットワーク設定サービスで、現在ではほとんどの Linux デスクトップ環境でデフォルトで使用されています。 (有線/無線の) ネットワーク インターフェイス、VPN、モバイル ブロードバンド、さらに Bluetooth 接続の自動設定を提供します。 Network Manager は、最適な (または最新の) 接続ネットワークに自動的に切り替えることができ、D-Bus API を介して最新のネットワーク イベントを他のアプリケーションに通知することができるほど賢明です。 これにはいくつかの理由があります。 1 つは、ニーズに合うかどうかわからない純粋な自動設定や切り替えに頼るのではなく、ネットワーク管理をよりコントロールしたいと思うかもしれません。 さらに、Network Manager は、複数の有線接続へのマルチホーミング、ネットワークトラフィックの転送、Linux ブリッジやエイリアスの設定など、高度なネットワーク設定には適していません。

一般に、Network Manager は、典型的なエンドユーザー Linux マシンを、ユーザーの介入を最小限に抑え、常に最適な接続で維持できるよう設計されています。 このような自動化が Linux 環境で必要ない場合は、Network Manager をオフにすることができます。

このチュートリアルでは、さまざまな Linux デスクトップ環境において Network Manager を無効にする方法について説明します。 もし、リモートホスト上で Network Manager を無効にしようとしているならば、他の方法でネットワーク設定を正しく行うことに失敗した場合、接続を失うことになるので注意してください。

Check Which Network Interfaces are Managed by Network Manager

ネットワークマネージャーがネットワークインターフェースを管理しているかを確認するには、ネットワークマネージャーに付属するコマンドライン ユーティリティである nmcli を使用できます。 STATE が unmanaged と表示された場合、Network Manager が対応するインタフェースを制御していないことを意味します。 STATE が他の値を表示した場合 (例,

Disable Network Manager Completely

ここでは、Network Manager を完全に無効化する方法を説明し、Linux システム上で Network Manager が実行されないようにします。

Debian 8 またはそれ以降

$ sudo systemctl stop NetworkManager.service$ sudo systemctl disable NetworkManager.service

Debian 7 またはそれ以前

$ sudo /etc/init.d/network-manager stop$ sudo update-rc.d network-manager remove

Ubuntu または Linux Mint

$ sudo stop network-manager$ echo "manual" | sudo tee /etc/init/network-manager.override

Debian または Ubuntu でネットワークマネージャを無効にしたら、 /etc/network/interfaces でネットワークインターフェイスを構成して下さい。

Fedora または CentOS/RHEL 7 以降で Network Manager を無効にする

$ sudo systemctl stop NetworkManager.service$ sudo systemctl disable NetworkManager.service

CentOS/RHEL 6 以前の Network Manager を無効にする

$ sudo service NetworkManager stop$ sudo chkconfig NetworkManager off

Fedora または CentOS で Network Manager を無効にしたら、/etc/sysconfig/network-scripts/ifcfg- ファイルでネットワークインターフェイスを構成してください。

Debian, Ubuntu または Linux Mint で特定のネットワーク インターフェースに対して Network Manager を無効にする

Debian, Ubuntu または Linux Mint で eth1 に対してのみ Network Manager を無効にするには、以下を実行できます。

まず、/etc/NetworkManagerにあるNetwork Managerの設定ファイルをテキストエディタで開き、の下に通常示されるmanaged=falseを設定します。

$ sudo vi /etc/NetworkManager/NetworkManager.conf
managed=false

次に/etc/network/interfacesに、Network Managerを無効にしたいインターフェースに関する情報を追加してください。 この例では、インタフェースは eth1 で、静的 IP 設定を使用しています。

$ sudo vi /etc/network/interfaces
# The loopback network interfaceauto loiface lo inet loopback# network interface not managed by Network Managerallow-hotplug eth1iface eth1 inet staticaddress 10.0.0.10netmask 255.255.255.0gateway 10.0.0.1dns-nameservers 8.8.8.8

次に、Network Manager は自動的に /etc/network/interfaces で指定されたインタフェースを無視し、それらの管理を停止します。

再起動後、Network Manager が eth1 に対して正常に無効になったことを確認します。

$ nmcli dev status

Disable Network Manager for a Particular Network Interface on Fedora or CentOS/RHEL

以下の手順は、Fedora、CentOS または RHEL で eth1 に対して Network Manager を無効化するものです。

(存在しない場合) eth1 のインターフェース設定ファイルを作成し、NM_CONTROLLED=noを追加します。

TYPE="Ethernet"NAME="eth1"BOOTPROTO="static"IPADDR=10.0.0.10NETMASK=255.255.255.0GATEWAY=10.0.0.1HWADDR="00:90:29:95:EA:57"ONBOOT="yes"DEFROUTE="yes"NM_CONTROLLED=no

ここでネットワークサービスを有効にし、起動時に自動的にネットワークサービスによって eth1 がアクティブになるようにします。

Fedora または CentOS/RHEL 7 以降:

$ sudo systemctl enable network.service

CentOS/RHEL 6 以前:

$ sudo chkconfig network on

再起動時に、nmcli コマンドで eth1 に対して正常に Network Manager が無効になっているか確認すること。

コメントを残す

メールアドレスが公開されることはありません。