Armadilloフォーラム

Armadillo Base OS:コンテナ上のアプリから無線LANアクセスポイント接続を作成・削除する方法について

masa.yamaguchi

2024年7月3日 11時53分

現在、Armadillo Base OS(Armadillo-610)上のコンテナ上のアプリから無線LANアクセスポイント接続を作成・削除する方法について
調査しています。( ABOS WEB 操作の 「WLAN設定 - アクセスポイントとして使用する/設定を削除」をコンテナ上のアプリから実施することが目的)
現状実現できておりませんが、上記方法についてもし実現可能で、且つ方法をご存じであればご教示頂きたいです。

[備考(試したこと)]
・REST API は接続作成する機能は見当たりませんでした。
・設定ファイル hostapd.conf を任意の場所に用意してコンテナから ホストの/etc/hostapd/ 配下にコピーする手段は
 調査中です(コンテナ内からホストのファイルにアクセスする手段が見つかりませんでした)。

コメント

at_makoto.sato

2024年7月3日 13時53分

佐藤です。

すいません。ご認識の通り現状では REST API からは無線LANアクセスポイント接続を作成・削除することはできません。

> 現状実現できておりませんが、上記方法についてもし実現可能で、且つ方法をご存じであればご教示頂きたいです。
少し手間なのですが、以下のようにするとできるかと思います。(コンテナ内に curl インストール済みの前提です)
作成する場合

curl -v -k -c cookie -b cookie -d password=<ABOS Webへのログインパスワード> https://host.containers.internal:58080/login
curl -k -v -c cookie -b cookie \
-d bridge_addr=<ABOS WEB上での「ブリッジアドレス」に当たる値> \
-d netmask=<「サブネットマスク」に当たる値> \
-d hw_mode=<「使用周波数」に当たる値で、5GHzの場合は「a」、2.4GHzの場合は「g」を設定してください> \
-d channel=<「使用チャンネル」に当たる値> \
-d ssid=<「SSID」に当たる値> \
-d wpa_passphrase=<「パスワード」に当たる値で、半角8文字以上を設定してください> \
https://host.containers.internal:58080/ap_setup

削除する場合

curl -v -k -c cookie -b cookie -d password=<ABOS Webへのログインパスワード> https://host.containers.internal:58080/login
curl -k -v -c cookie -b cookie -X POST -H "Content-Type: application/x-www-form-urlencoded" https://host.containers.internal:58080/ap_delete

masa.yamaguchi

2024年7月3日 18時03分

佐藤様

masa.yamaguchiです。ご回答ありがとうございます。
報告事項と1点質問がございます。

■報告事項
ご教示頂いた方法で、コンテナ内からcurlコマンドを使用することで
無線LANアクセスポイント接続を作成・削除することを確認できました。

■質問
無線LANアクセスポイント接続を作成時、それだけでは スマホとArmadillo:WLANのAP接続ができませんでした。
上記に加えて ABOS Web のDHCPサーバ設定で、以下設定を実施してつながるようになりました。

・インターフェース:br_ap 192.168.1.1/24  を選択
・DHCPリリース範囲:192.168.1.10 ~ 192.168.1.254
・DHCPリリース時間:24h

重ね重ねすみませんが、上記 ABOS Web のDHCPサーバ設定で行う設定と同等の処理を
コンテナ上のアプリから実施する方法があればご教示頂きたいです。
[備考]
・こちらでDHCPあり・なしのケースで以下コマンド実行結果(詳細情報)を比較したところ、結果に差異がありませんでした。
 →REST APIを使用してDHCP設定をする方法は、現状見つけることができていません。

<Rest API : ネットワーク設定:詳細情報取得>
curl -k -H "$AUTH" https://host.containers.internal:58080/api/connections/abos_web_br_ap

at_makoto.sato

2024年7月3日 18時17分

佐藤です。

> 重ね重ねすみませんが、上記 ABOS Web のDHCPサーバ設定で行う設定と同等の処理を
> コンテナ上のアプリから実施する方法があればご教示頂きたいです。
こちらも、REST API はありませんが、以下のようにすることでできるかと思います。
作成する場合

curl -v -k -c cookie -b cookie -d password=<ABOS Webへのログインパスワード> https://host.containers.internal:58080/login
curl -k -v -c cookie -b cookie \
-d interface=br_ap \
-d start_addr=192.168.1.10 \
-d end_addr=192.168.1.254 \
-d lease_time=24h \
https://host.containers.internal:58080/dhcp_setup

削除する場合

curl -v -k -c cookie -b cookie -d password=<ABOS Webへのログインパスワード> https://host.containers.internal:58080/login
curl -k -v -c cookie -b cookie -d interface=br_ap https://host.containers.internal:58080/dhcp_delete

masa.yamaguchi

2024年7月3日 18時42分

佐藤様

masa.yamaguchiです。ご回答ありがとうございます。

ご提示いただいた方法で、 コンテナ上のアプリからDHCP設定の追加・削除が行えました。
これで問題が解消しました。ありがとうございました。