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
- Disable Network Manager Completely
- Debian 8 またはそれ以降
- Debian 7 またはそれ以前
- Ubuntu または Linux Mint
- Fedora または CentOS/RHEL 7 以降で Network Manager を無効にする
- CentOS/RHEL 6 以前の Network Manager を無効にする
- Debian, Ubuntu または Linux Mint で特定のネットワーク インターフェースに対して Network Manager を無効にする
- Disable Network Manager for a Particular Network Interface on Fedora or CentOS/RHEL
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 が無効になっているか確認すること。