2017年4月6日 補足追加
☆有線LAN接続の場合は、「【Linux CentOS 7 64bit】コマンドラインから有線LAN接続を開始する方法」を参照
CentOS 7(1511)64bitのminimalインストール(+ MATE)では、初期状態ではwifiを扱えなかった。
以下では、上記のCentOS 7 システムにおいてネットワークマネージャーをWifiに対応させる設定、
そして、Wifiアクセスポイントに接続する設定について記述している。
□設定前の状況を調べた。
ネットワーク接続情報を表示させた。私の環境では「wlp4s0」がWifiデバイスだった。
# nmcli d
デバイス タイプ 状態 接続
enp5s0 ethernet 接続済み enp5s0
lo loopback 管理無し --
wlp4s0 wifi 管理無し --
下記コマンドでは、wifiは「有効」にはなっている。
# nmcli radio wifi
有効設定前のネットワークマネージャーの状態を表示させた。
# systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since 水 2016-11-16 21:22:27 JST; 1h 30min ago
Main PID: 668 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
├─ 668 /usr/sbin/NetworkManager --no-daemon
└─3891 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp5s0.pid -lf /var/lib/NetworkManager/dhclient-56655424-ed3c-xxxx-yyyy-...
11月 16 21:52:19 localhost.localdomain dhclient[3891]: DHCPACK from 192.168.1.1 (xid=0x35bfe30f)
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> address 192.168.1.4
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> plen 24 (255.255.255.0)
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> gateway 192.168.1.1
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> server identifier 192.168.1.1
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> lease time 259200
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> nameserver '192.168.1.129'
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> (enp5s0): DHCPv4 state changed unknown -> bound
11月 16 21:52:19 localhost.localdomain dhclient[3891]: bound to 192.168.1.4 -- renewal in 118396 seconds.
11月 16 21:52:19 localhost.localdomain NetworkManager[668]: <info> Policy set 'enp5s0' (enp5s0) as default for IPv4 routing and DNS.
■ネットワークマネージャーがwifiを扱えるように設定する。
○wifi用プラグインパッケージの情報を表示させた。
下記コマンドで確認してみてパッケージ(NetworkManager-wifi)がインストールされていない場合、
有線ネットワークなど別の経路でインターネットに接続する必要がある。
(インストール済みの場合は、下記リポジトリーで「installed」と示される。)
# yum info NetworkManager-wifi
名前 : NetworkManager-wifi
アーキテクチャー : x86_64
エポック : 1
バージョン : 1.0.6
リリース : 31.el7_2
容量 : 160 k
リポジトリー : updates/7/x86_64
要約 : Wifi plugin for NetworkManager
URL : http://www.gnome.org/projects/NetworkManager/
ライセンス : GPLv2+
説明 : This package contains NetworkManager support for Wifi and OLPC devices.
☆wifi用プラグインパッケージのインストールを行った。
# yum install NetworkManager-wifi
総ダウンロード容量: 160 k
インストール容量: 115 k
Is this ok [y/d/N]: y
インストール:
NetworkManager-wifi.x86_64 1:1.0.6-31.el7_2
完了しました!
☆NetworkManagerサービスを再起動した。
# systemctl restart NetworkManager.service
これによって、デスクトップ環境のLAN接続アイコンから表示されるウィンドウに、
wifiに関する情報が表示されるようになった。
また、次のコマンドで周辺のwifi情報(SSID、モード、チャネル、電波強度、セキュリティー)を取得できた。
# nmcli dev wifi list
* SSID モード CHAN レート 信号 バー セキュリティ
<xxxxxxxxx> インフラ 6 54 Mbit/s 84 ▂▄▆█ WPA2
<xxxxxxxxx> インフラ 5 54 Mbit/s 39 ▂▄__ WPA1 WPA2
<xxxxxxxxx> インフラ 1 54 Mbit/s 35 ▂▄__ WPA1 WPA2
<xxxxxxxxx> インフラ 11 54 Mbit/s 37 ▂▄__ WPA2
<xxxxxxxxx> インフラ 7 54 Mbit/s 37 ▂▄__ WEP
<xxxxxxxxx> インフラ 11 54 Mbit/s 39 ▂▄__ WPA1 WPA2
<xxxxxxxxx> インフラ 1 54 Mbit/s 37 ▂▄__ WPA1
<xxxxxxxxx> インフラ 5 54 Mbit/s 35 ▂▄__ WPA2
<xxxxxxxxx> インフラ 7 54 Mbit/s 34 ▂▄__ WEP
<xxxxxxxxx> インフラ 6 54 Mbit/s 35 ▂▄__ --
<xxxxxxxxx> インフラ 7 54 Mbit/s 35 ▂▄__ WPA1 WPA2
<xxxxxxxxx> インフラ 1 54 Mbit/s 35 ▂▄__ WPA2
<xxxxxxxxx> インフラ 11 54 Mbit/s 35 ▂▄__ WPA2
<xxxxxxxxx> インフラ 6 54 Mbit/s 35 ▂▄__ WPA1 WPA2
下記のように、ネットワークマネージャーがwifiインターフェイス「wlp40s」を扱っていることがわかる。
# systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since 水 2016-11-16 22:53:33 JST; 3min 35s ago
Main PID: 5683 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
├─5683 /usr/sbin/NetworkManager --no-daemon
└─5696 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-enp5s0.pid -lf /var/lib/NetworkManager/dhclient-56655424-ed3c-xxxx-yyyy-...
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> startup complete
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> (enp5s0): device state change: ip-config -> ip-check (reason 'none') [70 80 0]
11月 16 22:53:34 localhost.localdomain dhclient[5696]: bound to 192.168.1.4 -- renewal in 111153 seconds.
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> (enp5s0): device state change: ip-check -> secondaries (reason 'none') [80 90 0]
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> (enp5s0): device state change: secondaries -> activated (reason 'none') [90 100 0]
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> NetworkManager state is now CONNECTED_GLOBAL
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> NetworkManager state is now CONNECTED_SITE
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> NetworkManager state is now CONNECTED_GLOBAL
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> (enp5s0): Activation: successful, device activated.
11月 16 22:53:34 localhost.localdomain NetworkManager[5683]: <info> (wlp4s0): supplicant interface state: ready -> inactive
■Wifiアクセスポイントに接続するための設定を行った。
☆nmcliを使って接続情報を作成した。
(ポイント)
・con-name に指定するのは、接続名なので任意の名前である。後の設定でよく参照する。
・ifname に指定するのは、デバイス名で、最初の手順「nmcli d」で調べた名前である。
ここでは両者で同じ名称を用いている。
# nmcli con add con-name wlp4s0 ifname wlp4s0 type wifi ssid xxxxxxxxxx
接続 'wlp4s0' (<UUID略>) が正常に追加されました。
○作成された接続情報を確認した。
# cat /etc/sysconfig/network-scripts/ifcfg-wlp4s0
ESSID="xxxxxxxxxx"
MODE=Managed
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=wlp4s0
UUID=<UUID略>
DEVICE=wlp4s0
ONBOOT=yes
○接続テスト1(必要な情報が不足しているので、失敗した。)
# nmcli con up wlp4s0
エラー: 接続のアクティベートに失敗しました。
☆接続情報に、セキュリティーモードを追加した。
# nmcli con modify wlp4s0 wifi-sec.key-mgmt wpa-psk
○接続テスト2(必要な情報が不足しているので、失敗した。)
# nmcli con up wlp4s0
ワイヤレスネットワーク 'xxxxxxxxxx' へのアクセスにはパスワードまたは暗号キーが必要です。
Warning: password for '802-11-wireless-security.psk' not given in 'passwd-file' and nmcli cannot ask without '--ask' option.
エラー: 接続のアクティベートに失敗しました。
☆接続情報に、パスワードを追加した。
# nmcli con modify wlp4s0 wifi-sec.psk WIFIpassword
☆接続(成功)
# nmcli con up wlp4s0
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/4)
これで、システムの再起動後でも、上記で設定したwifi接続が自動的に行われた。
(ただし、ONBOOT=yesになっている必要がある。)
○切断するには接続名を与えて次のコマンドを使う。
# nmcli con down wlp4s0
Connection 'wlp4s0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
<完了>
□さらに見てみる。
○接続情報を確認した。(WIFIパスワードはここには保存されていなかった。)
# cat /etc/sysconfig/network-scripts/ifcfg-wlp4s0
ESSID="xxxxxxxxxx"
MODE=Managed
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=wlp4s0
UUID=<UUID略>
DEVICE=wlp4s0
ONBOOT=yes
KEY_MGMT=WPA-PSK
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
○wpa_supplicantというサービスが動作していた。
# systemctl status wpa_supplicant.service
● wpa_supplicant.service - WPA Supplicant daemon
Loaded: loaded (/usr/lib/systemd/system/wpa_supplicant.service; disabled; vendor preset: disabled)
Active: active (running) since 水 2016-11-16 23:53:30 JST; 50min ago
Main PID: 699 (wpa_supplicant)
CGroup: /system.slice/wpa_supplicant.service
└─699 /usr/sbin/wpa_supplicant -u -f /var/log/wpa_supplicant.log -c /etc/wpa_supplicant/wpa_supplicant.conf -u -f /var/log/wpa_supplicant.log -P /var/run/...
11月 16 23:53:30 localhost.localdomain systemd[1]: Starting WPA Supplicant daemon...
11月 16 23:53:30 localhost.localdomain systemd[1]: Started WPA Supplicant daemon.
○テスト(wpa_supplicantサービスを停止してみた。)
# systemctl stop wpa_supplicant.service
すると、Wifi接続が切断されたが、しかしすぐに自動的に再接続された。
このとき、wpa_supplicantというサービスも自動的に再開された。
# systemctl status wpa_supplicant.service
● wpa_supplicant.service - WPA Supplicant daemon
Loaded: loaded (/usr/lib/systemd/system/wpa_supplicant.service; disabled; vendor preset: disabled)
Active: active (running) since 木 2016-11-17 00:44:31 JST; 5s ago
Main PID: 4217 (wpa_supplicant)
CGroup: /system.slice/wpa_supplicant.service
└─4217 /usr/sbin/wpa_supplicant -u -f /var/log/wpa_supplicant.log -c /etc/wpa_supplicant/wpa_supplicant.conf -u -f /var/log/wpa_supplicant.log -P /var/run...
11月 17 00:44:31 localhost.localdomain systemd[1]: Starting WPA Supplicant daemon...
11月 17 00:44:31 localhost.localdomain systemd[1]: Started WPA Supplicant daemon.
この情報から、ログファイルが、/var/log/wpa_supplicant.log であることがわかった。
<参考>
・2.3. USING THE NETWORKMANAGER COMMAND LINE TOOL, NMCLI
< https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Using_the_NetworkManager_Command_Line_Tool_nmcli.html > 2016年11月16日
・Re: CentOS 7 and NetworkManager-gnome package
< https://mail.gnome.org/archives/networkmanager-list/2015-October/msg00022.html > 2016年11月16日
・NetworkManager / Wireless On Latest CentOS7 Installs
< http://centosfaq.org/centos/networkmanager-wireless-on-latest-centos7-installs/ > 2016年11月16日
・CentOS7 で nmcli を使ったWiFi接続できた
< https://papairoiro.blogspot.jp/2015/08/centos7-nmcli-wifi-nuc5ppyh.html > 2016年11月14日
・CentOS7でステルスSSIDへ接続する方法
< http://qiita.com/vuyuky/items/64e8fdd11e3f7ceaa49c > 2016年11月14日