「ifconfig を打ったら command not found と言われた」
Linuxサーバーの構築や障害対応で、自分のサーバーのIPアドレスを確認する場面は日常的に発生します。
この記事では、LinuxでIPアドレスを確認する実践的なコマンドを解説します。現代の標準である
ip コマンドを中心に、hostname -I、nmcli、旧来の ifconfig まで、環境に応じた使い分けと実行例をまとめました。1. 【結論】現場で使うIPアドレス確認コマンド一覧
LinuxでIPアドレスを確認する代表的なコマンドは以下の4つです。| コマンド | 特徴 | 対応環境 |
|---|---|---|
ip a |
現代の標準。最も確実 | RHEL 7以降 / Ubuntu 16.04以降 |
hostname -I |
IPアドレスだけをシンプルに表示 | ほぼすべてのディストリビューション |
nmcli device show |
ゲートウェイやDNSも同時に確認 | NetworkManager導入環境 |
ifconfig |
旧来のコマンド(非推奨) | CentOS 6以前 / 別途インストール |
ip a を使ってください。現在のLinuxディストリビューションではほぼ確実に使えます。2. ip a(ip addr show)でIPアドレスを確認する【推奨】
ip コマンドは、ネットワークの設定や状態を確認するための現代の標準ツールです。ip a は ip addr show の省略形で、すべてのネットワークインターフェースのIPアドレスを表示します。# ip a 1: lo:
mtu 65536 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host 2: eth0: mtu 1500 link/ether 00:0c:29:95:d9:1d brd ff:ff:ff:ff:ff:ff inet 192.168.0.36/24 brd 192.168.0.255 scope global noprefixroute eth0 inet6 fe80::20c:29ff:fe95:d91d/64 scope link
・inet 192.168.0.36/24 :IPv4アドレス。
/24 はサブネットマスク(255.255.255.0)を意味します・inet6 fe80::... :IPv6のリンクローカルアドレス
・lo :ループバックインターフェース(127.0.0.1)。自分自身を指す特殊なアドレスです
・eth0 / ens160 / ens33 :実際のネットワークインターフェース名(環境により異なります)
特定のインターフェースだけ表示する
インターフェースが複数ある環境では、特定のインターフェースだけを指定して表示できます。# ip a show eth0 2: eth0:
mtu 1500 link/ether 00:0c:29:95:d9:1d brd ff:ff:ff:ff:ff:ff inet 192.168.0.36/24 brd 192.168.0.255 scope global noprefixroute eth0
IPv4アドレスだけを表示する(-4 オプション)
IPv6の情報が不要な場合、-4 オプションを付けるとIPv4アドレスだけに絞り込めます。# ip -4 a 1: lo:
inet 127.0.0.1/8 scope host lo 2: eth0: inet 192.168.0.36/24 brd 192.168.0.255 scope global noprefixroute eth0
ip -6 a を使います。3. hostname -I でIPアドレスだけを取得する
「IPアドレスの数字だけが欲しい」という場合に最も手軽なのがhostname -I(大文字のアイ)です。# hostname -I 192.168.0.36
※注意:小文字の
hostname -i は、/etc/hosts にホスト名の登録がない環境では正しく表示されません。大文字の -I を使ってください。4. nmcli device show でネットワーク情報をまとめて確認する
IPアドレスだけでなく、ゲートウェイやDNSサーバーの情報も同時に確認したい場合はnmcli device show が便利です。NetworkManager が動作している環境(RHEL/CentOS 7以降、Ubuntu Desktopなど)で使用できます。# nmcli device show eth0 GENERAL.DEVICE: eth0 GENERAL.TYPE: ethernet GENERAL.STATE: 100 (接続済み) IP4.ADDRESS[1]: 192.168.0.36/24 IP4.GATEWAY: 192.168.0.1 IP4.DNS[1]: 192.168.0.1
5. ifconfig でIPアドレスを確認する(旧来の方法)
ifconfig はかつてLinuxのネットワーク設定で広く使われていたコマンドですが、現在は ip コマンドへの移行が進んでおり、RHEL 7以降やUbuntu 18.04以降ではデフォルトでインストールされていません。# ifconfig eth0: flags=4163
mtu 1500 inet 192.168.0.36 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::20c:29ff:fe95:d91d prefixlen 64 scopeid 0x20 ether 00:0c:29:95:d9:1d txqueuelen 1000 (Ethernet) lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0
inet 192.168.0.36 の部分がIPアドレスです。「ifconfig: command not found」エラーが出る場合
# ifconfig -bash: ifconfig: command not found
ifconfig を含む net-tools パッケージがインストールされていない場合に発生します。対処法は2つあります。・推奨:
ip a コマンドを使う(追加インストール不要)・ifconfigが必要な場合:net-toolsパッケージをインストールする
# RHEL系 # dnf install net-tools # Debian/Ubuntu系 # apt install net-tools
ifconfig ではなく ip コマンドを使うことを強くおすすめします。ifconfig は将来的に廃止される可能性があるため、ip コマンドに慣れておくのが実務上の鉄則です。【実務Tips】サーバー構築時に確認すべきネットワーク情報
IPアドレスの確認は、サーバー構築やトラブル対応の入り口に過ぎません。実務では以下の情報もセットで確認することが多いため、まとめて覚えておくと効率的です。| 確認したい情報 | コマンド |
|---|---|
| IPアドレス | ip a |
| デフォルトゲートウェイ | ip route |
| DNSサーバー | cat /etc/resolv.conf |
| ホスト名 | hostname |
| 通信確認(疎通確認) | ping 宛先IPアドレス |
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| IPアドレスを確認する(現代の標準) | ip a |
| 特定インターフェースのIPを確認する | ip a show eth0 |
| IPv4アドレスだけ表示する | ip -4 a |
| IPアドレスの数字だけを取得する | hostname -I |
| IP・ゲートウェイ・DNSをまとめて確認する | nmcli device show |
| IPアドレスを確認する(旧来の方法) | ifconfig |
| net-toolsをインストールする(RHEL系) | dnf install net-tools |
ネットワーク設定やサーバー構築で、毎回ネット検索に頼っていませんか?
IPアドレスの確認ひとつとっても、コマンドの使い分けや出力の読み方を知らなければ、障害対応で的確な判断ができません。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
登録10秒/自動返信でDL/合わなければ解除3秒
<<関連記事>>
・CentOS7のホスト名設定(nmcliコマンド)
・IPv6アドレスを確認する
・nmapでポートスキャンを実施する
・名前解決の参照順を変更する(/etc/host.conf)
・名前解決の参照順を変更する(/etc/nsswitch.conf)
