nmcliコマンドを使うと,ユーザー名やPEAPの設定が必要なネットワークにもコマンドラインから接続できます.nmcliとはUbuntuの(主にGUIでの)ネットワーク設定を行うNetwork Manager
のコマンドラインバージョンです.今回はnmcliコマンドを用いて大学のWiFiにコマンドラインから接続してみました.ちなみに最近知ったのですが,WiFiは Wireless Fidelity
の略です.
準備
以下の環境で行いました.
- Ubuntu 16.04 LTS
- nmcli: version 1.2.6
今回接続したいWiFiはGUIだと以下の図のように設定しないといけません.
コマンドラインからWiFiに接続するコマンドとして,wpa-supplicant
が挙げられます.
しかしこのコマンドを使って写真のようにWPA-ENTERPRISE
やPEAP
,MSCHAPv2
などを設定するのは面倒だと思います(ラズパイをつなげるために試したことはあるが結局諦めた).
SSIDの設定を新規作成する方法
まず始めに,SSIDを登録します.iwlist scan
やnmcli 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への接続もコマンドラインから行えるようになれるといいかなあと思います.