ifconfigとは
ifconfig(イフコンフィグ/インターフェース・コンフィグ)は、Unix系OSでネットワークインターフェース設定を表示・変更する従来のコマンドです。名称はinterface configuration(インターフェース・コンフィギュレーション)に由来します。
引数なしでは通常、稼働中インターフェースのアドレス、フラグ、MTU、ハードウェアアドレス、送受信カウンター等を表示し、-aで停止状態を含む利用可能なインターフェースを表示します。インターフェース名を指定すると、その一つを詳しく確認できます。
ifconfigは一つの共通規格ではなく、Linuxのnet-tools版、BSD、macOS等で構文と出力が異なります。Linuxでは現在、iproute2のipコマンドがより広い機能を扱います。

一つのインターフェースブロックを読む
有線、無線、ループバック、ブリッジ、トンネル等を名前と種類から区別します。
UP、RUNNING、BROADCAST、MULTICAST、LOOPBACK等のビットを別々に読みます。
IPv4・IPv6、ネットマスクまたはプレフィックス、ブロードキャスト、適用範囲がインターフェースへ属します。
Ethernet系ならMACアドレス、媒体に応じたリンク情報が表示されます。
経路全体のMTUやアプリケーションペイロード上限と同じとは限りません。
パケット・バイト、エラー、破棄、取りこぼし等を前回値との差と時間で比較します。
UPとRUNNINGは同じ状態ではない
UPは管理上有効にされていることを示し、RUNNINGや下位層の状態はドライバーや物理リンクが動作可能であることを示します。UPでもケーブルが抜けている、Wi-Fiへ未接続、認証待ちという場合があります。
反対に、フラグの意味と表示条件はOS・ドライバーで異なります。Internet疎通まで確認するにはアドレス、経路、DNS、リンク状態、ゲートウェイへの到達を別に見ます。
アドレス、ネットマスク、ブロードキャストを一組で読む
inetはIPv4アドレス、inet6はIPv6アドレスを示す表記として使われます。IPv4ではネットマスクとブロードキャスト、IPv6ではプレフィックス長さと適用範囲等が同じインターフェースに並びます。
一インターフェースへ複数アドレスを持てます。IPv6のリンクローカル・グローバル・一時的な、IPv4の別名等を一つの「現在のIP」へまとめません。送信先と経路に応じて送信元アドレスが選ばれます。
ハードウェアアドレスは利用者の恒久IDではない
Ethernet系インターフェースではether等としてMACアドレスが表示されます。仮想インターフェース、ランダム化されたWi-Fiアドレス、機器交換、設定変更により値は変わり得ます。遠隔のインターネット相手へそのまま届く値でもありません。
Linuxの古いifconfigはioctlを利用し、一部の長いリンク層アドレスを完全表示できない制約があります。ハードウェア情報を詳しく扱うときはipリンク等を使います。
RX・TXカウンターは差分で見る
RXは受信、TXは送信です。パケット数、バイト数、エラー、破棄、取りこぼし、搬送波エラー、衝突などが表示されますが、項目の定義とドライバーが集計できる範囲は同一ではありません。
累積値だけで「現在遅い」とは判断できません。時刻を置いて二回採り、増分を時間で割り、どのエラーが増えたかを見ます。破棄は常に物理故障ではなく、バッファー不足やカーネル方針等でも増えます。
変更操作は現在の通信を切る
インターフェースのup・down、アドレス、ネットマスク、MTUなどを変更できます。リモートログインで利用中のインターフェースをdownにしたりアドレスを変えたりすると、管理接続を失います。変更前の出力と経路を保存し、ローカルコンソール等の復旧手段を用意します。
コマンドによる手動変更は、多くの場合、再起動やネットワーク管理サービスの再適用で消えます。永続設定はNetworkManager、systemd-networkd、Linuxディストリビューション固有の設定ファイル、BSD・macOSの管理機構などへ正しく記述します。一時的に設定できたことと、起動後も保たれることを分けます。
Linuxではipコマンドへ機能を分ける
Linuxのnet-tools版ifconfigは従来ツールで、現代のアドレス・リンク機能をすべて表せません。ip linkは機器とリンク、ip addressはプロトコルアドレス、ip routeは経路、ip neighbourは近隣表を扱います。
一方、BSDやmacOSではifconfigが現在も標準的なインターフェース管理ツールです。「ifconfigは全Unixで廃止」とは言えません。対象OSのマニュアルを読み、その実装の構文を使います。
ifconfigに表示されない設定
デフォルトゲートウェイは経路表、DNSサーバーはリゾルバー設定、Wi-FiのSSID・暗号・認証は無線管理、ファイアウォールはパケット絞り込み機構にあります。パブリックIPもNATの外側で決まる場合があります。
ifconfigだけを貼り付けてネットワーク全体を診断せず、インターフェース、経路、近隣機器、DNS、ソケット、パケットの層ごとに必要なツールを選びます。
ifconfigはUnix系インターフェースのアドレス・フラグ・MTU・統計を表示・変更する従来ツールです。OSごとの差、管理状態と実リンク、累積カウンターと現在速度、一時変更と永続設定を分けて読みます。
Linux net-tools版ifconfigのinterface表示・変更、flags、MTU、RX/TX出力、ip link推奨を含む制約:ifconfig(8) manual page