Difference between revisions of "Netctl (日本語)"

From ArchWiki
Jump to: navigation, search
m (netcfg からの移行)
m
Line 1: Line 1:
 
{{Lowercase title}}
 
{{Lowercase title}}
 
[[Category:Networking (日本語)]]
 
[[Category:Networking (日本語)]]
[[fr:Netctl]]
+
[[cs:Netctl]]
 
[[en:Netctl]]
 
[[en:Netctl]]
 
[[es:Netctl]]
 
[[es:Netctl]]
[[zh-CN:Netctl]]
+
[[fr:Netctl]]
 
[[ru:Netctl]]
 
[[ru:Netctl]]
 +
[[zh-CN:Netctl]]
 
{{Article summary start|概要}}
 
{{Article summary start|概要}}
 
{{Article summary text|netctl とネットワークプロファイルスクリプトを使ってネットワークを設定するガイド。}}
 
{{Article summary text|netctl とネットワークプロファイルスクリプトを使ってネットワークを設定するガイド。}}
 +
{{Article summary heading|概括}}
 +
{{Article summary text|{{Networking overview (日本語)}}}}
 +
{{Article summary heading|資料}}
 +
{{Article summary wiki|Bridge with netctl}}
 
{{Article summary end}}
 
{{Article summary end}}
Netctl は [[netcfg (日本語)|netcfg]] を置き換える新しい Arch のプロジェクトです。Netctl は Arch Linux の CLI ベースのネットワーク管理の将来(そして現在)です。
+
Netctl はプロファイルを使ってネットワーク接続を管理・設定する CLI ベースのツールです。netctl は古い ''netcfg'' ユーティリティを置き換える新しい Arch Linux の独自プロジェクトです。Netctl は Arch Linux の CLI ベースのネットワーク管理の将来(そして現在)です。
  
 
==インストール==
 
==インストール==
{{Pkg|netctl}} パッケージが[[Official Repositories (日本語)|公式リポジトリ]]から利用できます。netctl をインストールすると {{pkg|netcfg}} が置き換えられます。
+
 
 +
{{Pkg|netctl}} パッケージが[[Official Repositories (日本語)|公式リポジトリ]]から利用できます。netctl をインストールすると {{AUR|netcfg}} が置き換えられます。
 +
 
 +
{{Pkg|netctl}} と {{AUR|netcfg}} は衝突するパッケージです。プロファイルが正しく設定されていないと、'''netctl''' をインストールした後に接続を失う可能性があります。
 +
 
 +
{{Note|{{ic|1=systemctl --type=service}} を使ってネットワークを設定するサービスが動作していないことを確認するとよいでしょう。ネットワークサービスが複数あると衝突します。}}
  
 
==必読==
 
==必読==
質の高い man ページを作成するために相当な尽力がなされました。netctl を使う前にユーザーは以下の man ページを読んで下さい:
+
 
 +
netctl を使う前に以下の man ページを読むのを推奨します:
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.1.txt netctl]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.1.txt netctl]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.special.7.txt netctl.special]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.special.7.txt netctl.special]
 
{{Pkg|netctl}} と {{Pkg|netcfg}} は衝突するパッケージです。プロファイルを間違って設定していると、{{Pkg|netctl}} をインストールした後、接続がなくなってしまいます。
 
  
 
==設定==
 
==設定==
  
{{ic|netctl}} をネットワークプロファイルマネージャのための systemd のサービスの状態を確認・操作するために使うことができます。ネットワーク接続を設定するのをアシストするために設定サンプルファイルが提供されています。これらのサンプルプロファイルは {{ic|/etc/netctl/examples/}} にあります。一般的な設定として以下が含まれています:
+
{{ic|netctl}} はプロファイルを使ってネットワーク接続を管理します。プロファイルファイルは {{ic|/etc/netctl/}} に保存されています。ユーザーがネットワーク接続を設定するのを助けるために、設定のサンプルファイルが提供されています。これらのサンプルプロファイルが置かれている場所は {{ic|/etc/netctl/examples/}} です。一般的な設定として以下が用意されています:
 
*ethernet-dhcp
 
*ethernet-dhcp
 
*ethernet-static
 
*ethernet-static
Line 31: Line 40:
  
 
サンプルプロファイルを使うには、プロファイルのどれかを {{ic|/etc/netctl/examples/}} から {{ic|/etc/netctl/}} にコピーしてあなたの設定にあわせてプロファイルを修正して下さい:
 
サンプルプロファイルを使うには、プロファイルのどれかを {{ic|/etc/netctl/examples/}} から {{ic|/etc/netctl/}} にコピーしてあなたの設定にあわせてプロファイルを修正して下さい:
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/
+
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/''profile''
  
 
プロファイルを作成したら、新しく作ったプロファイルを使って接続を確立するために次を実行して下さい:
 
プロファイルを作成したら、新しく作ったプロファイルを使って接続を確立するために次を実行して下さい:
  # netctl start <profile>
+
  # netctl start ''profile''
 +
 
 +
{{Note|''profile'' はファイル名です、フルパスを含みません。フルパスを指定すると netctl はエラーコードを返します。}}
 +
 
 +
上のコマンドが失敗する場合、{{ic|journalctl -xn}} や {{ic|netctl status ''profile''}} を使って失敗の詳細情報を取得して下さい。そして設定を修正してから再テストして下さい。
 +
 
 +
===自動操作===
 +
 
 +
プロファイルを(一つのインターフェイスに)一つしか使わなかったり、手動でプロファイルを切り替える場合、[[#基本的な方法|基本的な方法]]を使って下さい。一般的な例として、サーバー・ワークステーション・ルーターなどがあります。
 +
 
 +
頻繁に複数のプロファイルを切り替える必要がある時は、[[#プロファイルの自動切り替え|プロファイルの自動切り替え]]を使って下さい。一般的な例として、ラップトップがあります。
 +
 
 +
==== 基本的な方法 ====
 +
 
 +
この方法では、インターフェイス毎に一つのプロファイルを固定して起動することができます。最初にプロファイルが問題なく起動することを手動で確認して、それから次のコマンドで {{ic|enabled}} にしてください:
 +
 
 +
# netctl enable ''profile''
 +
 
 +
このコマンドによって [[systemd (日本語)|systemd]] サービスが作成・有効にされ、コンピュータが立ち上がる時にサービスが起動するようになります。
 +
 
 +
{{Note|ブート時 (もしくはサービスの起動時) にプロファイルの起動が成功した時に初めて接続は確立されます。具体的に言うと、有線接続の場合はケーブルが挿さっている必要があり、無線接続の場合、ネットワークが圏内である必要があります。}}
 +
 
 +
{{Tip|ケーブルが接続されているかどうかにかかわらず、固定 IP プロファイルを有線インターフェイスで有効にするには、プロファイルの中で {{ic|1=SkipNoCarrier=yes}} を使って下さい。}}
 +
 
 +
==== プロファイルの自動切り替え ====
 +
 
 +
{{ic|netctl}} は自動でプロファイルを切り替えるために2つの特別な [[systemd (日本語)|systemd]] サービスを用意しています: 無線接続用の {{ic|netctl-auto@''interface''.service}} と有線接続用の {{ic|netctl-ifplugd@''interface''.service}} です。{{ic|netctl-auto@''interface''.service}} を使うと、あなたがあるネットワークの圏内から他のネットワークの圏内に移動したときに netctl のプロファイルが変更されます。{{ic|netctl-ifplugd@''interface''.service}} を使うと、あなたがケーブルを抜き差しするたびに netctl プロファイルが変更されます。
 +
 
 +
{{Note|{{ic|netcfg}} では同じ目的で {{ic|net-auto-wireless.service}} と {{ic|net-auto-wired.service}} を使っていました。}}
  
上のコマンドが失敗する場合、{{ic|journalctl -xn}} {{ic|netctl status <profile>}} を使って失敗の詳細情報を取得して下さい。そして設定を修正してから再テストして下さい。
+
まず必要なパッケージを[[pacman (日本語)|インストール]]してください:
 +
* {{ic|netctl-auto@''interface''.service}} を使うには {{Pkg|wpa_actiond}} パッケージが必要です。
 +
* {{ic|netctl-ifplugd@''interface''.service}} を使うには {{Pkg|ifplugd}} パッケージが必要です。
  
===自動化===
+
Now configure all profiles that {{ic|netctl-auto@''interface''.service}} or {{ic|netctl-ifplugd@''interface''.service}} can start. If you want some profile '''not''' to be started automatically by these services, you have to explicitly add {{ic|1=ExcludeAuto=yes}} to that profile. You can use {{ic|1=Priority=}} to set priority of some profile when multiple profiles are available. See {{ic|netctl.profile(5)}} for details.
====ひとつだけのプロファイル====
+
プロファイルをひとつだけしか使っていない場合、プロファイルの起動に成功したなら、次を実行して有効 ({{ic|enabled}}) にすることができます。
+
# netctl enable <profile>
+
このコマンドはコンピュータが起動した時に実行される [[systemd (日本語)|systemd]] サービスを作成・有効にします。
+
  
====複数のプロファイル====
+
{{Warning|Automatic selection of a WPA-enabled profile by netctl-auto is not possible with option {{ic|1=Security=wpa-config}}, please use {{ic|1=Security=wpa-configsection}} instead.}}
{{ic|netcfg}} には {{ic|net-auto-wireless.service}} や {{ic|net-auto-wired.service}} があったのに対して、{{ic|netctl}} では無線プロファイルには {{ic|netctl-auto@<interface>.service}} を、有線プロファイルには {{ic|netctl-ifplugd@<interface>.service}} を使います。{{ic|netctl-auto@<interface>.service}} を無線インターフェースで動作させるには、{{pkg|wpa_actiond}} パッケージをインストールする必要があります。{{ic|netctl-ifplugd@<interface>.service}} を有線インターフェースで動作させるには、{{pkg|ifplugd}} パッケージをインストールする必要があります。適宜に {{ic|/etc/ifplugd/ifplugd.conf}} を設定して下さい。
+
  
プロファイルを設定して動作することを確認したら、以下を実行してサービスを有効にしてください
+
Once your profiles are set and verified to be working, simply enable these services using ''systemctl'':
  # systemctl enable netctl-auto@<interface>.service  
+
  # systemctl enable netctl-auto@''interface''.service  
  # systemctl enable netctl-ifplugd@<interface>.service   
+
  # systemctl enable netctl-ifplugd@''interface''.service   
  
前に {{ic|netctl}} を使ってプロファイルを有効にしていた場合は
+
{{Warning|If any of the profiles contain errors, such as an empty {{ic|1=Key=}} variable, the unit will fail to load at boot.}}
# netctl disable <profile>
+
を実行して起動時に二重にプロファイルが実行されるのを止めて下さい。wpa_supplicant で問題が発生する可能性があります。
+
  
{{Note|有効にしたプロファイルを修正する必要があるときは、{{ic|netctl reenable <profile>}} を実行して変更を適用して下さい。}}
+
{{Warning|This method conflicts with the [[#Basic method|basic method]]. If you have previously enabled a profile through {{ic|netctl}}, run {{bc|# netctl disable ''profile''}} to prevent the profile from starting twice at boot.}}
  
 
===netcfg からの移行===
 
===netcfg からの移行===

Revision as of 09:33, 6 August 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end Netctl はプロファイルを使ってネットワーク接続を管理・設定する CLI ベースのツールです。netctl は古い netcfg ユーティリティを置き換える新しい Arch Linux の独自プロジェクトです。Netctl は Arch Linux の CLI ベースのネットワーク管理の将来(そして現在)です。

インストール

netctl パッケージが公式リポジトリから利用できます。netctl をインストールすると netcfgAUR が置き換えられます。

netctlnetcfgAUR は衝突するパッケージです。プロファイルが正しく設定されていないと、netctl をインストールした後に接続を失う可能性があります。

Note: systemctl --type=service を使ってネットワークを設定するサービスが動作していないことを確認するとよいでしょう。ネットワークサービスが複数あると衝突します。

必読

netctl を使う前に以下の man ページを読むのを推奨します:

設定

netctl はプロファイルを使ってネットワーク接続を管理します。プロファイルファイルは /etc/netctl/ に保存されています。ユーザーがネットワーク接続を設定するのを助けるために、設定のサンプルファイルが提供されています。これらのサンプルプロファイルが置かれている場所は /etc/netctl/examples/ です。一般的な設定として以下が用意されています:

  • ethernet-dhcp
  • ethernet-static
  • wireless-wpa
  • wireless-wpa-static

サンプルプロファイルを使うには、プロファイルのどれかを /etc/netctl/examples/ から /etc/netctl/ にコピーしてあなたの設定にあわせてプロファイルを修正して下さい:

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/profile

プロファイルを作成したら、新しく作ったプロファイルを使って接続を確立するために次を実行して下さい:

# netctl start profile
Note: profile はファイル名です、フルパスを含みません。フルパスを指定すると netctl はエラーコードを返します。

上のコマンドが失敗する場合、journalctl -xnnetctl status profile を使って失敗の詳細情報を取得して下さい。そして設定を修正してから再テストして下さい。

自動操作

プロファイルを(一つのインターフェイスに)一つしか使わなかったり、手動でプロファイルを切り替える場合、基本的な方法を使って下さい。一般的な例として、サーバー・ワークステーション・ルーターなどがあります。

頻繁に複数のプロファイルを切り替える必要がある時は、プロファイルの自動切り替えを使って下さい。一般的な例として、ラップトップがあります。

基本的な方法

この方法では、インターフェイス毎に一つのプロファイルを固定して起動することができます。最初にプロファイルが問題なく起動することを手動で確認して、それから次のコマンドで enabled にしてください:

# netctl enable profile

このコマンドによって systemd サービスが作成・有効にされ、コンピュータが立ち上がる時にサービスが起動するようになります。

Note: ブート時 (もしくはサービスの起動時) にプロファイルの起動が成功した時に初めて接続は確立されます。具体的に言うと、有線接続の場合はケーブルが挿さっている必要があり、無線接続の場合、ネットワークが圏内である必要があります。
Tip: ケーブルが接続されているかどうかにかかわらず、固定 IP プロファイルを有線インターフェイスで有効にするには、プロファイルの中で SkipNoCarrier=yes を使って下さい。

プロファイルの自動切り替え

netctl は自動でプロファイルを切り替えるために2つの特別な systemd サービスを用意しています: 無線接続用の netctl-auto@interface.service と有線接続用の netctl-ifplugd@interface.service です。netctl-auto@interface.service を使うと、あなたがあるネットワークの圏内から他のネットワークの圏内に移動したときに netctl のプロファイルが変更されます。netctl-ifplugd@interface.service を使うと、あなたがケーブルを抜き差しするたびに netctl プロファイルが変更されます。

Note: netcfg では同じ目的で net-auto-wireless.servicenet-auto-wired.service を使っていました。

まず必要なパッケージをインストールしてください:

  • netctl-auto@interface.service を使うには wpa_actiond パッケージが必要です。
  • netctl-ifplugd@interface.service を使うには ifplugd パッケージが必要です。

Now configure all profiles that netctl-auto@interface.service or netctl-ifplugd@interface.service can start. If you want some profile not to be started automatically by these services, you have to explicitly add ExcludeAuto=yes to that profile. You can use Priority= to set priority of some profile when multiple profiles are available. See netctl.profile(5) for details.

Warning: Automatic selection of a WPA-enabled profile by netctl-auto is not possible with option Security=wpa-config, please use Security=wpa-configsection instead.

Once your profiles are set and verified to be working, simply enable these services using systemctl:

# systemctl enable netctl-auto@interface.service 
# systemctl enable netctl-ifplugd@interface.service  
Warning: If any of the profiles contain errors, such as an empty Key= variable, the unit will fail to load at boot.
Warning: This method conflicts with the basic method. If you have previously enabled a profile through netctl, run
# netctl disable profile
to prevent the profile from starting twice at boot.

netcfg からの移行

Warning: netctlnetcfg と衝突します。従って netctl をインストールする前に既存の netcfg@<profile> サービスを無効にして下さい。

netctl はプロファイルの保存に /etc/netctl を使います。/etc/network.d (netcfg のプロファイル保存場所) ではありません

netcfg からの移行をするためには、最低でも以下の操作が必要です:

  • ネットワークプロファイルファイルを新しいディレクトリに移動する。
  • netctl.profile(5) に従ってプロファイル内の変数の名前を修正する (ほとんどの変数の名前は UpperCamelCase です、つまり CONNECTION= は Connection= になります)。
  • 固定 IP 設定では、Address= 変数で IP の後ろにネットマスクを付ける (例: Address=('192.168.1.23/24' '192.168.1.87/24') サンプルプロファイルより)。
  • wireless-wpa-configsection サンプルに従って無線プロファイルを設定している場合、定義済みの wpa_supplicant オプションを上書きしてしまうので注意してください。隠された無線ネットワークに接続するには、{{ic|wireless-wpa-configsection} 内で scan_ssid=1 をオプションに追加してください。; Hidden=yes は効果がありません。
  • interface 変数などクオートが必要ない変数のクォーテーションを外す (これは見た目を整えるためです)。
  • 前の NETWORKS に設定していたプロファイルごとに netctl enable <profile> を実行する。'last' はこの方法では使えません、netctl.special(7) を見て下さい。
  • netcfg-menu の代わりに netctl list / netctl start <profile> を使う。wifi-menu は使い続けられます。

パスワードの暗号化 (256-bit PSK)

パスワードを平文で保存したくない場合、256-bit Encrypted PSK を生成するという方法があります。

まず、公式リポジトリから wpa_actiondインストールして下さい。

次に、wpa_passphrase を使ってあなたの 256-bit Encrypted PSK を生成してください:

使用方法: wpa_passphrase [ssid] [passphrase]
$ wpa_passphrase archlinux freenode
Note: 表示された情報はプロファイルで使うのでターミナルを閉じないで下さい。

新しいターミナルを開きサンプルファイル wireless-wpa/etc/netctl/examples から /etc/netctl にコピーしてください。

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa

それからお好きなテキストエディタを使って /etc/netctl/wireless-wpa を編集する必要があります。先に wpa_passphrase を使って生成された Encrypted Pre-shared Key (psk) をプロファイルの Key 変数に追加してください。

256-bit Encrypted PSK を含むネットワークプロファイル wireless-wpa は以下のようになるはずです:

/etc/netctl/wireless-wpa
Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK'
Interface=wlp2s2
Connection=wireless
Security=wpa
IP=dhcp
ESSID=archlinux
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
Note: Key= には netctl.profile(5) の最後で説明されている special non-quoted rules を使うようにして下さい。

サポート

公式アナウンススレッド: https://bbs.archlinux.org/viewtopic.php?id=157670

Tips and Tricks

2013年4月現在、netcfg current のかわりになるコマンドは netctl にありません。タイル型ウィンドウマネージャのステータスバーなどでこのコマンドを使っている場合は、次のコマンドで代用できます:

# netctl list | sed -n 's/^\* //p'

もしくは、netctl-auto を使って接続している場合:

# wpa_cli -i <interface> status | sed -n 's/^id_str=//p'