<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nishikawa</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nishikawa"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Nishikawa"/>
	<updated>2026-04-18T15:52:28Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;diff=12871</id>
		<title>NetworkManager</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=NetworkManager&amp;diff=12871"/>
		<updated>2018-04-25T12:19:38Z</updated>

		<summary type="html">&lt;p&gt;Nishikawa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク]]&lt;br /&gt;
[[cs:NetworkManager]]&lt;br /&gt;
[[de:Networkmanager]]&lt;br /&gt;
[[en:NetworkManager]]&lt;br /&gt;
[[es:NetworkManager]]&lt;br /&gt;
[[fr:NetworkManager]]&lt;br /&gt;
[[it:NetworkManager]]&lt;br /&gt;
[[pt:NetworkManager]]&lt;br /&gt;
[[ru:NetworkManager]]&lt;br /&gt;
[[tr:NetworkManager]]&lt;br /&gt;
[[zh-hans:NetworkManager]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ネットワーク設定}}&lt;br /&gt;
{{Related|ワイヤレス設定}}&lt;br /&gt;
{{Related|Netctl}}&lt;br /&gt;
{{Related|Wicd}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[http://projects.gnome.org/NetworkManager/ NetworkManager] はネットワークの検知とシステムの設定を自動で行いネットワークに接続するプログラムです。NetworkManager の機能は無線・有線両方のネットワークに使うことができます。無線ネットワークでは、NetworkManager は既知の無線ネットワークを優先し、一番信頼性のあるネットワークに切り替えることができます。NetworkManager 対応アプリケーションはオンラインとオフラインを切り替えることが可能です。また、NetworkManager では無線接続よりも有線接続が優先され、モデム接続や特定の VPN に対応しています。NetworkManager はもともとは Red Hat によって開発されていましたが、現在では [[GNOME]] プロジェクトによってホストされています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager は[[公式リポジトリ]]にある {{Pkg|networkmanager}} パッケージでインストールできます。バージョン 1.0 から、NetworkManager には DHCP を基本的にサポートする内部的な機能が追加されています。フル機能の DHCP を使う場合、または IPv6 のサポートが必要な場合、{{Pkg|dhclient}} を使ってください。&lt;br /&gt;
&lt;br /&gt;
{{Note|ネットワークを設定しようとするサービスが他に動いていないことを確認してください。複数のネットワークサービスがあると衝突します。{{ic|1=systemctl --type=service}} で現在動作しているサービスのリストを表示できるので、ネットワークサービスがあったら[[systemd#ユニットを使う|停止]]してください。NetworkManager サービスを有効にする方法は[[#設定|設定]]を見てください。}}&lt;br /&gt;
&lt;br /&gt;
=== VPN サポート ===&lt;br /&gt;
&lt;br /&gt;
Network Manager の VPN サポートはプラグインシステムをベースにしています。NetworkManager で VPN のサポートが必要なときは以下のパッケージの中から必要なものをインストールしてください:&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|networkmanager-openconnect}}&lt;br /&gt;
* {{Pkg|networkmanager-openvpn}}&lt;br /&gt;
* {{Pkg|networkmanager-pptp}}&lt;br /&gt;
* {{Pkg|networkmanager-vpnc}}&lt;br /&gt;
* {{AUR|networkmanager-l2tp}}&lt;br /&gt;
* {{Pkg|networkmanager-strongswan}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|1=VPN サポートは [https://bugzilla.gnome.org/buglist.cgi?quicksearch=networkmanager%20vpn 不安定] です。GUI からデーモンプロセスのオプションが正しく設定されていることを確認して、パッケージがリリースされるたびに再確認してください [https://bugzilla.gnome.org/show_bug.cgi?id=755350]。}}&lt;br /&gt;
&lt;br /&gt;
=== PPPoE / DSL サポート ===&lt;br /&gt;
&lt;br /&gt;
PPPoE / DSL 接続のサポートが必要な場合は {{pkg|rp-pppoe}} を[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
== グラフィカルフロントエンド ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager を簡単に使えるようにするためのアプレットをインストールすることができます。この GUI フロントエンドはシステムトレイ（や通知エリア）に収納され、NetworkManager のネットワーク選択や設定が可能です。異なるデスクトップにあわせて様々なアプレットが存在します。その他に [[#nm-applet]] を使うこともできます。&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
GNOME にはツールが内蔵されており、ネットワーク設定からアクセスできます。&lt;br /&gt;
&lt;br /&gt;
=== KDE Plasma ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|plasma-nm}} アプレットをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
=== nm-applet ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|network-manager-applet}} はあらゆる Xorg 環境で動作する GTK+ 3 フロントエンドです (システムトレイに表示されます)。&lt;br /&gt;
&lt;br /&gt;
接続情報を保存するには [[GNOME Keyring]] をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|Make available to other users}} オプションを有効にすると、NetworkManager はパスワードを平文で保存します。ただしファイルにアクセスできるのは root だけです (他のユーザーは {{ic|nm-applet}} を介してアクセスします)。[[#Wi-Fi パスワードの暗号化]]を見てください。&lt;br /&gt;
&lt;br /&gt;
システムトレイを使わずに {{ic|nm-applet}} を起動したい場合、{{Pkg|trayer}} または {{Pkg|stalonetray}} を使います。例えば、以下のようなスクリプトを追加して使うことができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|nmgui|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
nm-applet    2&amp;gt;&amp;amp;1 &amp;gt; /dev/null &amp;amp;&lt;br /&gt;
stalonetray  2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&lt;br /&gt;
killall nm-applet&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[stalonetray]] のウィンドウを閉じると {{ic|nm-applet}} も終了するため、ネットワーク設定で無駄なメモリを消費することがありません。&lt;br /&gt;
&lt;br /&gt;
==== Xfce ====&lt;br /&gt;
[[Xfce]] でも {{Pkg|network-manager-applet}} は動作しますが、エラーメッセージなど通知を表示するには {{ic|nm-applet}} に加えて FreeDesktop.org の仕様に準拠した[[デスクトップ通知]]デーモンが必要です。xfce のパネル設定では &amp;quot;Notification Area&amp;quot; という名前のアプリになります。通知を有効にするには {{Pkg|xfce4-notifyd}} をインストールしてください。新しい無線ネットワークに接続したときにパスワードの入力プロンプトを表示させるには {{Pkg|gnome-keyring}} などの org.freedesktop.secrets サービスが必要です。&lt;br /&gt;
&lt;br /&gt;
通知デーモンがないと、{{ic|nm-applet}} アプレットは以下のエラーを標準出力に表示します:&lt;br /&gt;
&lt;br /&gt;
 (nm-applet:24209): libnotify-WARNING **: Failed to connect to proxy&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: get_all_cb: couldn&#039;t retrieve&lt;br /&gt;
 system settings properties: (25) Launch helper exited with unknown&lt;br /&gt;
 return code 1.&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: fetch_connections_done: error&lt;br /&gt;
 fetching connections: (25) Launch helper exited with unknown return&lt;br /&gt;
 code 1.&lt;br /&gt;
 ** (nm-applet:24209): WARNING **: Failed to register as an agent:&lt;br /&gt;
 (25) Launch helper exited with unknown return code 1&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} は問題なく動作しますが、通知は表示されません。&lt;br /&gt;
&lt;br /&gt;
アプレットが表示されない場合は {{AUR|xfce4-indicator-plugin}} パッケージをインストールしてください [https://askubuntu.com/questions/449658/networkmanager-tray-nm-applet-is-gone-after-upgrade-to-14-04-trusty]。&lt;br /&gt;
&lt;br /&gt;
==== Openbox ====&lt;br /&gt;
&lt;br /&gt;
Openbox で正しく動作させるには、XFCE と同じ理由で GNOME アプレットに {{Pkg|xfce4-notifyd}} 通知デーモンが必要です。また、システムトレイにアプレットを表示するには {{Pkg|gnome-icon-theme}} パッケージが必要です。&lt;br /&gt;
&lt;br /&gt;
認証情報 (Wireless/DSL) を保存するには [[GNOME Keyring]] をインストール・設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} は autostart ファイルを {{ic|/etc/xdg/autostart/nm-applet.desktop}} にインストールします。これに問題が発生する場合 (例: {{ic|nm-applet}} が二度起動する、全く起動しない)、[[Openbox#autostart]] や [https://bbs.archlinux.org/viewtopic.php?pid=993738] を見て解決してください。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
==== nmcli ====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|networkmanager}} パッケージにはバージョン 0.8.1 から [http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html nmcli] が含まれています。&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
&lt;br /&gt;
* wifi ネットワークに接続するには: {{bc|nmcli dev wifi connect &amp;lt;name&amp;gt; password &amp;lt;password&amp;gt;}}&lt;br /&gt;
* {{ic|wlan1}} の wifi インターフェイスの wifi に接続するには: {{bc|nmcli dev wifi connect &amp;lt;name&amp;gt; password &amp;lt;password&amp;gt; iface wlan1 [profile name]}}&lt;br /&gt;
* インターフェイスを切断するには: {{bc|nmcli dev disconnect iface eth0}}&lt;br /&gt;
* 切断されたインターフェイスに再接続するには: {{bc|nmcli con up uuid &amp;lt;uuid&amp;gt;}}&lt;br /&gt;
* UUID のリストを表示するには: {{bc|nmcli con show}}&lt;br /&gt;
* ネットワークデバイスのリストと状態を表示するには: {{bc|nmcli dev}}&lt;br /&gt;
* wifi をオフにするには: {{bc|nmcli r wifi off}}&lt;br /&gt;
&lt;br /&gt;
==== nmtui ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;nmtui&#039;&#039; は &#039;&#039;networkmanager&#039;&#039; のグラフィックフロントエンドで curses を使っています。X のない環境でネットワークを設定・管理するのに便利です。{{Pkg|networkmanager}} パッケージにはバージョン 0.9.10 から &#039;&#039;nmtui&#039;&#039; が含まれています。&lt;br /&gt;
&lt;br /&gt;
==== nmcli-dmenu ====&lt;br /&gt;
&lt;br /&gt;
もしくは {{ic|nm-applet}} の代わりに &#039;&#039;dmenu&#039;&#039; を使って NetworkManager の接続を管理する小さなスクリプト {{AUR|networkmanager-dmenu-git}} も存在します。既存の NetworkManager の有線・無線接続に接続したり、新しい無線接続に接続したり、必要であればパスフレーズをリクエストする、既存の VPN 接続に接続する、ネットワークを無効化・有効化する、&#039;&#039;nm-connection-editor&#039;&#039; GUI を起動するなどの機能が備わっています。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager には正しく機能させるために必要なことがあります。&lt;br /&gt;
&lt;br /&gt;
次に進む前に {{ic|/etc/hosts}} が正しいことを確認してください。この手順を行う前に接続を試すと、NetworkManager が設定を変えてしまうことがあります。{{ic|/etc/hosts}} の例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/hosts|&lt;br /&gt;
127.0.0.1 localhost&lt;br /&gt;
::1       localhost&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
nss-myhostname を使っていない場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/hosts|&lt;br /&gt;
127.0.0.1 my-laptop localhost&lt;br /&gt;
::1       my-laptop localhost&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager を有効にする ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は {{ic|NetworkManager.service}} を使って[[systemd#ユニットを使う|操作]]します。NetworkManager デーモンが起動すると、自動的に設定済みの有効な &amp;quot;システム接続&amp;quot; に接続します。&amp;quot;ユーザー接続&amp;quot;や設定していない接続には {{ic|nmcli}} やアプレットを使って設定・接続する必要があります。&lt;br /&gt;
&lt;br /&gt;
NetworkManager のグローバルな設定ファイルは {{ic|/etc/NetworkManager/NetworkManager.conf}} にあります。通常、グローバルなデフォルト設定ファイルに設定を加える必要はありません。&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager Wait Online を有効にする ===&lt;br /&gt;
ネットワークが立ち上がる前にサービスが起動して失敗する場合、NetworkManager サービスにプラスして {{ic|NetworkManager-wait-online.service}} を使って下さい。ただし、ネットワークが設定されていないときでも殆どのネットワークデーモンは正しく立ち上がるので、これが必要になるのは稀です。&lt;br /&gt;
&lt;br /&gt;
それでもサービスが正しく起動できない場合 {{ic|/usr/lib/systemd/system/NetworkManager-wait-online.service}} のタイムアウト設定が短すぎることが原因です。デフォルトのタイムアウトである 30 を高い値に修正してください。&lt;br /&gt;
&lt;br /&gt;
=== PolicyKit パーミッションの設定 ===&lt;br /&gt;
&lt;br /&gt;
ワーキングセッションの設定については[[一般的なトラブルシューティング#セッションのパーミッション]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
ワーキングセッションで、NetworkManager に必要な特権を与える方法は複数存在します:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 1.&#039;&#039; ログイン時に {{ic|/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1}} ({{Pkg|polkit-gnome}} に含まれています) などの [[PolicyKit]] 認証エージェントを実行する。ネットワーク接続を追加・削除したときにパスワードを求められるようになります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 2.&#039;&#039; ユーザーを {{ic|wheel}} グループに追加する。パスワードを入力する必要はなくなりますが、root パスワードを入力せずに [[sudo]] を使えるなど、他の権限もユーザーアカウントに与えてしまうことになります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;方法 3.&#039;&#039; ユーザーを {{ic|network}} グループに追加して以下のファイルを作成する:&lt;br /&gt;
{{hc|/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
polkit.addRule(function(action, subject) {&lt;br /&gt;
  if (action.id.indexOf(&amp;quot;org.freedesktop.NetworkManager.&amp;quot;) == 0 &amp;amp;&amp;amp; subject.isInGroup(&amp;quot;network&amp;quot;)) {&lt;br /&gt;
    return polkit.Result.YES;&lt;br /&gt;
  }&lt;br /&gt;
});&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{ic|network}} グループの全てのユーザーはパスワードなしでネットワークを追加・削除できるようになります。[[ディスプレイマネージャ#systemd-logind を使う|systemd-logind]] でアクティブセッションを作っていない場合、この方法は systemd では動きません。&lt;br /&gt;
&lt;br /&gt;
=== ネットワークサービスと NetworkManager dispatcher===&lt;br /&gt;
&lt;br /&gt;
NetworkManager がインターフェースを立ち上げるまで動かしたくないネットワークサービスというのが相当数存在します。[[Network Time Protocol daemon|NTPd]] や様々なタイプのネットワークファイルシステムマウント (例: &#039;&#039;&#039;netfs&#039;&#039;&#039;) が好例です。NetworkManager には、あなたがネットワークに接続したときにこれらのサービスを起動して、切断したときにサービスを停止する機能があります。この機能を有効にするには {{ic|NetworkManager-dispatcher.service}} を[[systemd#ユニットを使う|起動]]してください。&lt;br /&gt;
&lt;br /&gt;
機能を有効にすれば、スクリプトを {{ic|/etc/NetworkManager/dispatcher.d}} ディレクトリに追加することができます。スクリプトは実行可能でユーザーのパーミッションがなければなりません。セキュリティ上、スクリプトの所有者を &#039;&#039;&#039;root:root&#039;&#039;&#039; にして書き込み権限を所有者だけに与えるとよいでしょう。&lt;br /&gt;
&lt;br /&gt;
接続時にアルファベット順でスクリプトは実行され、切断時にはアルファベットの逆順で実行されます。スクリプトには2つの引数が渡されます: インターフェースの名前 (例: &#039;&#039;eth0&#039;&#039;) と状態 (インターフェイスは &#039;&#039;up&#039;&#039; か &#039;&#039;down&#039;&#039;、vpn 接続は &#039;&#039;vpn-up&#039;&#039; か &#039;&#039;vpn-down&#039;&#039;) です。起動する順番を正確に決めるために、しばしばスクリプトの名前の前に数字が使われます (例: {{ic|10_portmap}} や {{ic|30_netfs}} (これでポートマップが NFS マウントよりも先に実行されます)。&lt;br /&gt;
&lt;br /&gt;
{{Warning|パブリックネットワークに接続する場合、起動するサービスや接続するサーバーに注意してください。パブリックネットワークに接続している際に間違ったサービスを起動するとセキュリティホールとなる可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
==== 3秒タイムアウトを止める ====&lt;br /&gt;
&lt;br /&gt;
上の設定で動作するなら、このセクションは関係ありません。ただし、実行するのに3秒以上かかる dispatcher スクリプトを動かす場合は共通の問題があります。NetworkManager は内部的に3秒タイムアウトを使っており (詳しくは[https://bugzilla.redhat.com/show_bug.cgi?id=982734 バグトラッカー]を参照) 3秒以上時間がかかっているスクリプトを自動的に殺します。この場合、{{ic|/usr/lib/systemd/system/NetworkManager-dispatcher.service}} にある dispatcher サービスファイルを有効にしつづけるように修正が必要です。以下の内容でサービスファイル {{ic|/etc/systemd/system/NetworkManager-dispatcher.service}} を作成してください:&lt;br /&gt;
&lt;br /&gt;
 .include /usr/lib/systemd/system/NetworkManager-dispatcher.service&lt;br /&gt;
 [Service]&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
&lt;br /&gt;
作成したら修正を加えた {{ic|NetworkManager-dispatcher}} スクリプトを有効にしてください。&lt;br /&gt;
&lt;br /&gt;
==== OpenNTPD を起動 ====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|networkmanager-dispatcher-openntpd}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
==== リモートフォルダを sshfs でマウント ====&lt;br /&gt;
&lt;br /&gt;
スクリプトは制限的な環境で実行されるので、SSH エージェントに接続するには {{ic|SSH_AUTH_SOCK}} を export する必要があります。複数の方法が存在します、詳しくは [https://bbs.archlinux.org/viewtopic.php?pid=1042030#p1042030 このメッセージ] を見て下さい。以下の例は [[GNOME Keyring]] と一緒に動作し、ロックが解除されていない場合にパスワードを尋ねます。NetworkManager がログイン時に自動的に接続する場合は、&#039;&#039;gnome-keyring&#039;&#039; は起動せず export は失敗します。{{ic|UUID}} は {{ic|nmcli con status}} や {{ic|nmcli con list}} コマンドで確認できます。&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
USER=&#039;username&#039;&lt;br /&gt;
REMOTE=&#039;user@host:/remote/path&#039;&lt;br /&gt;
LOCAL=&#039;/local/path&#039;&lt;br /&gt;
&lt;br /&gt;
interface=$1 status=$2&lt;br /&gt;
if [ &amp;quot;$CONNECTION_UUID&amp;quot; = &amp;quot;&amp;lt;/nowiki&amp;gt;&#039;&#039;uuid&#039;&#039;&amp;lt;nowiki&amp;gt;&amp;quot; ]; then&lt;br /&gt;
  case $status in&lt;br /&gt;
    up)&lt;br /&gt;
      export SSH_AUTH_SOCK=$(find /tmp -maxdepth 1 -type s -user &amp;quot;$USER&amp;quot; -name &#039;ssh&#039;)&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;sshfs $REMOTE $LOCAL&amp;quot;&lt;br /&gt;
      ;;&lt;br /&gt;
    down)&lt;br /&gt;
      fusermount -u &amp;quot;$LOCAL&amp;quot;&lt;br /&gt;
      ;;&lt;br /&gt;
  esac&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使って LAN ケーブルが接続されているかどうかに応じて自動的に Wi-Fi を切り替える ====&lt;br /&gt;
&lt;br /&gt;
LAN ケーブルが接続されていない場合にのみ Wi-Fi をオンにして、LAN ケーブルが接続されたら (ノートパソコンがドックに接続された場合など) Wi-Fi を自動的に無効化することができます。&lt;br /&gt;
&lt;br /&gt;
以下の dispatcher スクリプトを作成してください ([https://superuser.com/questions/233448/disable-wlan-if-wired-cable-network-is-available ソース])、{{ic|1=LAN_interface}} は適当なインターフェイスに置き換えてください:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/wlan_auto_toggle.sh|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;LAN_interface&amp;quot; ]; then&lt;br /&gt;
    case &amp;quot;$2&amp;quot; in&lt;br /&gt;
        up)&lt;br /&gt;
            nmcli radio wifi off&lt;br /&gt;
            ;;&lt;br /&gt;
        down)&lt;br /&gt;
            nmcli radio wifi on&lt;br /&gt;
            ;;&lt;br /&gt;
    esac&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|インターフェイスは [[#nmcli|nmcli]] で確認できます。有線 (LAN) インターフェイスは先頭が {{ic|en}} となります。例: {{ic|1=enp0s5}}。}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使ってネットワーク接続が確立された後に VPN に接続する ====&lt;br /&gt;
&lt;br /&gt;
この例では特定の WiFi ネットワークの接続後に予め定義した VPN に自動的に接続します。最初にネットワークに接続した後にすることを定義した dispatcher スクリプトを作成する必要があります。&lt;br /&gt;
&lt;br /&gt;
:1. dispatcher スクリプトを作成:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/vpn-up|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
VPN_NAME=&amp;quot;name of VPN connection defined in NetworkManager&amp;quot;&lt;br /&gt;
ESSID=&amp;quot;Wi-Fi network ESSID (not connection name)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
interface=$1 status=$2&lt;br /&gt;
case $status in&lt;br /&gt;
  up|vpn-down)&lt;br /&gt;
    if iwgetid | grep -qs &amp;quot;:\&amp;quot;$ESSID\&amp;quot;&amp;quot;; then&lt;br /&gt;
      nmcli con up id &amp;quot;$VPN_NAME&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    ;;&lt;br /&gt;
  down)&lt;br /&gt;
    if iwgetid | grep -qs &amp;quot;:\&amp;quot;$ESSID\&amp;quot;&amp;quot;; then&lt;br /&gt;
      if nmcli con show --active | grep &amp;quot;$VPN_NAME&amp;quot;; then&lt;br /&gt;
        nmcli con down id &amp;quot;$VPN_NAME&amp;quot;&lt;br /&gt;
      fi&lt;br /&gt;
    fi&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
全ての Wi-Fi ネットワークで VPN の接続を自動的にして欲しい場合は、ESSID は次のように定義します: {{ic|1=ESSID=$(iwgetid -r)}}。[[#ネットワークサービスと NetworkManager dispatcher|上述]]のようにスクリプトのパーミッションを忘れずに設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|nm-applet}} の &#039;&#039;Make the VPN connection available to all users&#039;&#039; オプションを有効にしている場合、接続が失敗して NetworkManager が &#039;no valid VPN secrets&#039; と表示することがあります ([https://developer.gnome.org/NetworkManager/0.9/secrets-flags.html VPN の接続情報の保存方法] が問題です)。その場合、以下を試してみてください:&lt;br /&gt;
&lt;br /&gt;
:2. VPN の接続ファイルを編集して NetworkManager が接続情報をキーリングではなく自分で保存するようにしてください [https://bugzilla.redhat.com/show_bug.cgi?id=710552]: {{ic|/etc/NetworkManager/system-connections/&#039;&#039;name of your VPN connection&#039;&#039;}} を開いて {{ic|password-flags}} と {{ic|secret-flags}} を {{ic|1}} から {{ic|0}} に変更します。&lt;br /&gt;
&lt;br /&gt;
もしくは設定ファイルに {{ic|vpn-secrets}} セクションを追加して直接パスワードを記述します:&lt;br /&gt;
  [vpn]&lt;br /&gt;
  ....&lt;br /&gt;
  password-flags=0&lt;br /&gt;
  &lt;br /&gt;
  [vpn-secrets]&lt;br /&gt;
  password=your_password&lt;br /&gt;
&lt;br /&gt;
{{Note|It may now be necessary to re-open the NetworkManager connection editor and save the VPN passwords/secrets again.}}&lt;br /&gt;
&lt;br /&gt;
==== dispatcher を使って CIFS 共有のマウントを処理 ====&lt;br /&gt;
&lt;br /&gt;
CIFS 共有の中には特定のネットワークや場所 (例: 家の中) を使っているときだけ使えるものがあります。ディスパッチャを使うことで現在の場所に応じて CIFS 共有をマウントすることができます。&lt;br /&gt;
&lt;br /&gt;
以下のスクリプトは特定のネットワークに接続されているかどうか確認してから共有をマウントします:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/mount_cifs|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; = &amp;quot;up&amp;quot; ]; then&lt;br /&gt;
  if [ &amp;quot;$CONNECTION_UUID&amp;quot; = &amp;quot;uuid&amp;quot; ]; then&lt;br /&gt;
    mount /your/mount/point &amp;amp; &lt;br /&gt;
    # add more shares as needed&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|[[#nmcli|nmcli]] を使うことで uuid のリストを取得できます。}}&lt;br /&gt;
&lt;br /&gt;
以下のスクリプトは特定のネットワークから切断する前に全ての CIFS をアンマウントします:&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/pre-down.d/mount_cifs|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
umount -a -l -t cifs&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|&lt;br /&gt;
* 上記のスクリプトは {{ic|pre-down.d}} サブディレクトリに保存しないと、接続状態が変わったときに全ての共有がアンマウントされてしまいます。&lt;br /&gt;
* NetworkManager 0.9.8 から、&#039;pre-down&#039; や &#039;down&#039; はシャットダウンや再起動時に実行されなくなりました。したがって上記のスクリプトはネットワークから手動で切断したときにのみ機能します。詳しくは [https://bugzilla.gnome.org/show_bug.cgi?id&amp;amp;#61;701242 このバグレポート] を参照。}}&lt;br /&gt;
&lt;br /&gt;
忘れずに[[#ネットワークサービスと NetworkManager dispatcher|上述]]のようにスクリプトにパーミッションを設定してください。&lt;br /&gt;
&lt;br /&gt;
dispatcher の中で {{ic|/etc/fstab}} のマウントを解析する他のスクリプト例は [[NFS#NetworkManager dispatcher]] にあります。&lt;br /&gt;
&lt;br /&gt;
=== プロクシ設定 ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager は直接プロクシ設定を扱いませんが、GNOME や KDE を使っている場合、NetworkManager の情報を使ってプロクシ設定を管理する [http://marin.jb.free.fr/proxydriver/ proxydriver] を使うことができます。[[Arch User Repository|AUR]] の {{AUR|proxydriver}} パッケージを探して下さい。&lt;br /&gt;
&lt;br /&gt;
proxydriver でプロクシ設定を変更できるようにするには、GNOME スタートアッププロセスの一部として、次のコマンドを実行する必要があります (System -&amp;gt; Preferences -&amp;gt; Startup Applications):&lt;br /&gt;
&lt;br /&gt;
 xhost +si:localuser:&#039;&#039;your_username&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
参照: [[プロキシ設定]]&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager の無効化 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;dbus&#039;&#039; によってサービスが自動的に起動してしまうこともあります。&#039;&#039;systemctl&#039;&#039; でサービスをマスクすることで完全に無効化できます:&lt;br /&gt;
 # systemctl mask NetworkManager&lt;br /&gt;
 # systemctl mask NetworkManager-dispatcher&lt;br /&gt;
&lt;br /&gt;
== テスト ==&lt;br /&gt;
&lt;br /&gt;
ログイン時に NetworkManager アプレットがロードされるようになっているので、ほとんどの場合さらに設定をする必要はありません。既に前のネットワーク設定を無効にしてネットワークから切断している場合、NetworkManager が動作するかどうかテストすることができます。まず {{ic|NetworkManager.service}} を[[デーモン|起動]]してください。&lt;br /&gt;
&lt;br /&gt;
アプレットは {{ic|.desktop}} ファイルを提供するので、NetworkManager アプレットはアプリケーションメニューからロードすることができます。アプレットがない場合、コマンドを探すか、一度ログアウトしてからログインしなおしてアプレットを起動してください。アプレットが起動すれば、DHCP サーバーの自動設定によってネットワーク接続のポーリングを開始します。&lt;br /&gt;
&lt;br /&gt;
[[Awesome]] などの xdg 非互換のウィンドウマネージャで GNOME アプレットを起動するには:&lt;br /&gt;
&lt;br /&gt;
 nm-applet --sm-disable &amp;amp;&lt;br /&gt;
&lt;br /&gt;
固定 IP を使うには NetworkManager を設定する必要があります。アプレットを右クリックして &#039;Edit Connections&#039; などを選択してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
一般的な問題に対する修正。&lt;br /&gt;
&lt;br /&gt;
=== PPTP トンネルを使って通信できない ===&lt;br /&gt;
&lt;br /&gt;
PPTP 接続のログインが成功すると、適切な VPN IP の ppp0 インターフェースが表示されますが、リモートの IP に ping できません。これは標準の Arch の pppd に MPPE (Microsoft Point-to-Point Encryption) サポートがないのが原因です。まず標準の Arch の {{Pkg|ppp}} を使って予期通り動作するか試すことを推奨します。&lt;br /&gt;
&lt;br /&gt;
問題を解決するには [[Arch User Repository|AUR]] から {{AUR|ppp-mppe}}{{Broken package link|{{aur-mirror|ppp-mppe}}}} をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
PEAP の MSCHAPv2 type-2 認証を使う WPA2-Enterprise ワイヤレスネットワークでは標準の ppp パッケージではなく ppp-mppe が必要になることがあります。[[netctl]] では ppp-mppe がなくても設定いらずで動きます。いずれにしても、MSCHAPv2 は攻撃されやすいため使用が推奨されていません。ただし他の方法にすることはできないのが普通です。この [https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/ 記事] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== Network management disabled ===&lt;br /&gt;
&lt;br /&gt;
時々 NetworkManager を終了したときに pid (state) ファイルが削除されずに &#039;Network management disabled&#039; というメッセージが表示されることがあります。これが発生した場合は、手動でファイルを削除する必要があります:&lt;br /&gt;
&lt;br /&gt;
 # rm /var/lib/NetworkManager/NetworkManager.state&lt;br /&gt;
&lt;br /&gt;
=== resolv.conf をカスタマイズする ===&lt;br /&gt;
&lt;br /&gt;
[[resolv.conf]] を見て下さい。{{Pkg|dhclient}} を使いたい場合、[[Arch User Repository|AUR]] の {{AUR|networkmanager-dispatch-resolv}}{{Broken package link|{{aur-mirror|networkmanager-dispatch-resolv}}}} パッケージを試すことができます。&lt;br /&gt;
&lt;br /&gt;
=== dhclient と DHCP に関する問題 ===&lt;br /&gt;
&lt;br /&gt;
DHCP を使って IP を取得するときに問題が起こるときは、以下を {{ic|/etc/dhclient.conf}} に追加してみてください:&lt;br /&gt;
  interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
    send dhcp-client-identifier 01:aa:bb:cc:dd:ee:ff;&lt;br /&gt;
  }&lt;br /&gt;
{{ic|aa:bb:cc:dd:ee:ff}} は NIC の MAC アドレスに置き換えてください。MAC アドレスは {{Pkg|iproute2}} パッケージの {{ic|ip link show &#039;&#039;interface&#039;&#039;}} コマンドを使うことでわかります。&lt;br /&gt;
&lt;br /&gt;
=== dhcpcd と DHCP に関する問題 ===&lt;br /&gt;
&lt;br /&gt;
ルーターによっては、{{ic|/etc/dhcpcd.conf}} ({{ic|dhcpd.conf}} とは別のファイルです) 内の次の行をコメントアウトしないと正しく接続できないことがあります:&lt;br /&gt;
 require dhcp_server_identifier&lt;br /&gt;
ネットワーク上で複数の DHCP サーバーを使ってなければこの修正によって問題が起こることはありません。詳細は [https://technet.microsoft.com/en-us/library/cc977442.aspx このページ] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== ホストネームの問題 ===&lt;br /&gt;
&lt;br /&gt;
ホストネームが接続しているルーターに送信されるかどうかは、使用している NetworkManager プラグインによります。標準の &amp;quot;keyfile&amp;quot; プラグインはデフォルト設定ではホストネームを送信しません。ホストネームを送信するようにしたいときは、以下を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/NetworkManager.conf|2=&lt;br /&gt;
[keyfile]&lt;br /&gt;
hostname=&#039;&#039;your_hostname&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|[keyfile]}} 下のオプションはデフォルトの {{ic|/etc/NetworkManager/system-connections}} のパスのネットワーク接続に適用されます。&lt;br /&gt;
&lt;br /&gt;
また、(NetworkManager が自動的に起動する) DHCP クライアントを設定して送信させることもできます。NetworkManager はデフォルトで {{Pkg|dhclient}} を利用しますが、インストールされていない場合は、NetworkManager 内蔵の DHCP 機能にフォールバックします。&#039;&#039;dhclient&#039;&#039; でホストネームを送信するには設定を変更する必要があります。&#039;&#039;dhcpcd&#039;&#039; はデフォルトでホストネームを送信します。&lt;br /&gt;
&lt;br /&gt;
まず、どの DHCP クライアントが使われているのか確認 (以下の例では &#039;&#039;dhclient&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;# journalctl -b | egrep &amp;quot;dhc&amp;quot;&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
...&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Nov 17 21:03:20 zenbook dhclient[2949]: Bound to *:546&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Listening on Socket/wlan0&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: Sending on   Socket/wlan0&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: XMT: Info-Request on wlan0, interval 1020ms.&lt;br /&gt;
Nov 17 21:03:20 zenbook dhclient[2949]: RCV: Reply message on wlan0 from fe80::126f:3fff:fe0c:2dc.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== ホストネームを DHCP サーバーに送るように dhclient を設定する ====&lt;br /&gt;
&lt;br /&gt;
サンプル設定ファイルをコピー:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/share/dhclient/dhclient.conf.example /etc/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
ファイルの中身を見てください。重要なのは以下の行です:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dhclient.conf|2=send host-name = pick-first-value(gethostname(), &amp;quot;ISC-dhclient&amp;quot;);}}&lt;br /&gt;
&lt;br /&gt;
IP アドレスの更新を強制することで DHCP サーバーからホストネームを確認できるようになるはずです。&lt;br /&gt;
 &lt;br /&gt;
==== 特定の DHCP クライアントを使うように NetworkManager を設定する ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager で使用する DHCP クライアントを明示的に設定したい場合、グローバルな設定ファイルで設定できます:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=/etc/NetworkManager/NetworkManager.conf|2=dhcp=internal}}&lt;br /&gt;
&lt;br /&gt;
上記のオプションが設定されていない場合、{{ic|1=dhcp=dhclient}} がデフォルトで使われます。&lt;br /&gt;
&lt;br /&gt;
それから {{ic|NetworkManager.service}} を[[systemd#ユニットを使う|再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|1={{Pkg|dhcpcd}} のサポートは {{Pkg|networkmanager}}-1.0.0-2 で [https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/networkmanager&amp;amp;id=a1df79cbcebaec0c043789eb31965e57d17b6cdb 無効] になっています  (2015-02-14)。}}&lt;br /&gt;
&lt;br /&gt;
=== デフォルトの route が見つからない ===&lt;br /&gt;
&lt;br /&gt;
KDE4 システムでは、NetworkManager でワイヤレス接続を確立したときにデフォルトの route が作られません。ワイヤレス接続の route 設定を変更してデフォルトの選択 &amp;quot;Use only for resources on this connection&amp;quot; を削除すれば問題は解決します。&lt;br /&gt;
&lt;br /&gt;
=== 3G モデムが検知されない ===&lt;br /&gt;
&lt;br /&gt;
[[USB 3G モデム#Network_Manager]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== ラップトップで WLAN をオフに切り替える ===&lt;br /&gt;
&lt;br /&gt;
ラップトップについているスイッチを使って WiFi アダプタを無効にしてその後また有効にした時に NetworkManager が動作しないことがしばしばあります。これはほとんど {{ic|rfkill}} の問題です。[[公式リポジトリ]]から {{Pkg|rfkill}}{{Broken package link|置換パッケージ: {{Pkg|util-linux}}}} をインストールして、ドライバが {{ic|rfkill}} に無線アダプタの状態を通知しているかどうか確かめるために次のコマンドを実行してください:&lt;br /&gt;
&lt;br /&gt;
 $ watch -n1 rfkill list all&lt;br /&gt;
&lt;br /&gt;
アダプタの切り替えを行った後に identifier がブロックされたままの場合、手動でブロックを解除することができます (X は上のコマンドで出力された identifier の番号に置き換えてください):&lt;br /&gt;
&lt;br /&gt;
 # rfkill event unblock X&lt;br /&gt;
&lt;br /&gt;
=== 固定 IP 設定が DHCP に戻る ===&lt;br /&gt;
&lt;br /&gt;
未解決のバグのため、デフォルトの接続を固定 IP にしたとき、{{ic|nm-applet}} は正しく設定を保存できず、自動 DHCP に戻ります。&lt;br /&gt;
&lt;br /&gt;
この問題を解決するにはデフォルトの接続 (例: &amp;quot;Auto eth0&amp;quot;) を {{ic|nm-applet}} で編集してから、接続の名前を変更し (例: &amp;quot;my eth0&amp;quot;)、&amp;quot;Available to all users&amp;quot; のチェックを外して、固定 IP の設定をして、それから &#039;&#039;&#039;Apply&#039;&#039;&#039; をクリックする必要があります。これで新しい接続が指定した名前で保存されます。&lt;br /&gt;
&lt;br /&gt;
さらに、デフォルト接続を自動で接続して欲しくない場合があるかもしれません。そうするには、{{ic|nm-connection-editor}} を (root 以外で) 起動してください。接続エディタで、デフォルト接続 (例: &amp;quot;Auto eth0&amp;quot;) を編集して &amp;quot;Connect automatically&amp;quot; のチェックを外して &#039;&#039;&#039;Apply&#039;&#039;&#039; をクリックして終了してください。&lt;br /&gt;
&lt;br /&gt;
=== ノーマルユーザーで接続を編集できない ===&lt;br /&gt;
&lt;br /&gt;
[[#PolicyKit パーミッションの設定]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 隠れた無線ネットワークの削除 ===&lt;br /&gt;
&lt;br /&gt;
ステルスが有効になっているネットワークは無線のリストに表示されないので、GUI で削除することは出来ません。次のコマンドでネットワークを削除することが可能です:&lt;br /&gt;
&lt;br /&gt;
 # rm /etc/NetworkManager/system-connections/[SSID]&lt;br /&gt;
&lt;br /&gt;
他の接続でもこのコマンドは使えます。&lt;br /&gt;
&lt;br /&gt;
=== VPN が Gnome で動作しない ===&lt;br /&gt;
&lt;br /&gt;
Gnome で NetworkManager を使って openconnect や vpnc 接続を設定すると、ダイアログが表示されず以下のエラーが {{ic|/var/log/errors.log}} に現れることがあります:&lt;br /&gt;
&lt;br /&gt;
 localhost NetworkManager[399]: &amp;lt;error&amp;gt; [1361719690.10506] [nm-vpn-connection.c:1405] get_secrets_cb(): Failed to request VPN secrets #3: (6) No agents were available for this request.&lt;br /&gt;
&lt;br /&gt;
これは GNOME の NM アプレットが {{ic|/usr/lib/gnome-shell}} にダイアログスクリプトがあると想定しているのが原因です。NetworkManager のパッケージは {{ic|/usr/lib/networkmanager}} に配置します。&amp;quot;一時的な&amp;quot;修正として (このバグをしばらく回避できます)、以下のシンボリックリンクを作成してください:&lt;br /&gt;
&lt;br /&gt;
* OpenConnect の場合: {{ic|ln -s /usr/lib/networkmanager/nm-openconnect-auth-dialog /usr/lib/gnome-shell/}}&lt;br /&gt;
* VPNC (すなわち Cisco VPN) の場合: {{ic|ln -s /usr/lib/networkmanager/nm-vpnc-auth-dialog /usr/lib/gnome-shell/}}&lt;br /&gt;
&lt;br /&gt;
他の NM VPN プラグインでも同じように設定してください。&lt;br /&gt;
&lt;br /&gt;
=== Systemd のボトルネック ===&lt;br /&gt;
&lt;br /&gt;
時が立つにつれてログファイル ({{ic|/var/log/journal}}) が膨大になってしまうことがあります。そうすると NetworkManager を使う場合にブートパフォーマンスに大きな影響を与えます。参照: [[systemd#少しづつ起動時間が長くなっている]]。&lt;br /&gt;
&lt;br /&gt;
=== 定期的にネットワークが切断される (WiFi) ===&lt;br /&gt;
&lt;br /&gt;
WiFi ドライバーの中にはベースステーションのスキャン時に問題が発生するものがあります。VPN が切断されたりパケットが消失したり、ウェブページがロードされないなどの症状が起こります。&lt;br /&gt;
&lt;br /&gt;
{{ic|journalctl -f}} を実行すると、以下のようなメッセージが定期的にログに残っているならこの問題が関わっています:&lt;br /&gt;
&lt;br /&gt;
 NetworkManager[410]: &amp;lt;info&amp;gt;  (wlp3s0): roamed from BSSID 00:14:48:11:20:CF (my-wifi-name) to (none) ((none))&lt;br /&gt;
&lt;br /&gt;
パッチが適用された NetworkManager を使うことでこの種のスキャニングを防ぐことができます: {{AUR|networkmanager-noscan}}。&lt;br /&gt;
&lt;br /&gt;
もしくは、ローミングが重要でない場合、WiFi の接続プロファイルでアクセスポイントの BSSID をロックすることで定期的なスキャンを無効化できます。&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi パスワードの暗号化 ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは NetworkManager は {{ic|/etc/NetworkManager/system-connections/}} に存在する接続ファイルに平文でパスワードを保存します。保存されているパスワードを表示するには、以下のコマンドを実行:&lt;br /&gt;
&lt;br /&gt;
 # grep -H &#039;^psk=&#039; /etc/NetworkManager/system-connections/*&lt;br /&gt;
&lt;br /&gt;
パスワードにアクセスできるのは root ユーザーだけであり通常ユーザーは GUI の設定からアクセスできます (例: {{ic|nm-applet}})。&lt;br /&gt;
&lt;br /&gt;
平文ではなく暗号化された状態で保存することもできますが、ユーザーごとに接続の設定が必要になります。&lt;br /&gt;
&lt;br /&gt;
====Gnome-Keyring を使う====&lt;br /&gt;
&lt;br /&gt;
キーリングデーモンを起動してキーリングを解錠する必要があります。&lt;br /&gt;
&lt;br /&gt;
さらに、全てのユーザーでパスワードを保存しないように NetworkManager を設定しなければなりません。GNOME の {{ic|nm-applet}} を使う場合、ターミナルから {{ic|nm-connection-editor}} を起動してネットワーク接続を選択し、{{ic|Edit}} をクリックして、{{ic|Wifi-Security}} タブからパスワードの右のアイコンをクリックして {{ic|Store the password only for this user}} にチェックを入れてください。&lt;br /&gt;
&lt;br /&gt;
=== wifi でインターネット接続を共有する ===&lt;br /&gt;
&lt;br /&gt;
nm を使って数クリックでインターネット接続 (例: 3G または有線) を共有することができます。サポートされた wifi カードが必要になります (Atheros AR9xx や AR5xx を使っているカードがおそらく最適です)。&lt;br /&gt;
&lt;br /&gt;
[[ファイアウォール]]がインターネット共有を妨害することもあるので注意してください。&lt;br /&gt;
&lt;br /&gt;
==== Ad-hoc ====&lt;br /&gt;
&lt;br /&gt;
* 接続の共有をできるようにするために {{Pkg|dnsmasq}} パッケージを[[pacman|インストール]]してください&lt;br /&gt;
* {{ic|dnsmasq.conf}} を修正すると nm に干渉する可能性があります&lt;br /&gt;
* nm-applet -&amp;gt; Create new wireless network をクリック&lt;br /&gt;
* ウィザードに従う (WEP を使用する場合、パスワードの長さは5文字あるいは13文字なければなりません)&lt;br /&gt;
* 次に必要になった時のために設定は保存されます&lt;br /&gt;
&lt;br /&gt;
==== Real AP ====&lt;br /&gt;
&lt;br /&gt;
2012年から、インフラストラクチャモード (ad-hoc をサポートしていない Android で必要) は NetworkManager でサポートされています。&lt;br /&gt;
&lt;br /&gt;
参照: https://fedoraproject.org/wiki/Features/RealHotspot&lt;br /&gt;
&lt;br /&gt;
=== cron ジョブやスクリプトでネットワークが立ち上がっているか確認する ===&lt;br /&gt;
&lt;br /&gt;
cron ジョブの中にはネットワークが立ち上がっている必要があるジョブもあります。ネットワークが立ち上がっていない場合はジョブを実行しないようにすることができます。そのためには、NetworkManager の {{ic|nm-tool}} を使ってネットワークの状態を確認する &#039;&#039;&#039;if&#039;&#039;&#039; テストを追加します。インターフェイスが立ち上がっている場合はテストは通りますが、全てのインターフェイスがダウンになっている場合はテストを通過しません。無線でネットワークにつながっていたり、いなかったりするノートパソコンなどで有用です。&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
if [ $(nm-tool|grep State|cut -f2 -d&#039; &#039;) == &amp;quot;connected&amp;quot; ]; then&lt;br /&gt;
    #Whatever you want to do if the network is online&lt;br /&gt;
else&lt;br /&gt;
    #Whatever you want to do if the network is offline - note, this and the else above are optional&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
上記は {{ic|cron.hourly}} スクリプトを使って {{ic|fpupdate}} を実行し F-Prot ウイルススキャナをアップデートしている場合などに有用です。&lt;br /&gt;
&lt;br /&gt;
=== ログイン時に自動的に接続する ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、パスワードを入力しないと使えないネットワークの場合 NetworkManager は起動時に自動的に接続しません。自動的に接続するには以下の設定が必要です:&lt;br /&gt;
&lt;br /&gt;
# {{ic|nm-applet}} アイコンを右クリックして Edit Connections を選択し Wireless タブを開いて下さい&lt;br /&gt;
# 使用したい接続を選択して Edit ボタンをクリックしてください&lt;br /&gt;
# “Connect Automatically” と “Available to all users” のボックスにチェックを入れて下さい&lt;br /&gt;
一度ログアウトしてから再ログインすれば設定は完了です。&lt;br /&gt;
&lt;br /&gt;
=== ログインのあと自動でキーリングを解除する ===&lt;br /&gt;
&lt;br /&gt;
NetworkManager はログイン情報を必要とするネットワークに接続するときにログインキーリングにアクセスします。大抵の場合、ログイン時に自動的に解錠されますが、解錠されていない場合、NetworkManager はログイン時に接続することができません。&lt;br /&gt;
&lt;br /&gt;
==== GNOME ====&lt;br /&gt;
&lt;br /&gt;
{{Note|以下の方法は古い情報であり機能する保証はありません。}}&lt;br /&gt;
* {{ic|/etc/pam.d/gdm}} (もしくは {{ic|/etc/pam.d}} にある適当なデーモン) を開いて、&amp;quot;auth&amp;quot; と &amp;quot;session&amp;quot; ブロックの最後に以下の行を追加します:&lt;br /&gt;
  auth            optional        pam_gnome_keyring.so&lt;br /&gt;
  session         optional        pam_gnome_keyring.so  auto_start&lt;br /&gt;
&lt;br /&gt;
* {{ic|/etc/pam.d/passwd}} を開いて、&#039;password&#039; ブロックで以下の行を使います:&lt;br /&gt;
  password    optional    pam_gnome_keyring.so&lt;br /&gt;
&lt;br /&gt;
:次のログイン時に、パスワードをログイン時に自動的にロック解除するべきかどうか尋ねられるはずです。&lt;br /&gt;
&lt;br /&gt;
==== SLiM ログインマネージャ ====&lt;br /&gt;
[[SLiM#SLiM と Gnome Keyring]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 特定のデバイスを無視する ===&lt;br /&gt;
&lt;br /&gt;
時々 NetworkManager に特定のデバイスを無視してもらってアドレスやルートを設定しないのが望ましいことがあります。{{ic|/etc/NetworkManager/NetworkManager.conf}} で以下を使うことで MAC やインターフェイス名によってデバイスを無視するよう設定できます:&lt;br /&gt;
 [keyfile]&lt;br /&gt;
 unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth0&lt;br /&gt;
これを記述した後、NetworkManager を[[デーモン|再起動]]してください。設定したデバイスに触れないように NetworkManager でインターフェイスを設定できるはずです。&lt;br /&gt;
&lt;br /&gt;
=== 接続の高速化 ===&lt;br /&gt;
&lt;br /&gt;
==== IPv6 を無効にする ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager の余計な IPv6 クエリーによって接続が遅くなったりネットワークの再接続が起こることがあります。ローカルネットワークで IPv6 をサポートしていない場合、NetworkManager が IPv6 の接続を確立しようとして結局タイムアウトするので、通常よりもネットワークへの接続に時間がかかるかもしれません。解決策は NetworkManager で IPv6 を無効にすることで、これによってネットワーク接続が高速になります。以下は接続するネットワークごとに実行する必要があります。&lt;br /&gt;
&lt;br /&gt;
* ネットワーク状態アイコンを右クリック。&lt;br /&gt;
* &amp;quot;Edit Connections&amp;quot; をクリック。&lt;br /&gt;
* &amp;quot;Wired&amp;quot; か &amp;quot;Wireless&amp;quot; タブを見る。&lt;br /&gt;
* ネットワークの名前を選択。&lt;br /&gt;
* &amp;quot;Edit&amp;quot; をクリック。&lt;br /&gt;
* &amp;quot;IPv6 Settings&amp;quot; タブを見る。&lt;br /&gt;
* &amp;quot;Method&amp;quot; ドロップダウンから &amp;quot;Ignore/Disabled&amp;quot; を選択。&lt;br /&gt;
* &amp;quot;Save&amp;quot; をクリック。&lt;br /&gt;
&lt;br /&gt;
==== DHCPCD の ARP probing を無効にして DHCP をスピードアップ ====&lt;br /&gt;
&lt;br /&gt;
{{ic|dhcpcd}} には割り当てられた IP アドレスが実際に取得されているかどうか ARP を使って確認する DHCP 標準 ([https://www.ietf.org/rfc/rfc2131.txt RFC2131] section 2.2) の勧告の実装が含まれています。家庭ネットワークではほとんどの場合これは不要なので、次の行を {{ic|/etc/dhcpcd.conf}} に加えることで接続にかかる時間を5秒間短くできます:&lt;br /&gt;
&lt;br /&gt;
 noarp&lt;br /&gt;
&lt;br /&gt;
これは {{ic|dhcpcd}}　に {{ic|--noarp}} を渡すのと同じであり、上述の ARP probing を無効にして、DHCP によるネットワーク接続を高速化します。&lt;br /&gt;
&lt;br /&gt;
==== OpenDNS サーバーを使う ====&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/resolv.conf.opendns}} を以下のネームサーバで作成してください:&lt;br /&gt;
&lt;br /&gt;
 nameserver 208.67.222.222&lt;br /&gt;
 nameserver 208.67.220.220&lt;br /&gt;
&lt;br /&gt;
もしくは Google DNS サーバーを使って下さい: &lt;br /&gt;
&lt;br /&gt;
 nameserver 8.8.8.8&lt;br /&gt;
 nameserver 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
そして DHCP サーバーを OpenDNS サーバーに置き換える dispatcher を作って下さい:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/NetworkManager/dispatcher.d/dns-servers-opendns|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Use OpenDNS servers over DHCP discovered servers&lt;br /&gt;
&lt;br /&gt;
cp -f /etc/resolv.conf.opendns /etc/resolv.conf&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
スクリプトを実行可能にします:&lt;br /&gt;
&lt;br /&gt;
 # chmod +x /etc/NetworkManager/dispatcher.d/dns-servers-opendns&lt;br /&gt;
&lt;br /&gt;
=== DNS キャッシュを有効にする ===&lt;br /&gt;
&lt;br /&gt;
DNS リクエストは以前のリクエストをローカルに保存することで高速化することが可能です。NetworkManager には dnsmasq を使って DNS キャッシュを有効にするプラグインが存在しますが、今のところデフォルト設定では有効になっていません。しかしながら、以下の手順で簡単に有効にできます。&lt;br /&gt;
&lt;br /&gt;
まずは {{Pkg|dnsmasq}} を[[pacman|インストール]]してください。次に、{{ic|/etc/NetworkManager/NetworkManager.conf}} を編集して次の行を {{ic|[main]}} セクションに追加してください:&lt;br /&gt;
&lt;br /&gt;
 dns=dnsmasq&lt;br /&gt;
&lt;br /&gt;
そして NetworkManager を再実行するかパソコンを再起動してください。NetworkManager は自動的に dnsmasq を起動し 127.0.0.1 を {{ic|/etc/resolv.conf}} に追加します。実際の DNS サーバーは {{ic|/var/run/NetworkManager/dnsmasq.conf}} で見つかります。dnsmasq が使われているか確かめるには、dig で同じ DNS ルックアップを二度行なって、それからサーバーとクエリの時間を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== MAC アドレスのランダム化の設定 === &lt;br /&gt;
&lt;br /&gt;
バージョン 1.4.0 現在、NetworkManager では2種類の MAC アドレスランダム化をサポートしています。スキャン時のランダム化と定常的なランダム化です。どちらのモードも {{ic|/etc/NetworkManager/NetworkManager.conf}} で設定できます。&lt;br /&gt;
&lt;br /&gt;
無線スキャン時のランダム化はバージョン 1.2.0 からデフォルトで有効になっており、以下の行を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加することで無効にできます:&lt;br /&gt;
&lt;br /&gt;
 [device]&lt;br /&gt;
 wifi.scan-rand-mac-address=no&lt;br /&gt;
&lt;br /&gt;
{{Tip|1=MAC アドレスのランダム化を無効にすることで接続が安定することがあります。[https://bbs.archlinux.org/viewtopic.php?id=220101] を参照。}}&lt;br /&gt;
&lt;br /&gt;
定常的なランダム化では接続するたびに MAC アドレスが変わります。MAC アドレスでログイン状態を記録するポータルなどで有用です。有効にするには以下のオプションを使用:&lt;br /&gt;
&lt;br /&gt;
 [connection]&lt;br /&gt;
 wifi.cloned-mac-address=random&lt;br /&gt;
&lt;br /&gt;
または:&lt;br /&gt;
  &lt;br /&gt;
 [connection]&lt;br /&gt;
 ethernet.cloned-mac-address=random&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://blogs.gnome.org/thaller/2016/08/26/mac-address-spoofing-in-networkmanager-1-4-0/ こちら] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== IPv6 プライバシー拡張の有効化 ===&lt;br /&gt;
&lt;br /&gt;
[[IPv6#NetworkManager]] を見てください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://blogs.gnome.org/dcbw/2015/02/16/networkmanager-for-administrators-part-1/ NetworkManager for Administrators Part 1]&lt;/div&gt;</summary>
		<author><name>Nishikawa</name></author>
	</entry>
</feed>