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-toolssudo yum install net-tools または sudo dnf install net-toolsipコマンドと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)について解説します。
ご覧いただきありがとうございました。