Ifconfig

ifconfig(アイエフコンフィグ)は、Unix系オペレーティングシステム (OS) においてネットワークインタフェースの設定を行うためのシステム管理コマンドである。

ifconfigはキャラクタユーザインタフェース (CUI) のツールであり、また、多くのOSでシステム起動時に実行されるスクリプト内で使用されている。ifconfigはTCP/IPネットワークインターフェースのパラメータの設定・制御・参照の機能を提供している。最初の実装は4.2BSDにおけるBSD TCP/IPスイートの一部であった。

使用法

ifconfigの一般的な用途は、ネットワークインターフェースのIPアドレスサブネットマスクを設定することと、ネットワークインターフェースを有効・無効にすることである[1]。起動時、多くのUnix系OSは、シェルスクリプトからifconfigを呼び出して、ネットワークインターフェースの初期化を行う。システム管理者はネットワークインターフェースのパラメータを表示・分析するために、ifconfingを対話型ツールとして使用している。


以下の出力例は、OpenBSDにおいて、Linuxベースのホスト(インターフェースeth0)とural0(英語版)インターフェースがそれぞれ一つだけ実行中のときの状態の表示である。

 eth0      Link encap:Ethernet  HWaddr 00:0F:20:CF:8B:42
           inet addr:217.149.127.10  Bcast:217.149.127.63  Mask:255.255.255.192
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0
           TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:1761467179 (1679.7 Mb)  TX bytes:2870928587 (2737.9 Mb)
           Interrupt:28
 ural0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         lladdr 00:0d:0b:ed:84:fb
         media: IEEE802.11 DS2 mode 11b hostap (autoselect mode 11b hostap)
         status: active
         ieee80211: nwid ARK chan 11 bssid 00:0d:0b:ed:84:fb  100dBm
         inet 172.30.50.1 netmask 0xffffff00 broadcast 172.30.50.255
         inet6 fe80::20d:bff:feed:84fb%ural0 prefixlen 64 scopeid 0xa
  • HWaddr : hardware addressの略。MACアドレスのこと。
  • パラメータ txqueuelen は、多くのイーサネット・フレームで計測された、ネットワーク・スケジューラ(英語版)によって管理されているバッファのサイズである。

媒体アクセス制御機能

ifconfigはインターフェースの媒体アクセス制御アドレス(MACアドレス)を変更するためにも用いられる。コマンドの実行の際、以下のようにifconfigコマンドによって、まずネットワークインターフェースが無効(down設定)にされ、続いてMACアドレスが変更される。

ifconfig wlan0 down
ifconfig wlan0 hw ether 00:11:22:33:44:55
ifconfig wlan0 up

リリース状況

フリーのBSD系OSNetBSDOpenBSDFreeBSDなど)では、ifconfigの開発が継続され、無線LANインタフェース・VLANトランク接続の設定、TCP segmentation offload(TSO)やハードウェア・チェックサム機能のようなハードウェア機能の制御、ブリッジやトンネルの設定などまでカバーする機能の拡張が行われている。Solarisは、かつては全てのネットワークインターフェースの設定にifconfigを使っていた。しかし、Solaris 10では、データリンク層(OSIモデル第2層)の設定のためにdladmを導入し、ifconfigの使用はIPの設定のみに限定している。

古いLinuxディストリビューションでは、コンピュータをネットワークに接続し、ネットワークの間でルートを定めるのに、ifconfigはrouteコマンドとともに用いられた。Linux版ifconfigはnet-toolsパッケージの一部であり、最新版のバージョン1.60は2001年4月15日にリリースされた[2]

いくつかのLinuxディストリビューションはifconfigとrouteの利用を非推奨とし、ソフトウェア・スイートiproute2を導入した[3]。iproute2はは1999年リリースのLinux 2.2以降で利用可能である[4]。iproute2はifconfig, route, arp, netstatの各コマンドの機能を含んでいる。また、マルチキャスト設定、トンネルとバーチャルリンクの管理、トラフィック制御、低レベルのIPsec設定などの機能も含む。

関連ツール

Windows 95からWindows MeまでのMicrosoft Windowsではwinipcfgがあり、現在のIPの情報をグラフィカルに表示していた。Windows NTカーネルをベースにしたマイクロソフトのOSでは、ifconfigに似たipconfigコマンドが提供されている。ipconfigはWindowsのDHCPクライアントも制御する。

macOSでは、ifconfigコマンドはIPConfigurationエージェントへのラッパーして機能し、コマンドラインからBootPクライアントとDHCPクライアントを制御することができる。ネットワーク構成を管理するのを助けるシステム・フレームワークのレベル以下でifconfigが動くので、macOSでネットワークの設定を修正するのにifconfigを使用するのは避けられる。コマンドラインからmacOSのネットワーク設定を変更するには、/usr/sbin/ipconfigや/usr/sbin/networksetupが使われる。

Wireless tools for Linux(英語版)の一部であるiwconfigは、その名前をifconfigにちなんでつけられており、オリジナルのLinuxのifconfigでは設定できない、無線ネットワークインターフェースの管理を行う。iwconfigは無線ネットワークのSSIDWEPキーのような特定の設定を行い、iwlistとともに機能する。Linuxには他に、無線接続の信号やノイズ、品質を読み取るためのiwspyコマンドがある。

イーサネットアダプタを制御するツールには他に、Linux用のethtool(英語版)mii-tool(英語版)、mii-diagと、Solaris用のshow-linkなどがある。

関連項目

  • Consistent Network Device Naming(英語版)

出典

  1. ^ Linux Network Administrators Guide Section 5.7. Interface Configuration for IP
  2. ^ Upstream URL http://net-tools.sourceforge.net/
  3. ^ Gundersen, Tom. “News: Deprecation of net-tools”. 2011年8月4日閲覧。
  4. ^ ip(8) man page

外部リンク

  • ifconfig(8), Linux net-tools ifconfigの公式manページ
  • ifconfig(8), FreeBSD ifconfigのmanpページ
  • ifconfig(8), OpenBSD ifconfigのmanページ
  • ifconfig(8), Solaris ifconfigのmanページ
  • ipconfig for Windows on a technet.microsoft.com
  • ip, Linux command ipのmanページ
  • Debian net-tools page, which includes sources of the Linux version of ifconfig
  • net-tools future thread, from current maintainers
  • ifconfig examples
  • Network Configuration, Debian
  • Quick HOWTO : Ch02 : Introduction to Linux Networking
Unixコマンド
ファイルとファイルシステム管理
プロセス管理
ユーザ管理/環境
テキスト処理
シェルビルトイン
通信
検索
  • find
  • grep
  • locate(英語版)
  • whatis(英語版)
  • whereis(英語版)
マニュアル
  • apropos(英語版)
  • help(英語版)
  • man
ソフトウェア開発
その他
  • bc
  • dc
  • cal
  • date
  • expr
  • false
  • lp(英語版)
  • lpr
  • od
  • sl
  • sleep
  • stty
  • true
  • tty