Ubuntu 14.04 LTSの古いnmcliでステルスSSIDの無線APに接続する

Ubuntu 14.04 LTSなマシンで無線LAN接続するのに苦労したのでメモ。自分はタコなので(最近はあんまりタコって言わなくなった気がする…)、間違いとかあると思う。

  • Ubuntu 14.04 LTS
  • NetworkManager 0.9.8.8
  • nmcli 0.9.8.8

最近のnmcliではコマンドの書式が違うので使えない。というか、調べても最近のnmcliの事しか見つからなかったので、あえて古い情報を書くに至ったというわけ。

古いnmcliは見えているアクセスポイント、つまり非ステルスなSSIDにしか繋ぎにいかない仕様?バグ?らしく、普通にステルスなSSIDを指定しても「Error: No network with SSID 'STEALTH_AP' found.」と直ぐ様エラーを返してきやがる。

なので、先にiwlistでステルスSSIDを指定した上でAPのスキャンを行い、ステルスSSIDを可視化してやる。(ステルス機能とはAPが自ら名前を名乗らないというだけで、正しい名前を読んであげれば応答するのである。)

# iwlist wlan0 scanning essid STEALTH_AP
# nmcli device wifi connect STEALTH_AP password PASSWORD

認識されているSSIDは nmcli device wifi で確認できる。

$ nmcli device wifi
SSID                              BSSID               MODE             FREQ       RATE       SIGNAL   SECURITY   ACTIVE
'DIRECT-PE-BRAVIA'                4A:E2:44:xx:xx:xx   Infrastructure   2437 MHz   54 MB/s    90       WPA2       no
'STEALTH_AP'                      CC:E1:D5:yy:yy:yy   Infrastructure   2447 MHz   54 MB/s    97       WPA2       no
'guest2'                          DC:FB:02:zz:zz:zz   Infrastructure   2462 MHz   54 MB/s    37       WPA WPA2   no

ちなみに、古くないnmcliではhiddenオプションが追加されており、hidden yesとすることでステルスSSIDに直接繋げるようだ。ついでにいうと、NetworkManager自体は昔からhiddenオプションを持ってるので、D-Busで叩いてやればふつーに繋がる……というか、nmcliはNetworkManagerのD-Busラッパーでしかないわけだが、なぜそこの実装をサボったんだよっていう。

nmcli device wifi connect SSID password PASSWORD
nmcli device wifi connect SSID password PASSWORD iface wlan0

無線LAN以外も表示されることに注意

nmcli connection list
nmcli connection up id プロファイル名

プロファイルは初回接続時に/etc/NetworkManager/sustem-connections/の下に自動で作られる。デフォルトではSSID名になるが、nameオプションで名前指定が可能。

/-はっきり言ってLinuxはクソだと思う。-/

無線LAN接続するためのコマンドが iwconfig, wpa_cli, nmcli と3つあり、それぞれ出来ることが違ってて、同じコマンドでもバージョンで書式が微妙に違うっていうのは、多様的で自由ソフトウェアのあるべき姿を体現しており、Linuxは大変に素晴らしいものだなぁと思いました。ラブアンドピース!

  • linux/ubuntu14_04lts_nmcli.txt
  • 最終更新: 2020-12-28 09:29
  • by Decomo