ネットワークのIPアドレス確認:ifconfigとipコマンドの使い分け
Linuxシステムを運用していると、サーバーのIPアドレスを確認する場面によく遭遇します。例えば、新しいサーバーをセットアップした直後リモートからSSH接続を試みる際、あるいは仮想マシンやクラウド環境で複数のネットワークインターフェースがある場合など、IPアドレスが正しく設定されているかを確認することは、トラブルシューティングの第一歩となります。

この記事では、現在広く利用されている ip コマンドと、旧来から使われてきた ifconfig コマンドを使って、LinuxのIPアドレスを確認する方法について解説します。
この記事でわかること
  • LinuxサーバーのIPアドレス確認の基本
  • ifconfig コマンドと ip addr コマンドの使い分け
  • ネットワーク設定で困ったときに役立つ情報

ネットワークインターフェースのIPアドレスを確認する
ip addrコマンドで確認する

現在、多くのLinuxディストリビューションで推奨されているのが ip コマンドです。ネットワークに関する様々な操作を行うことができ、IPアドレスの確認には ip addr show または省略形の ip a を使います。

ip a

コマンドの実行例:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 86297sec preferred_lft 86297sec
    inet6 fe80::5054:ff:fe12:3456/64 scope link 
       valid_lft forever preferred_lft forever

上記の例では、eth0というインターフェースに 192.168.1.100 というIPアドレスが割り当てられていることがわかります。

ワンポイント:IPv4アドレスだけを素早く確認したいとき

インターフェースが多い場合、出力が長くなりがちです。ip a の結果からIPv4/IPv6アドレスの行だけを抽出したい場合は、grepコマンドを組み合わせると便利です。

ip a | grep inet

これにより、inet (IPv4アドレス) や inet6 (IPv6アドレス) の行だけが表示され、必要な情報に素早くアクセスできます。

ifconfigコマンドで確認する(非推奨になりつつある)

かつてLinuxのネットワーク設定で主流だったのが ifconfig コマンドです。現在でも利用できますが、多くのディストリビューションで net-tools パッケージの一部として提供されており、デフォルトでインストールされていない場合があります。

ifconfig

コマンドの実行例:

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 1234  bytes 123456 (120.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 567  bytes 56789 (55.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8  bytes 800 (800.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 800 (800.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig はシンプルでわかりやすいですが、新しいネットワーク機能への対応が限定的であるため、特別な理由がない限り ip コマンドの利用が推奨されます。

補足:ifconfigが「command not found」になる場合

もし ifconfig コマンドを実行して「command not found」となる場合は、net-tools パッケージがインストールされていない可能性があります。その場合、以下のコマンドでインストールできます(ディストリビューションによってコマンドが異なります)。

  • Debian/Ubuntu系: sudo apt install net-tools
  • RedHat/CentOS系: sudo yum install net-tools または sudo dnf install net-tools

ipコマンドとifconfigコマンドの違い
特徴 ipコマンド (iproute2) ifconfigコマンド (net-tools)
推奨度 現在主流。新しいLinuxディストリビューションで推奨 旧来のコマンド。非推奨になりつつあるが、未だ広く利用される
機能 ネットワークに関するより広範な情報と操作が可能 シンプルなインターフェース情報表示が主
サポート アクティブに開発・メンテナンスされている 新機能追加の予定はほぼなく、メンテナンスも限定的
表示 IPv4, IPv6アドレスに加え、より詳細なネットワーク統計や状態を表示 主にIPv4情報に特化し、表示がやや簡潔

この状況で困ったらコレ!
IPアドレスはわかったけれど、外部と通信できない!

そのような場合は、単にIPアドレスが設定されているだけでなく、デフォルトゲートウェイDNSサーバーの設定も重要になります。これらは通常、/etc/resolv.conf/etc/netplan (Ubuntuなど)、あるいは /etc/sysconfig/network-scripts (CentOSなど) といった設定ファイルで管理されています。これらの設定ファイルの場所は、使用しているディストリビューションによって異なる点に注意しましょう。

DNSサーバーの設定例 (/etc/resolv.conf):

nameserver 8.8.8.8
nameserver 8.8.4.4

上記はGoogle Public DNSを使用する例です。ネットワークトラブル時には、これらの設定ファイルの内容も確認してみましょう。

関連コマンド紹介:デフォルトゲートウェイの確認

現在のデフォルトゲートウェイを調べるには、ip route コマンドが非常に役立ちます。

ip route

コマンドの実行例:

$ ip route
default via 192.168.1.1 dev eth0 proto dhcp metric 100 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100

上記の default via 192.168.1.1 の部分がデフォルトゲートウェイを示しています。


まとめ

本記事では、Linuxシステムで現在のIPアドレスを確認するための主要なコマンド ip addrifconfig について解説しました。これらコマンドを使って現在のネットワーク設定を把握し、もし問題があれば関連する設定ファイルを確認することで、多くのネットワークトラブルに対処できます。もしネットワークにつながらない場合は、物理的な接続(LANケーブルやWi-Fi設定)や仮想マシンのネットワーク設定も再確認しましょう。

この記事がIPアドレスの確認方法について理解を深める一助となれば幸いです。
次回はパッケージマネージャ(apt/yum/dnf/pacman)について解説します。
ご覧いただきありがとうございました。

私たちは、お客さまが私たちのウェブサイトをどのように使用するのかを理解し、お客さまの体験を改善するために Cookie を使用しています。 閲覧を続けると Cookie の使用に同意したことになります。
拒否した場合、このウェブサイトにアクセスしてもお客さまの情報は追跡されません。 情報を追跡しない設定を記憶するために、ウェブブラウザで 1 つだけ Cookie が使用されます。