無線LAN接続の設定を操作するには? iwconfigコマンドの使い方ネットワーク管理の基本Tips

無線LANインターフェースがカーネルまたはモジュールでサポートされていれば、アクセスポイントとIPアドレスを設定する程度で接続できます。「iwconfig」は、アクセスポイントへの接続に必要なESSIDおよび暗号化キーを登録するときに利用するコマンドです。

» 2015年06月17日 05時00分 公開
[海上忍@IT]

バックナンバー

連載バックナンバー

 本連載では、ネットワーク管理の基本コマンドを順を追って紹介していきます。基本書式と用法、主要なオプション、用例サンプルを示しますので、manやhelp代わりに通読し、各コマンドでできることを順次おさらいしてみてください。今回はLinux端末の無線LANインターフェースを設定する「iwconfig」コマンドを紹介します。

 なお、本連載では、執筆時点の最新版「Red Hat Enterprise Linux」(RHEL)および「CentOS」環境で動作を確認しています。コマンドのサンプルなどで一部環境に依存した出力例となる場合がありますので、その際には適宜ご自身の環境に合わせて読み替えてください。

無線LANインターフェースの設定を行う場合の書式

iwconfig [インターフェース名] [パラメーター]

※[ ]は省略可能な引数を示しています。


iwconfigコマンドとは?

 「iwconfig」コマンドは、「Wireless tools for Linux」(wireless-tools)に収録されている無線LANインターフェース設定用コマンドです。接続するアクセスポイントのESSIDを指定するときや、稼働中の無線LANインターフェースについて調べたいときなどに利用します。

 なお、本連載のターゲットにしている「CentOS 7」標準のリポジトリにはwireless-toolsが収録されていません。yumを使って手動インストールする場合は外部リポジトリを利用します。下のインストール例では、EPELのリポジトリを利用しています。

$ sudo yum -y install epel-release
$ sudo yum install wireless-tools
yumでwireless-toolsを導入する

 RHEL、CentOSなど多くのLinuxディストリビューションでは、「/sbin」または「/usr/sbin」ディレクトリにコマンドがインストールされるため、一般ユーザーが実行する場合には、「/usr/sbin/iwconfig」のようにフルパスを指定しなければならないことがあります。

 また、接続する無線LANアクセスポイントの設定を登録するなどシステム設定の変更を伴う場合には、rootで作業を行うか「sudo」コマンドを組み合わせ、管理者権限で実行する必要があります。

 なお、iwconfigコマンドでESSIDおよび暗号化キーを登録することはできますが、これは一時的なもので、システムを再起動すると情報は失われます。恒常的に無線LANを利用する場合は、無線LANインターフェースの設定ファイル(CentOSの場合「/etc/sysconfig/network-scripts/ifcfg-wlan0」など)に設定を記述する必要があります。ただし、CentOS 7以降では「NetworkManager」を利用したネットワーク管理が前提になっています。直接設定ファイルを編集することは推奨されていません。


iwconfigコマンドの主なパラメーター

 iwconfigコマンドの主なパラメーターは次の通りです。

表1 主なパラメーター
パラメーター 意味
essid ESSIDを指定する
nwid ネットワークIDを指定する
nickname ニックネームを指定する
mode モード(Managed/Ad-Hoc)を指定する
channel 使用するチャンネル数を指定する
freq 周波数帯域を指定する
ap アクセスポイントを48ビットの数値(BSSID)で指定する
rate 通信速度を数値で指定する(「5.5M」など)

無線LANインターフェースの状態を確認するには?

 現在有効な無線LANインターフェースの状態を確認する場合は、引数/パラメーターを指定せずにiwconfigコマンドを実行します(一般ユーザーの権限で実行可)。

 通常、Linuxでは無線LANインターフェースは「wlan○」(○は数値)というデバイス名で存在するため、「wlan0」などと引数を与えれば、無線LANの情報だけを表示できます。

 この実行結果で「Access Point:」に48ビットの数値(BSSID/Basic Service Set Identifier、基本サービスセット識別子)が表示されていれば、ESSIDとして表示されている無線LANアクセスポイントに接続していると判定できます。

 無線LANに関わる基本情報は「無線LAN構築のABC」「Linuxで無線LANを使うには」などをご覧ください。

 下の実行例では、引数なしでiwconfigコマンドを実行しています。「wlan0」の無線LANインターフェースがESSID「Atmark」に接続していることが分かります。

# iwconfig
wlan0     IEEE 802.11bgn  ESSID:"Atmark"  Nickname:"<WIFI@ANYWHERE>"
          Mode:Managed  Frequency:2.422 GHz  Access Point: 12:36:42:6A:B6:1E   
          Bit Rate:72.2 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****   Security mode:open
          Power Management:off
          Link Quality=95/100  Signal level=46/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
lo        no wireless extensions.
eth0      no wireless extensions.

無線LANアクセスポイントに接続するには?

 周辺に存在する無線LANアクセスポイントに接続する場合は、無線LANインターフェース名(通常は「wlan0」)に加え、essidパラメーターに接続先のESSIDを、keyパラメーターにアクセスポイントの暗号化キーを指定します。暗号化キーは先頭に「s:」を付ける必要があるため、暗号化キーが「password」とすると、「s:password」になります。

 先ほども述べましたが、iwconfigコマンドで行った設定は永続しません。恒常的にアクセスポイントを利用する場合は、「/etc/sysconfig/network-scripts/ifcfg-wlan0」などの設定ファイルに情報を記述する必要があります。CentOS 7からはNetworkManagerの利用がデフォルトとなり、直接「/etc/sysconfig/network-scripts」以下のファイルを編集することは推奨されないため、「nmcli」コマンドを利用し無線LANインターフェースの設定を行います。

 下記は、wlan0の無線LANインターフェースから、ESSID「Atmark2」に接続する場合の実行例です。

# iwconfig wlan0 essid "Atmark2" key "s:password"

無線LANの接続をアドホックモードに変更するには?

 無線LANインターフェースを持つデバイス同士が、ルーター/アクセスポイントを介さず直接通信する場合(アドホックモード)には、パラメーター「mode」に引数「Ad-Hoc」を与えます。ルーター/アクセスポイントを経由する場合(インフラストラクチャモード)には、引数は「Managed」となります。

 下記は、wlan0をアドホックモードで利用する場合の実行例です。

# iwconfig wlan0 mode Ad-Hoc

「ネットワーク管理の基本Tips」バックナンバー

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。