[hostapd] create_ap をつかって、service 起動 インターネットシェアしない方法

create_ap を利用した service を起動するときにインターネットシェアしない方法が
create_ap のgit hubのReadme や他のサイトに説明がなかったので説明します。

多分、レアな使い方なのであまり記載がないのでしょう。

サービスとして起動する場合は

ですが、このとき使う設定ファイルは

になります。

この設定ファイルにインターネットシェアしないように記載します。
ファイルの中に
SHARE_METHOD
という項目があるとおもます。
ここには、

  1. nat
  2. bridge
  3. none

が入ります。AP経由でインターネットにつなぐ場合は、nat か bridge を設定して下さい。
設定のディフォルトは nat です。
今回はAP経由でインターネットにつながないので none として下さい。

インターネット側に出ないので、INTERNET_IFACE= の項目は使われませんので削除するか適当な値をいれておいて大丈夫です。

create_ap.conf 使いたくない

コマンドラインで起動したように、設定ファイルを使いたくない場合は、サービスのユニット定義ファイルを変更しちゃいましょう。

定義ファイルの場所は、

で調べられます。
私の環境では、

にありました。

/usr/lib/systemd/system/create_ap.service を開いて、
ExecStart=以降のコマンドを変更すればよいです。
たとえば、デバッグモードで動かしたいなら

のようにすればデバッグモードで動きます。
readme に例のインターネット共有しない場合は、

とすればよいでしょう。

変更後は設定を反映させて下さい




[hostapd] create_ap でエラー。already associated with channel….

create_ap で、

を実行時に

こんなエラーが発生。

色々調べたのですが環境によりけりでこれといった解決方法が見つからなかったのですが、私の場合は以下で治りました。
最近文書長いのに結果を曖昧にするサイトが多いので、それに対向するために私は結論を早めに言います。

ただ、環境により対応が変わってくるはずなので上記で治らない人は読んでみて下さい。
ちなみに私は、ubilinux 4.0

エラーより wlan0 を開放する

そもそも、WiFi で ssh でつなげているのに、WiFi の設定を変えようというのが無理がある。
wlan0 を落とす

(ifdown wlan0 の人もいるかもね)

再度実行

コマンド

エラー内容

デバッグを付けて再度実行

コマンド

エラー内容

ちなみに、実行オプションの –hostapd-debug 1 の 1はログレベルで1と2があるけど、2にしても内容は変わらなかった。

エラーの内容

エラーをよく眺めてみると、

ここが起点のようだ。Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) を実行したら失敗しました。

そして、エラーのここが気になった。Operation already in progress
まだ、何かが WiFi を使おうとしている。

解決

ps で怪しいプロセスを眺めてみると。

なにしてるのこのWiFiっぽいプロセス。

サービスの一覧をみると

(service –status-all の人もいるかもね)

wpa_supplicant.service がいたので停止。

再度、

をしたら、うまく作成できました。