Linux管理・運用の基本
システム管理者のための実践ガイド
システム管理者のための実践ガイド
ip
コマンドと、旧来から使われてきた ifconfig
コマンドを使って、LinuxのIPアドレスを確認する方法について解説します。ifconfig
コマンドと ip addr
コマンドの使い分け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アドレスが割り当てられていることがわかります。
インターフェースが多い場合、出力が長くなりがちです。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
パッケージがインストールされていない可能性があります。その場合、以下のコマンドでインストールできます(ディストリビューションによってコマンドが異なります)。
sudo apt install net-tools
sudo yum install net-tools
または sudo dnf install net-tools
ip
コマンドとifconfig
コマンドの違い特徴 | ip コマンド (iproute2) |
ifconfig コマンド (net-tools) |
---|---|---|
推奨度 | 現在主流。新しいLinuxディストリビューションで推奨 | 旧来のコマンド。非推奨になりつつあるが、未だ広く利用される |
機能 | ネットワークに関するより広範な情報と操作が可能 | シンプルなインターフェース情報表示が主 |
サポート | アクティブに開発・メンテナンスされている | 新機能追加の予定はほぼなく、メンテナンスも限定的 |
表示 | IPv4, IPv6アドレスに加え、より詳細なネットワーク統計や状態を表示 | 主にIPv4情報に特化し、表示がやや簡潔 |
そのような場合は、単に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 addr
と ifconfig
について解説しました。これらコマンドを使って現在のネットワーク設定を把握し、もし問題があれば関連する設定ファイルを確認することで、多くのネットワークトラブルに対処できます。もしネットワークにつながらない場合は、物理的な接続(LANケーブルやWi-Fi設定)や仮想マシンのネットワーク設定も再確認しましょう。
この記事がIPアドレスの確認方法について理解を深める一助となれば幸いです。
次回はパッケージマネージャ(apt/yum/dnf/pacman)について解説します。
ご覧いただきありがとうございました。