create_ap を利用した service を起動するときにインターネットシェアしない方法が
create_ap のgit hubのReadme や他のサイトに説明がなかったので説明します。
多分、レアな使い方なのであまり記載がないのでしょう。
サービスとして起動する場合は
1 2 3 |
systemctl start create_ap |
ですが、このとき使う設定ファイルは
1 2 3 |
/etc/create_ap.conf |
になります。
この設定ファイルにインターネットシェアしないように記載します。
ファイルの中に
SHARE_METHOD
という項目があるとおもます。
ここには、
- nat
- bridge
- none
が入ります。AP経由でインターネットにつなぐ場合は、nat か bridge を設定して下さい。
設定のディフォルトは nat です。
今回はAP経由でインターネットにつながないので none として下さい。
インターネット側に出ないので、INTERNET_IFACE= の項目は使われませんので削除するか適当な値をいれておいて大丈夫です。
create_ap.conf 使いたくない
コマンドラインで起動したように、設定ファイルを使いたくない場合は、サービスのユニット定義ファイルを変更しちゃいましょう。
定義ファイルの場所は、
1 2 3 |
$ sudo systemctl status create_ap |
で調べられます。
私の環境では、
1 2 3 |
/usr/lib/systemd/system/create_ap.service |
にありました。
/usr/lib/systemd/system/create_ap.service を開いて、
ExecStart=以降のコマンドを変更すればよいです。
たとえば、デバッグモードで動かしたいなら
1 2 3 |
ExecStart=/usr/bin/create_ap --config /etc/create_ap.conf --hostapd-debug 1 |
のようにすればデバッグモードで動きます。
readme に例のインターネット共有しない場合は、
1 2 3 |
ExecStart=/usr/bin/create_ap -n wlan0 MyAccessPoint MyPassPhrase |
とすればよいでしょう。
変更後は設定を反映させて下さい
1 |
$ sudo systemctl daemon-reload |