設定 - アクセスポイント
概要
NetworkManager (nmcliコマンド) を使用することにより、インターネット接続に依存しないアクセスポイントを数コマンドで作成することができる。
また、Banana Pi F3はRealtek RTL8852BSチップを搭載しており、2.4GHz / 5GHz WiFi 5 (802.11ax) と Bluetooth 5.2に対応しており、APモードをサポートしている。
必要なパッケージのインストール
# RHEL sudo dnf install # SUSE sudo zypper install dnsmasq dnsmasq-utils # Raspberry Pi / Banana Pi F3 sudo apt install dnsmasq-base
Wi-Fiインターフェース名の確認
一般的には、wlan0 という名前であることが多い。
ip link show # または nmcli device
アクセスポイントの作成
アクセスポイントを作成する。
また、OSの起動時に自動起動する。
- con-name (Connection Name)
- NetworkManager内部の接続プロファイル名のこと。
- システム内部で設定を管理するための名前である。
- 外部からは見えない。
一般的
sudo nmcli connection add \
type wifi \
ifname <Wi-Fiインターフェース名 例: wlan0> \
con-name <任意のアクセスポイント名 例: my_access_point>
autoconnect yes \
ssid "<任意のSSID名 例: BananaPI-AP>"
APモードと周波数帯を設定する。
b/gは、2.4[GHz]帯である。
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
802-11-wireless.mode ap \
802-11-wireless.band bg \
ipv4.method shared
WPA2 / WPA3等のセキュリティを設定する。
- WPA2 + WPA3 Personal
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
wifi-sec.key-mgmt wpa-psk
- WPA3 Personalのみ
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
wifi-sec.key-mgmt sae
- WPA2 (暗号化プロトコルと暗号化方式を明示的に指定)
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
wifi-sec.key-mgmt wpa-psk \
wifi-sec.proto rsn \ # WPA2を明示 (rsnはRobust Security Network)
wifi-sec.pairwise ccmp \ # 暗号化方式(AES-CCMP)
wifi-sec.group ccmp # グループ暗号化方式
パスワード (8文字以上) を設定する。
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
wifi-sec.psk "<パスワード>"
アクセスポイントを起動する。
sudo nmcli connection up <任意のアクセスポイント名 例: my_access_point>
接続状態を確認する。
sudo nmcli connection show
APが動作しているかどうかを確認する。
sudo nmcli device status
これにより、PCやスマートフォンから設定したSSIDが確認できるようになり、設定したパスワードで接続することができる。
アクセスポイントには自動的にIPアドレスが割り当てられ、接続したデバイスにはDHCPでIPアドレスが配布される。
Banana Pi F3
Banana Pi F3では、5[GHz]帯の全チャンネルに no IR フラグが付いている。
これは、Initiating Radiationが禁止されていることを意味しており、5[GHz]帯でのAPモードは使用できない。
また、2.4[GHz]帯もチャンネル12〜13に no IR が付いているが、チャンネル1〜11は使用可能 である。
2.4[GHz]帯 (例: チャンネル6) でアクセスポイントを作成する。
sudo nmcli connection add \
type wifi \
ifname wlan0 \
con-name <任意のアクセスポイント名 例: Banana-Pi-AP> \
autoconnect yes \
ssid "<任意のSSID名 例: Banana-PI-G>"
APモードと2.4[GHz] Wi-Fi 6を設定する。
sudo nmcli connection modify <任意のアクセスポイント名 例: Banana-Pi-AP> \
802-11-wireless.mode ap \
802-11-wireless.band bg \
802-11-wireless.channel 6 \
ipv4.method shared \
ipv4.addresses 192.168.50.1/24
WPA2 + WPA3に対応する。
sudo nmcli connection modify <任意のアクセスポイント名 例: Banana-Pi-AP> \
wifi-sec.key-mgmt wpa-psk \
wifi-sec.proto rsn \
wifi-sec.pairwise ccmp \
wifi-sec.group ccmp \
wifi-sec.psk "<任意のパスワード>"
アクセスポイントを起動する。
sudo nmcli connection up <任意のアクセスポイント名 例: Banana-Pi-AP>
アクセスポイントの削除
アクセスポイントを削除する場合は、以下に示すコマンドを実行する。
アクセスポイント接続を停止する。
sudo nmcli connection down <任意のアクセスポイント名 例: Banana-Pi-AP>
アクセスポイント接続を削除する。
sudo nmcli connection delete <任意のアクセスポイント名 例: Banana-Pi-AP>
または、1つのコマンドで削除することもできる。(自動的に停止される)
sudo nmcli connection delete <任意のアクセスポイント名 例: Banana-Pi-AP>
アクセスポイントが削除されたかどうかを確認する。
# 全ての接続を表示 nmcli connection show # インターフェースの状態を確認 nmcli device status
アクセスポイントを削除した後、インターフェースは通常の管理モードに戻り、Wi-Fiクライアントとして他のアクセスポイントに接続できるようになる。
設定のカスタマイズ
5[GHz]帯を使用する場合
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
802-11-wireless.band a
チャンネルを指定する場合
- 2.4[GHz]の場合 (チャンネル1〜11)
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
802-11-wireless.channel 6
- 5[GHz]の場合 (チャンネル36, 40, 44, 48等)
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
802-11-wireless.channel 36
IPアドレス範囲を変更する場合
sudo nmcli connection modify \
<任意のアクセスポイント名 例: my_access_point> \
ipv4.addresses 192.168.50.1/24
トラブルシューティング
アクセスポイントが起動しない場合
既存の接続を削除する。
sudo nmcli connection delete <任意のアクセスポイント名 例: my_access_point>
NetworkManagerを再起動する。
sudo systemctl restart NetworkManager
再度設定を実行する。