【初心者向け】LinuxでローカルIPアドレスを確認する方法と実用ポイント

Linux

Linux環境でネットワーク設定や接続トラブルの調査をする際に、ローカルIPアドレスの確認は最初に行うべき基本操作です。

しかし、Linuxディストリビューションやバージョンによって使うコマンドが異なる場合もあり、初心者にとっては少し混乱しがちです。

この記事では、LinuxでローカルIPアドレスを確認する方法を複数パターンで紹介し、それぞれの違いと使いどころも解説します。

スポンサーリンク

ローカルIPアドレスとは?

基本的な概念

まず、ローカルIPアドレスとは何かを理解しておきましょう。

ローカルIPアドレス(プライベートIPアドレス)

  • 家庭や会社などの内部ネットワークで使われるIPアドレス
  • インターネット上では直接使えない、内部専用のアドレス
  • ルーターが自動的に割り当てることが多い

よく使われるローカルIPの範囲

  • 192.168.0.1192.168.255.254
  • 10.0.0.110.255.255.254
  • 172.16.0.1172.31.255.254

なぜローカルIPを確認する必要があるの?

ローカルIPアドレスを知ることで、以下のようなことができます:

  • ネットワーク設定の確認:正しくネットワークに接続されているかチェック
  • トラブルシューティング:接続問題の原因を調べる
  • サーバー設定:Webサーバーやファイルサーバーを立てる時のアドレス設定
  • セキュリティ確認:どのネットワークに接続されているかを把握

基本のコマンド:ip a(推奨)

このコマンドの特徴

ip aは、最新のLinuxディストリビューションで推奨されているIPアドレスの確認コマンドです。

なぜ推奨されるのか?

  • 最新のLinuxシステムに標準搭載されている
  • 詳細な情報を見やすく表示してくれる
  • 将来的にも使い続けられる

基本的な使い方

# IPアドレスを確認する基本コマンド
ip a
# より詳細な情報を表示(aはaddressの省略形)
ip address
# 特定のインターフェースのみ表示
ip a show eth0

出力結果の見方

# 実際の出力例
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

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27: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 86396sec preferred_lft 86396sec

重要な部分の説明

  • lo:ループバックインターフェース(127.0.0.1)
  • eth0:有線ネットワークインターフェース
  • wlan0:無線ネットワークインターフェース(WiFi接続時)
  • inet 192.168.1.100:これがローカルIPアドレス

インターフェース名の意味

従来の命名規則

  • eth0, eth1:有線ネットワーク
  • wlan0, wlan1:無線ネットワーク

新しい命名規則

  • ens33, ens34:有線ネットワーク
  • wlp2s0:無線ネットワーク

この章のまとめip aは現在の主流で、見やすく汎用性の高いコマンドです。次に旧式の確認方法も紹介します。

旧式の確認方法:ifconfig(古い環境向け)

このコマンドの特徴

ifconfigはかつて広く使われていたコマンドですが、現在は非推奨です。しかし、古いシステムではまだ使われていることがあります。

注意点

  • 新しいLinuxディストリビューションでは標準でインストールされていない
  • セキュリティ上の理由で非推奨とされている
  • 古いシステムとの互換性のためにのみ使用

基本的な使い方

# すべてのネットワークインターフェースを表示
ifconfig
# 特定のインターフェースのみ表示
ifconfig eth0
# アクティブなインターフェースのみ表示
ifconfig -a

インストールが必要な場合

# Ubuntu/Debianの場合
sudo apt update
sudo apt install net-tools
# CentOS/RHELの場合
sudo yum install net-tools
# Fedoraの場合
sudo dnf install net-tools

出力結果の見方

# 実際の出力例
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::a00:27ff:fe12:3456  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 1234  bytes 123456 (120.5 KiB)
        TX packets 567   bytes 56789 (55.4 KiB)

重要な部分の説明

  • inet 192.168.1.100:ローカルIPアドレス
  • netmask 255.255.255.0:サブネットマスク
  • broadcast 192.168.1.255:ブロードキャストアドレス

ifconfigが使えない場合

# ifconfigコマンドが見つからない場合のエラー
bash: ifconfig: command not found

このエラーが出た場合は、上記のインストールコマンドを実行するか、ip aコマンドを使用してください。

この章のまとめifconfigは古い環境には有効ですが、現代的な環境ではipコマンドを使う方が安全です。次の章では、必要な情報だけを抽出する簡単な方法を紹介します。

目的の情報だけ取得:hostname -I や ip route

hostname -I コマンド

このコマンドの特徴

  • ローカルIPアドレスのみを表示
  • 余計な情報が表示されないためシンプル
  • スクリプトでの処理に最適

基本的な使い方

# ローカルIPアドレスのみを表示
hostname -I
# 出力例
192.168.1.100 

オプションの使い方

# IPv4アドレスのみ表示
hostname -i
# すべてのIPアドレス(IPv4とIPv6)を表示
hostname -I

ip route コマンド

このコマンドの特徴

  • ルーティング情報からIPアドレスを確認
  • 実際に使用されているアクティブなIPアドレスがわかる
  • デフォルトゲートウェイの情報も取得可能

基本的な使い方

# デフォルトルートの情報を表示
ip route
# 特定の宛先へのルートを確認(推奨)
ip route get 1.1.1.1
# 出力例
1.1.1.1 via 192.168.1.1 dev eth0 src 192.168.1.100 uid 1000

出力結果の見方

  • src 192.168.1.100:ここがローカルIPアドレス
  • via 192.168.1.1:デフォルトゲートウェイ(ルーターのIP)
  • dev eth0:使用しているネットワークインターフェース

実用的な応用例

スクリプトでIPアドレスを取得

# IPアドレスを変数に格納
LOCAL_IP=$(hostname -I | awk '{print $1}')
echo "このマシンのIPアドレス: $LOCAL_IP"

複数のIPアドレスがある場合

# すべてのIPアドレスを表示
hostname -I | tr ' ' '\n'

IPv4アドレスのみを抽出

# IPv4アドレスのみを取得(IPv6を除外)
hostname -I | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'

この章のまとめ:情報を絞って確認したい場合は、hostname -Iip routeがシンプルかつ実用的です。最後にまとめをチェックしましょう。

実践的な使い分けとトラブルシューティング

状況別の使い分け

日常的な確認には

# 最も推奨される方法
ip a

スクリプトや自動化には

# シンプルな出力が必要な場合
hostname -I

詳細な調査には

# ルーティング情報も含めて確認
ip route
ip a show

古いシステムでは

# やむを得ない場合のみ
ifconfig

よくあるトラブルと解決方法

IPアドレスが表示されない場合

# ネットワークインターフェースの状態を確認
ip link show

# インターフェースが down の場合は up にする
sudo ip link set eth0 up

ループバック(127.0.0.1)しか表示されない場合

# DHCPクライアントを再起動
sudo dhclient eth0

# または NetworkManager を再起動
sudo systemctl restart NetworkManager

複数のIPアドレスが表示される場合

# アクティブなIPアドレスのみを確認
ip route get 8.8.8.8 | grep src

セキュリティ上の注意点

IPアドレス情報の取り扱い

  • IPアドレスは機密情報として扱う
  • ログファイルや設定ファイルに記録する際は注意
  • 外部との通信では不要な情報を送信しない

権限について

  • 基本的なIP確認には管理者権限は不要
  • ネットワーク設定の変更にはsudoが必要
  • セキュリティログを確認する習慣をつける

その他の便利なコマンド

ネットワーク接続の確認

# インターネット接続をテスト
ping -c 4 8.8.8.8

# ローカルネットワーク内の他のデバイスをテスト
ping -c 4 192.168.1.1

ネットワーク統計情報

# ネットワークの統計情報を表示
ip -s link

# より詳細な統計
cat /proc/net/dev

DNS設定の確認

# DNSサーバーの設定を確認
cat /etc/resolv.conf

# 名前解決のテスト
nslookup google.com

まとめ

LinuxでローカルIPアドレスを確認するには、以下の方法があります:

コマンド比較表

コマンド特徴推奨度用途
ip a最新環境向け、詳細情報あり日常的な確認
ifconfig古い環境用、要インストール古いシステムのみ
hostname -IIPだけ簡単に確認スクリプト処理
ip route get使用中のアドレス確認ルーティング調査

推奨される使い方

基本的な確認ip aコマンドを使用 自動化・スクリプトhostname -Iを使用 トラブルシューティングip routeip aを組み合わせ

重要なポイント

  1. 説明と例を分けて理解:まずコマンドの意味を理解してから実行
  2. 環境に応じた選択:使用しているLinuxディストリビューションに適したコマンドを選ぶ
  3. セキュリティ意識:IPアドレス情報は適切に管理する
  4. トラブル対応力:複数の方法を知っておくことで問題解決力が向上

コメント

タイトルとURLをコピーしました