nmcliコマンドを使うと,ユーザー名やPEAPの設定が必要なネットワークにもコマンドラインから接続できます.nmcliとはUbuntuの(主にGUIでの)ネットワーク設定を行うNetwork Managerのコマンドラインバージョンです.今回はnmcliコマンドを用いて大学のWiFiにコマンドラインから接続してみました.ちなみに最近知ったのですが,WiFiは Wireless Fidelity の略です.

準備

以下の環境で行いました.

  • Ubuntu 16.04 LTS
  • nmcli: version 1.2.6

今回接続したいWiFiはGUIだと以下の図のように設定しないといけません.

GUIでの設定

コマンドラインからWiFiに接続するコマンドとして,wpa-supplicantが挙げられます.

link

しかしこのコマンドを使って写真のようにWPA-ENTERPRISEPEAPMSCHAPv2などを設定するのは面倒だと思います(ラズパイをつなげるために試したことはあるが結局諦めた).

SSIDの設定を新規作成する方法

まず始めに,SSIDを登録します.iwlist scannmcli device wifiなどを使えば飛んでいるwifiのリストを得られます.その中からuniv-wifiというSSIDのWiFiに接続してみます.

nmcli connection add con-name univ-wifi ifname wlp20s0 type wifi ssid univ-wifi

ここでネットワークインターフェースとしてwlp2s0を用いています.

セキュリティ設定

以下のようにするとインタラクティブに設定を行う画面に入ります.

nmcli connection edit id univ-wifi

上の図の場合,下のように設定すると無事接続することができました.

set ipv4.method auto
set 802-1x,eap peap
set 802-1x.phase2-auth mschapv2
set 802-1x.identity my-username
set 802-1x.password my-password
set 802-11-wireless-security.key-mgmt wpa-eap
save
activate

その他の使い方

家にあるような普通のWiFiにつなぐ場合

ほとんどの場合,WiFiに接続するときはGUIでSSIDを選択して,パスワードを入力するだけです.その場合は

nmcli device wifi con <SSID> password <password>

と打てば接続できます.むしろこの使い方の方が一般的だと思います.

今のSSIDを非接続にする

nmcli connection down "univ-wifi"

つながったことのあるSSIDへと接続する

nmcli connection up fs-labnet2

SSIDの設定を除去する方法

nmcli connection delete id "univ-wifi"

WiFiを入れる,切る

nmcli radio wifi on
nmcli radio wifi off

WiFiへの接続もコマンドラインから行えるようになれるといいかなあと思います.