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

From ArchWiki
Jump to: navigation, search
m
m (netcfg からの移行)
Line 60: Line 60:
 
{{Warning|{{ic|netctl}} は {{ic|netcfg}} と衝突します。従って {{ic|netctl}} をインストールする前に既存の {{ic|netcfg@<profile>}} サービスを無効にして下さい。}}
 
{{Warning|{{ic|netctl}} は {{ic|netcfg}} と衝突します。従って {{ic|netctl}} をインストールする前に既存の {{ic|netcfg@<profile>}} サービスを無効にして下さい。}}
  
{{ic|netctl}} はプロファイルの保存に {{ic|/etc/netctl}} を使います。{{ic|/etc/network.d}} ({{ic|netcfg}} のプロファイル保存場所) ''ではありません''。
+
{{ic|netctl}} はプロファイルの保存に {{ic|/etc/netctl}} を使います。{{ic|/etc/network.d}} ({{ic|netcfg}} のプロファイル保存場所) ''ではありません''。
  
 
netcfg からの移行をするためには、最低でも以下の操作が必要です:
 
netcfg からの移行をするためには、最低でも以下の操作が必要です:
Line 66: Line 66:
 
*netctl.profile(5) に従ってプロファイル内の変数の名前を修正する (ほとんどの変数の名前は UpperCamelCase です、つまり CONNECTION= は Connection= になります)。
 
*netctl.profile(5) に従ってプロファイル内の変数の名前を修正する (ほとんどの変数の名前は UpperCamelCase です、つまり CONNECTION= は Connection= になります)。
 
*固定 IP 設定では、Address= 変数で IP の後ろにネットマスクを付ける (例: Address=('192.168.1.23<b>/24</b>' '192.168.1.87<b>/24</b>') サンプルプロファイルより)。  
 
*固定 IP 設定では、Address= 変数で IP の後ろにネットマスクを付ける (例: Address=('192.168.1.23<b>/24</b>' '192.168.1.87<b>/24</b>') サンプルプロファイルより)。  
*If you setup a wireless profile according in the {{ic|wireless-wpa-configsection}} example, note that this overrides {{ic|wpa_supplicant}} options defined above the brackets. For a connection to a hidden wireless network, add {{ic|scan_ssid<nowiki>=1</nowiki>}} to the options in the {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} does not work there.
+
*{{ic|wireless-wpa-configsection}} サンプルに従って無線プロファイルを設定している場合、定義済みの {{ic|wpa_supplicant}} オプションを上書きしてしまうので注意してください。隠された無線ネットワークに接続するには、{{ic|wireless-wpa-configsection} 内で {{ic|scan_ssid<nowiki>=1</nowiki>}} をオプションに追加してください。; {{ic|Hidden<nowiki>=</nowiki>yes}} は効果がありません。
 
*interface 変数などクオートが必要ない変数のクォーテーションを外す (これは見た目を整えるためです)。
 
*interface 変数などクオートが必要ない変数のクォーテーションを外す (これは見た目を整えるためです)。
 
*前の NETWORKS に設定していたプロファイルごとに {{ic|netctl enable <profile>}} を実行する。'last' はこの方法では使えません、netctl.special(7) を見て下さい。
 
*前の NETWORKS に設定していたプロファイルごとに {{ic|netctl enable <profile>}} を実行する。'last' はこの方法では使えません、netctl.special(7) を見て下さい。

Revision as of 07:24, 17 April 2013

概要 help replacing me
netctl とネットワークプロファイルスクリプトを使ってネットワークを設定するガイド。

Netctl は netcfg を置き換える新しい Arch のプロジェクトです。Netctl は Arch Linux の CLI ベースのネットワーク管理の将来(そして現在)です。

インストール

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

必読

質の高い man ページを作成するために相当な尽力がなされました。netctl を使う前にユーザーは以下の man ページを読んで下さい:

netctlnetcfg は衝突するパッケージです。プロファイルを間違って設定していると、netctl をインストールした後、接続がなくなってしまいます。

設定

netctl をネットワークプロファイルマネージャのための systemd のサービスの状態を確認・操作するために使うことができます。ネットワーク接続を設定するのをアシストするために設定サンプルファイルが提供されています。これらのサンプルプロファイルは /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/

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

# netctl start <profile>

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

自動化

ひとつだけのプロファイル

プロファイルをひとつだけしか使っていない場合、プロファイルの起動に成功したなら、次を実行して有効 (enabled) にすることができます。

# netctl enable <profile> 

このコマンドはコンピュータが起動した時に実行される systemd サービスを作成・有効にします。

複数のプロファイル

netcfg には net-auto-wireless.servicenet-auto-wired.service があったのに対して、netctl では無線プロファイルには netctl-auto@<interface>.service を、有線プロファイルには netctl-ifplugd@<interface>.service を使います。netctl-auto@<interface>.service を無線インターフェースで動作させるには、wpa_actiond パッケージをインストールする必要があります。netctl-ifplugd@<interface>.service を有線インターフェースで動作させるには、ifplugd パッケージをインストールする必要があります。適宜に /etc/ifplugd/ifplugd.conf を設定して下さい。

プロファイルを設定して動作することを確認したら、以下を実行してサービスを有効にしてください

# systemctl enable netctl-auto@<interface>.service 
# systemctl enable netctl-ifplugd@<interface>.service  

前に netctl を使ってプロファイルを有効にしていた場合は

# netctl disable <profile> 

を実行して起動時に二重にプロファイルが実行されるのを止めて下さい。wpa_supplicant で問題が発生する可能性があります。

Note: 有効にしたプロファイルを修正する必要があるときは、netctl reenable <profile> を実行して変更を適用して下さい。

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'