「アドホックネットワーク」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:無線ネットワーク en:Ad-hoc networking zh-CN:Ad-hoc networking {{Related articles start}} {{Related|ネットワーク設定}} {{Related|ワ...」)
 
8行目: 8行目:
 
{{Related|インターネット共有}}
 
{{Related|インターネット共有}}
 
{{Related articles end}}
 
{{Related articles end}}
  +
IBSS (Independent Basic Service Set) ネットワーク (アドホックネットワークとも呼ばれます) は中央制御を必要としない、ワイヤレスで互いに通信するための通信方式です。直接一対一で通信を行う、P2P ネットワークの一例です。
An IBSS (Independent Basic Service Set) network, often called an ad-hoc network, is a way to have a group of devices talk to each other wirelessly, without a central controller. It is an example of a peer-to-peer network, in which all devices talk directly to each other, with no inherent relaying.
 
   
  +
アドホックネットワークを使うことで、[[インターネット共有|インターネット接続の共有]]などが行えます。
For example, ad-hoc networking may be used to [[Internet sharing|share an internet connection]].
 
   
 
== 要件 ==
 
== 要件 ==
   
  +
* ネットワークに接続する全てのデバイスに nl80211 対応の無線デバイスが必要です (例: ath9k)。
* A nl80211 compatible wireless device (e.g. ath9k) on all devices which will connect to the network
 
   
 
== Wifi リンク層 ==
 
== Wifi リンク層 ==
   
  +
IBSS ネットワークはピアツーピアネットワークなので、必要な wifi リンクの設定は全てのデバイスで共通です。
Since IBSS network is a peer-to-peer network, the steps necessary to set up the wifi link layer should be the same on all devices.
 
   
{{Tip|It is possible to create complex network topologies, see [http://wireless.kernel.org/en/users/Documentation/iw/vif Linux Wireless documentation] for advanced examples.}}
+
{{Tip|複雑なネットワークトポロジーを作成することも可能です。高度な例については [http://wireless.kernel.org/en/users/Documentation/iw/vif Linux Wireless documentation] を見て下さい。}}
   
 
=== 手動設定 ===
 
=== 手動設定 ===
   
  +
{{Warning|以下の方法では暗号化がないアドホックネットワークを作成します。WPA 暗号を使用する方法は [[#WPA supplicant]] を見て下さい。}}
{{Warning|This method creates '''unencrypted''' ad-hoc network. See [[#WPA supplicant]] for method using WPA encryption.}}
 
   
 
以下で使っているコマンドの詳しい説明は[[ワイヤレス設定#手動セットアップ]]を見て下さい。また、{{Pkg|iw}} を[[pacman|インストール]]しておいてください。
 
以下で使っているコマンドの詳しい説明は[[ワイヤレス設定#手動セットアップ]]を見て下さい。また、{{Pkg|iw}} を[[pacman|インストール]]しておいてください。
36行目: 36行目:
 
# ip link set ''interface'' up
 
# ip link set ''interface'' up
   
Now you can create an ad-hoc network. Replace ''your_ssid'' with the name of the network and ''frequency'' with the frequency in MHz, depending on which channel you want to use. See the Wikipedia page [[Wikipedia:List_of_WLAN_channels#Interference_Concerns|List of WLAN channels]] for a table showing frequencies of individual channels.
+
これでアドホックネットワークを作成することができます。''your_ssid'' はネットワークの名前に、''frequency'' は使用したい周波数 (MHz) に置き換えて下さい。使用できる周波数の表が Wikipedia [[Wikipedia:List_of_WLAN_channels#Interference_Concerns|List of WLAN channels]] ページに載っています。
   
 
# iw ''interface'' ibss join ''your_ssid'' ''frequency''
 
# iw ''interface'' ibss join ''your_ssid'' ''frequency''
42行目: 42行目:
 
=== WPA supplicant ===
 
=== WPA supplicant ===
   
  +
{{Note|以下の方法では WPA 暗号を使用するアドホックネットワークを作成します。2013年8月現在 WPA2 はサポートされていません。}}
{{Note|This method creates ad-hoc network using WPA encryption. WPA2 is currently not supported (August 2013).}}
 
   
Ensure that {{Pkg|wpa_supplicant}} is [[pacman|installed]], and create a configuration file for it (see [[WPA supplicant]] for details).
+
{{Pkg|wpa_supplicant}} [[pacman|インストール]]して、設定ファイルを作成してください (詳しくは [[WPA supplicant]] を参照):
   
 
{{hc|/etc/wpa_supplicant-adhoc.conf|<nowiki>
 
{{hc|/etc/wpa_supplicant-adhoc.conf|<nowiki>
64行目: 64行目:
 
</nowiki>}}
 
</nowiki>}}
   
  +
以下のコマンドを使って、ネットワークに接続する全てのデバイスで ''wpa_supplicant'' を起動します:
Run ''wpa_supplicant'' on all devices connected to the network with the following command:
 
   
 
# wpa_supplicant -B -i ''interface'' -c /etc/wpa_supplicant-adhoc.conf -D nl80211,wext
 
# wpa_supplicant -B -i ''interface'' -c /etc/wpa_supplicant-adhoc.conf -D nl80211,wext
70行目: 70行目:
 
== ネットワーク設定 ==
 
== ネットワーク設定 ==
   
  +
最後に IP アドレスをネットワーク上の全てのデバイスに割り当てます。複数の方法が存在します:
The final step is to assign an IP address to all devices in the network. There are multiple ways to do this:
 
   
  +
* 固定 IP アドレスを割り当てる。詳しくは[[ネットワーク設定#固定 IP アドレス]]を見て下さい。
* Assign static IP addresses. See [[Network configuration#Static IP address]] for details.
 
* Running DHCP server on one device. See [[dhcpd]] or [[dnsmasq]] for details.
+
* デバイスのどれかで DHCP サーバーを動かす。詳しくは [[dhcpd]] [[dnsmasq]] を見て下さい。
* Running ''avahi-autoipd''. See [[Avahi#Obtaining IPv4LL IP address]] for details.
+
* ''avahi-autoipd'' を動かす。詳しくは [[Avahi#IPv4LL IP アドレスの取得]] を見て下さい。
   
  +
アドホックネットワークでインターネット接続を共有したい場合、[[インターネット共有]]を見て下さい。
If you want to share an internet connection to the ad-hoc network, see [[Internet sharing]].
 
   
 
== Tips and tricks ==
 
== Tips and tricks ==
82行目: 82行目:
 
=== NetworkManager を使う ===
 
=== NetworkManager を使う ===
   
If you use [[NetworkManager]], you can use ''nm-applet'' for ad-hoc network configuration instead of the manual method described above. See [[NetworkManager#Ad-hoc]] for details.
+
[[NetworkManager]] を使っている場合、上記のように手動で設定する代わりに ''nm-applet'' を使ってアドホックネットワークの設定ができます。詳しくは [[NetworkManager#Ad-hoc]] を見て下さい。
   
{{Note|NetworkManager does not support WPA encryption in ad-hoc mode.}}
+
{{Note|NetworkManager はアドホックモードでの WPA 暗号化をサポートしていません。}}
   
 
=== カスタム systemd サービス (wpa_supplicant と固定 IP) ===
 
=== カスタム systemd サービス (wpa_supplicant と固定 IP) ===
   
  +
以下のテンプレートを使うことで無線アドホックネットワークを使うことができます:
You can use the following templates to enable wireless ad-hoc networking:
 
   
 
{{hc|/etc/conf.d/network-wireless-adhoc@<interface>|<nowiki>
 
{{hc|/etc/conf.d/network-wireless-adhoc@<interface>|<nowiki>

2015年7月10日 (金) 20:39時点における版

関連記事

IBSS (Independent Basic Service Set) ネットワーク (アドホックネットワークとも呼ばれます) は中央制御を必要としない、ワイヤレスで互いに通信するための通信方式です。直接一対一で通信を行う、P2P ネットワークの一例です。

アドホックネットワークを使うことで、インターネット接続の共有などが行えます。

要件

  • ネットワークに接続する全てのデバイスに nl80211 対応の無線デバイスが必要です (例: ath9k)。

Wifi リンク層

IBSS ネットワークはピアツーピアネットワークなので、必要な wifi リンクの設定は全てのデバイスで共通です。

ヒント: 複雑なネットワークトポロジーを作成することも可能です。高度な例については Linux Wireless documentation を見て下さい。

手動設定

警告: 以下の方法では暗号化がないアドホックネットワークを作成します。WPA 暗号を使用する方法は #WPA supplicant を見て下さい。

以下で使っているコマンドの詳しい説明はワイヤレス設定#手動セットアップを見て下さい。また、iwインストールしておいてください。

動作モードを ibss に設定:

# iw interface set type ibss

インターフェイスを立ち上げる (rfkill unblock wifi などの設定が必要に鳴る場合もあります):

# ip link set interface up

これでアドホックネットワークを作成することができます。your_ssid はネットワークの名前に、frequency は使用したい周波数 (MHz) に置き換えて下さい。使用できる周波数の表が Wikipedia の List of WLAN channels ページに載っています。

# iw interface ibss join your_ssid frequency

WPA supplicant

ノート: 以下の方法では WPA 暗号を使用するアドホックネットワークを作成します。2013年8月現在 WPA2 はサポートされていません。

wpa_supplicantインストールして、設定ファイルを作成してください (詳しくは WPA supplicant を参照):

/etc/wpa_supplicant-adhoc.conf
ctrl_interface=DIR=/run/wpa_supplicant GROUP=wheel

# use 'ap_scan=2' on all devices connected to the network
ap_scan=2

network={
    ssid="MySSID"
    mode=1
    frequency=2432
    proto=WPA
    key_mgmt=WPA-NONE
    pairwise=NONE
    group=TKIP
    psk="secret passphrase"
}

以下のコマンドを使って、ネットワークに接続する全てのデバイスで wpa_supplicant を起動します:

# wpa_supplicant -B -i interface -c /etc/wpa_supplicant-adhoc.conf -D nl80211,wext

ネットワーク設定

最後に IP アドレスをネットワーク上の全てのデバイスに割り当てます。複数の方法が存在します:

アドホックネットワークでインターネット接続を共有したい場合、インターネット共有を見て下さい。

Tips and tricks

NetworkManager を使う

NetworkManager を使っている場合、上記のように手動で設定する代わりに nm-applet を使ってアドホックネットワークの設定ができます。詳しくは NetworkManager#Ad-hoc を見て下さい。

ノート: NetworkManager はアドホックモードでの WPA 暗号化をサポートしていません。

カスタム systemd サービス (wpa_supplicant と固定 IP)

以下のテンプレートを使うことで無線アドホックネットワークを使うことができます:

/etc/conf.d/network-wireless-adhoc@<interface>
addr=192.168.0.2
mask=24
/etc/systemd/system/network-wireless-adhoc@.service
[Unit]
Description=Ad-hoc wireless network connectivity (%i)
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network-wireless-adhoc@%i

# perhaps rfkill is not needed for you
ExecStart=/usr/bin/rfkill unblock wifi
ExecStart=/usr/bin/ip link set %i up
ExecStart=/usr/bin/wpa_supplicant -B -i %i -D nl80211,wext -c /etc/wpa_supplicant-adhoc.conf
ExecStart=/usr/bin/ip addr add ${addr}/${mask} dev %i

ExecStop=/usr/bin/ip addr flush dev %i
ExecStop=/usr/bin/ip link set %i down

[Install]
WantedBy=multi-user.target

参照