InfraAcademy

InfraAcademy Blog

LinuxでIPアドレスを確認する方法|ip・hostname・ifconfigの違いも解説

こんにちは、フルスタックエンジニアのryuです。

IPアドレスはどうやって確認するの?

今回の記事では、LinuxでIPアドレスを確認する方法について解説します。

Linuxでは、ip addressコマンドを使うのが基本です。ただし、表示される情報が多く、どの行を見ればよいのかわからない方も多いのではないでしょうか。

この記事では、IPv4だけを表示する方法、特定のインターフェースを確認する方法、hostname -Inmcliとの違いまで整理します。

ifconfig: command not foundと表示された場合の対処法や、プライベートIPとグローバルIPの違いも解説します。

LinuxのIPアドレスを確認する方法

LinuxのIPアドレスを確認するときは、まずip addressを使います。

短く書く場合は、ip addrip aでも同じように確認できます。

ip address

用途ごとのコマンドを整理すると、次のようになります。

確認したい内容 コマンド
すべてのIPアドレス ip address
IPv4だけ ip -4 address
IPv4を短く表示 ip -br -4 address
特定のNICだけ ip address show dev enp0s3
IPだけを簡潔に表示 hostname -I
NetworkManagerの詳細 nmcli device show

初心者の方は、ip -br -4 addressも覚えておくと便利です。

通常のip addressより表示が短く、インターフェース名とIPv4アドレスの対応を確認しやすくなります。

ipコマンドでIPアドレスを確認する方法

まずは、現在よく使われるipコマンドを確認します。

ipは、IPアドレスだけでなく、インターフェースやルーティング、近隣情報なども扱えるコマンドです。

ipコマンドの基本的な使い方

ipコマンドは以下のように使用します。

ip address

“ip”コマンドに”address”を付けるだけです。コマンドを実行すると、下記のように全てのインターフェースのIPアドレスが表示されます。

インターフェースとは、IPアドレスが設定されている場所のことです。eth0やeth1などがあります。

ip address コマンドの実行結果 IPアドレスは、”inet 169.254・・・”とinetから始まる部分です。inet6はIPv6アドレスのことです。

ただし、169.254.0.0/16はIPv4のリンクローカルアドレスです。DHCPからIPアドレスを取得できなかった場合などに表示されることがあります。

一般的な家庭内LANや社内LANでは、192.168.x.x172.16.x.xから172.31.x.x10.x.x.xなどが表示されることが多いです。

出力例を簡略化すると、次のようになります。

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>
    inet 192.168.1.20/24 brd 192.168.1.255 scope global dynamic enp0s3
    inet6 fe80::1234:5678:abcd:ef01/64 scope link

inetはIPv4、inet6はIPv6です。

192.168.1.20/24/24は、ネットワーク部の長さを表します。

インターフェース名の見方

Linuxのインターフェース名は、必ずしもeth0eth1ではありません。

現在は、enp0s3ens160eno1wlp2s0などの名前が使われることがあります。

loはループバックインターフェースです。通常は127.0.0.1が設定され、自分自身との通信に使われます。

IPv4アドレスだけを表示させる場合

IPv4アドレスだけ表示させたい方は、こちらのコマンドで表示できます。

ip -4 address

コマンドを実行すると、以下のようにIPv4アドレスだけ表示されるようになりました。

ipv4アドレスのみ表示

ipコマンドがない場合はiproute2を確認する

ipコマンドがない場合は、関連パッケージを確認します。

Ubuntu・Debian系では、次のコマンドです。

sudo apt update
sudo apt install iproute2

Rocky Linux・AlmaLinux・RHEL・Fedoraなどでは、次のように確認します。

sudo dnf install iproute

ディストリビューションによってパッケージ名が異なるため、先にOSを確認しましょう。

cat /etc/os-release

【関連記事】Linuxのipコマンドの使い方

IPアドレスを見やすく表示する

ip addressは情報量が多いため、オプションを使って表示を絞ると読みやすくなります。

実務では、確認したいNICやアドレスの種類を決めてから実行します。

短い形式で確認する

インターフェース名、状態、IPアドレスを1行で確認するには、次のコマンドを使います。

ip -br address

IPv4だけに絞る場合は、次のように実行します。

ip -br -4 address

出力例は次のとおりです。

lo       UNKNOWN  127.0.0.1/8
enp0s3   UP       192.168.1.20/24

複数のNICがあるサーバーでも、全体を一覧しやすくなります。

特定のインターフェースだけ確認する

enp0s3だけを確認したい場合は、devで対象を指定します。

ip address show dev enp0s3

IPv4だけなら、次のように実行できます。

ip -4 address show dev enp0s3

インターフェース名がわからない場合は、次のコマンドで確認します。

ip link show

通信に使うIPv4だけを確認する

ループバックなどを除き、通常の通信に使われるIPv4を確認するには、次のコマンドが便利です。

ip -4 address show scope global

複数のIPが表示された場合は、最初の1つだけを見て判断せず、インターフェース名も確認してください。

hostname -Iで簡単に確認する

IPアドレスだけを手早く確認したい場合は、hostname -Iも利用できます。

hostname -I

次のように、ホストへ割り当てられたアドレスが空白区切りで表示されます。

192.168.1.20 172.17.0.1

nmcliでIPアドレスを確認する

Rocky Linux、AlmaLinux、RHEL、Fedoraなどでは、NetworkManagerがネットワーク設定を管理していることがあります。

その場合は、nmcliでも確認できます。

nmcli device show

表示項目を絞る場合は、次のように実行します。

nmcli -f GENERAL.DEVICE,GENERAL.STATE,IP4.ADDRESS,IP4.GATEWAY device show

nmcliでは、IPアドレスだけでなく、デフォルトゲートウェイやDNSもまとめて確認できます。

ネットワーク障害を調査するときは、IPだけでなく、ゲートウェイやDNSも確認することが重要です。

ifconfigコマンドでIPアドレスを確認する

次にifconfigコマンドでIPアドレスを確認します。

以前はifconfigがよく使われていましたが、現在のLinuxでは最初から入っていない場合があります。

既存の手順書や古いサーバーで見かけることはありますが、新しく覚えるならipを優先しましょう。

ifconfigコマンドのインストール方法

まずは、ifconfigコマンドのインストールです。

Ubuntu・Debian系では、net-toolsをインストールします。

sudo apt update
sudo apt install net-tools

Red Hat系では、次のコマンドです。

sudo dnf install net-tools

IPを確認するだけなら、ifconfigを追加せずip addressを使えます。

ifconfigコマンドの基本的な使い方

コマンドのインストールが完了したら、ifconfigコマンドを使用してみましょう。

ifconfig

コマンドを入力すると、以下のようにIPアドレスが表示されます。

ifconfigコマンドでIPアドレスを確認する ipコマンド同様にインターフェース毎に表示されます。

元記事にはifongitという記述がありましたが、正しくはifconfigです。

【関連記事】Linuxのネットワークインターフェースを確認する方法

IPアドレスの見方

ip addressを実行すると、192.168.1.20/24のようにIPアドレスとプレフィックス長が表示されます。

表示された数字の意味も理解しておきましょう。

IPv4は0から255までの数字で表す

IPv4アドレスは、0から255までの数字を4つ、ドットで区切って表します。

192.168.1.20

元記事では1から255と説明していましたが、各オクテットでは0も使用されます。

ただし、端末へ割り当てられるかどうかは、ネットワークアドレスやブロードキャストアドレスなどの条件で変わります。

ネットワーク部は常に第3オクテットまでではない

192.168.1.20/24では、先頭24ビットがネットワーク部です。

この例では192.168.1までが同じネットワークを表します。

しかし、ネットワーク部が常に第3オクテットまでとは限りません。

192.168.1.20/24
10.0.10.20/16
172.16.10.20/20

プレフィックス長によって、ネットワーク部とホスト部の境界は変わります。

【関連記事】サブネットマスクとは?初心者向けに仕組みを解説

プライベートIPとグローバルIPの違い

ip addressで確認できるのは、そのLinuxのNICに設定されたIPです。

家庭用ルーター、社内ネットワーク、クラウド環境では、プライベートIPが表示されることがあります。

プライベートIPv4の範囲 CIDR
10.0.0.010.255.255.255 10.0.0.0/8
172.16.0.0172.31.255.255 172.16.0.0/12
192.168.0.0192.168.255.255 192.168.0.0/16

NATやNAPTを経由している場合、外部から見えるグローバルIPは別の値になります。

クラウドでも、OS上ではプライベートIPだけが設定され、パブリックIPはクラウド側で変換される構成があります。

IPアドレスが表示されないときの確認方法

NICが表示されても、inetの行がない場合があります。

そのときは、NICの状態、DHCP、ルーティングを順番に確認します。

NICがUPか確認する

ip -br link

DOWNと表示されている場合は、NICが停止しています。

一時的に有効化する場合は、次のコマンドです。

sudo ip link set enp0s3 up

ただし、仮想マシンやクラウド側でNICが無効になっている場合は、OS内の操作だけでは直りません。

169.254から始まる場合

169.254.x.xが表示される場合は、DHCPからIPを取得できていない可能性があります。

NetworkManagerを使っている場合は、次のコマンドで状態を確認します。

nmcli device status

IPはあるが通信できない場合

IPが設定されていても、デフォルトルートやDNSが誤っていると通信できません。

ip route

ゲートウェイまでの疎通を確認します。

ping -c 4 192.168.1.1

名前解決だけ失敗している場合は、DNS設定を確認します。

resolvectl status

IP、ルート、DNSの順に確認すると、原因を切り分けやすくなります。

ifconfigよりipコマンドを使おう

新しくLinuxのネットワーク操作を覚えるなら、ifconfigよりipコマンドがおすすめです。

代表的な対応関係は次のとおりです。

現在使われるコマンド 従来のコマンド 用途
ip address ifconfig IPアドレス確認
ip link ifconfig NICの状態確認
ip route route ルーティングテーブル
ip neigh arp 近隣・ARP情報
ss netstat ソケット情報

古い手順書を読むために対応関係を知り、普段の操作ではipssを使えるようにしておくとよいでしょう。

LinuxのIPアドレスを確認する方法まとめ

今回の記事では、LinuxでIPアドレスを確認する方法を解説しました。

基本となるコマンドは、次のとおりです。

ip address

IPv4を見やすく確認する場合は、次のコマンドがおすすめです。

ip -br -4 address

IPだけを簡単に表示するならhostname -I、ゲートウェイやDNSまで確認するならnmcli device showを使えます。

ifconfigは古い手順で見かけますが、新しく覚えるならipコマンドを優先しましょう。

Linuxの学習を始めたい方はこちらから

Linuxの実践的な内容を学習したい、コマンドを打ちながらLinuxを学習したい。

そのような方に向けて、InfraAcademyではLinuxやネットワークの講座を用意しています。

Linux入門講座を見る

ネットワーク講座を見る

↓InfraAcademyの講座の一部です。

上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。

インフラエンジニアに必要な知識が学習できます。

InfraAcademyで学習をはじめる

参考資料

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る