「アドホックネットワーク」の版間の差分
細 (Fix typo) |
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
||
1行目: | 1行目: | ||
[[Category:無線ネットワーク]] |
[[Category:無線ネットワーク]] |
||
[[en:Ad-hoc networking]] |
[[en:Ad-hoc networking]] |
||
− | [[zh- |
+ | [[zh-hans:Ad-hoc networking]] |
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|ネットワーク設定}} |
{{Related|ネットワーク設定}} |
2017年1月29日 (日) 00:35時点における版
IBSS (Independent Basic Service Set) ネットワーク (アドホックネットワークとも呼ばれます) は中央制御を必要としない、ワイヤレスで互いに通信するための通信方式です。直接一対一で通信を行う、P2P ネットワークの一例です。
アドホックネットワークを使うことで、インターネット接続の共有などが行えます。
目次
要件
- ネットワークに接続する全てのデバイスに nl80211 対応の無線デバイスが必要です (例: ath9k)。
Wifi リンク層
IBSS ネットワークはピアツーピアネットワークなので、必要な wifi リンクの設定は全てのデバイスで共通です。
手動設定
以下で使っているコマンドの詳しい説明はワイヤレス設定#手動セットアップを見て下さい。また、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_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 アドレスをネットワーク上の全てのデバイスに割り当てます。複数の方法が存在します:
- 固定 IP アドレスを割り当てる。詳しくはネットワーク設定#固定 IP アドレスを見て下さい。
- デバイスのどれかで DHCP サーバーを動かす。詳しくは dhcpd や dnsmasq を見て下さい。
- avahi-autoipd を動かす。詳しくは Avahi#IPv4LL IP アドレスの取得 を見て下さい。
アドホックネットワークでインターネット接続を共有したい場合、インターネット共有を見て下さい。
Tips and tricks
NetworkManager を使う
NetworkManager を使っている場合、上記のように手動で設定する代わりに nm-applet を使ってアドホックネットワークの設定ができます。詳しくは NetworkManager#Ad-hoc を見て下さい。
カスタム 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