LinuxでIPアドレスを確認するコマンド|ip a・hostname -I・ifconfigの使い分け


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)LinuxtipsLinuxtips, ネットワーク > LinuxでIPアドレスを確認するコマンド|ip a・hostname -I・ifconfigの使い分け
「このサーバーのIPアドレス、何だっけ?」
「ifconfig を打ったら command not found と言われた」
Linuxサーバーの構築や障害対応で、自分のサーバーのIPアドレスを確認する場面は日常的に発生します。

この記事では、LinuxでIPアドレスを確認する実践的なコマンドを解説します。現代の標準である ip コマンドを中心に、hostname -Inmcli、旧来の 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 aip 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

同様に、IPv6アドレスだけを表示したい場合は ip -6 a を使います。

3. hostname -I でIPアドレスだけを取得する

「IPアドレスの数字だけが欲しい」という場合に最も手軽なのが hostname -I(大文字のアイ)です。

# hostname -I 192.168.0.36

余計な情報が一切なく、IPアドレスだけが表示されるため、スクリプト内でIPアドレスを変数に格納したい場合にも便利です。

※注意:小文字の 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

障害対応の際、IPアドレスだけでなくゲートウェイやDNSの設定も確認する必要がある場面ではこのコマンドが重宝します。

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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

<<関連記事>>
・CentOS7のホスト名設定(nmcliコマンド)
・IPv6アドレスを確認する
・nmapでポートスキャンを実施する
・名前解決の参照順を変更する(/etc/host.conf)
・名前解決の参照順を変更する(/etc/nsswitch.conf)

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る