Ifconfig

ifconfig（アイエフコンフィグ）は、Unix系オペレーティングシステム (OS) においてネットワークインタフェースの設定を行うためのシステム管理コマンドである。
ifconfigはキャラクタユーザインタフェース (CUI) のツールであり、また、多くのOSでシステム起動時に実行されるスクリプト内で使用されている。ifconfigはTCP/IPネットワークインターフェースのパラメータの設定・制御・参照の機能を提供している。最初の実装は4.2BSDにおけるBSD TCP/IPスイートの一部であった。
使用法.
ifconfigの一般的な用途は、ネットワークインターフェースのIPアドレスとサブネットマスクを設定することと、ネットワークインターフェースを有効・無効にすることである。起動時、多くのUnix系OSは、シェルスクリプトからifconfigを呼び出して、ネットワークインターフェースの初期化を行う。システム管理者はネットワークインターフェースのパラメータを表示・分析するために、ifconfingを対話型ツールとして使用している。
以下の出力例は、OpenBSDにおいて、Linuxベースのホスト（インターフェースeth0）とインターフェースがそれぞれ一つだけ実行中のときの状態の表示である。
媒体アクセス制御機能.
ifconfigはインターフェースの媒体アクセス制御アドレス（MACアドレス）を変更するためにも用いられる。コマンドの実行の際、以下のようにifconfigコマンドによって、まずネットワークインターフェースが無効（"down"設定）にされ、続いてMACアドレスが変更される。
 ifconfig wlan0 down
 ifconfig wlan0 hw ether 00:11:22:33:44:55
 ifconfig wlan0 up
リリース状況.
フリーのBSD系OS（NetBSD・OpenBSD・FreeBSDなど）では、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日にリリースされた。
いくつかのLinuxディストリビューションはifconfigとrouteの利用を非推奨とし、ソフトウェア・スイートiproute2を導入した。iproute2はは1999年リリースのLinux 2.2以降で利用可能である。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が使われる。
の一部であるiwconfigは、その名前をifconfigにちなんでつけられており、オリジナルのLinuxのifconfigでは設定できない、無線ネットワークインターフェースの管理を行う。iwconfigは無線ネットワークのSSIDやWEPキーのような特定の設定を行い、iwlistとともに機能する。Linuxには他に、無線接続の信号やノイズ、品質を読み取るためのiwspyコマンドがある。
イーサネットアダプタを制御するツールには他に、Linux用の、、mii-diagと、Solaris用のshow-linkなどがある。