Linux で IP アドレスを確認する方法。
私は Ubuntu 22.04 LTS を使用している。
以前は ifconfig
が使えてたけど、Ubuntu 18 Ver.以降はデフォルトでは使えなくなっているよう。
で、どうするかというと、 ip
コマンドを使う。
IP コマンドで IP アドレス情報を取得する
試しに ip address (ip a)
と入れてみる (a は address の短縮形) と、
~S 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 XXX.X.X.X/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::X/XXX scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:0b:05:00 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XXX.XXX/24 brd XXX.XXX.XXX.XXX scope global dynamic noprefixroute eth0
valid_lft 86186sec preferred_lft 86186sec
inet6 XXXX::XXXX:XXXX:XXXX:XXXX/64 scope link noprefixroute
valid_lft forever preferred_lft forever
詳しい IP アドレスの表示が出てくる。
読み方色々
mtu 65536
maximum transmission unit = 1500bytes
ネットワーク上での送信可能はパケットの最大サイズは1500バイト。
link/ether
Windows アドレス。
inet
XXX.XXX.XXX.XXX: IpV4 のIP アドレス。/24 は、ネットワークアドレスがどこまでかを示す。
brd: ブロードキャストアドレス
scope global: 送信先はグローバル
valid=lft: (lifetime) : 有効期限
inet6
IPv6 のアドレス。
scope link: 送信先はローカルネットワーク内のみ。
scope
Scope | Description |
---|---|
global | valid everywhere |
site | valid only within this site (IPv6) |
link | valid only on this device |
host | valid only inside this host (machine) |
デバイスを指定
上の場合、eth0
だけを表示させたい場合は、dev
で指定できる。
~$ ip addr show dev eth0
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:0b:05:00 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XXX.XXX/24 brd XXX.XXX.XXX.XXX scope global dynamic noprefixroute eth0
valid_lft 86186sec preferred_lft 86186sec
inet6 XXXX::XXXX:XXXX:XXXX:XXXX/64 scope link noprefixroute
valid_lft forever preferred_lft forever
-breif (-br) オプション
もう少しわかりやすくするために、 -brief (-br)
オプションをつけてみる。(-br は -brief の短縮形)
~$ ip -br a
lo UNKNOWN XXX.X.X.X/8 ::X/128
eth0 UP XXX.XXX.XXX.XXX/20 XXXX::XXXX:XXXX:XXXX:XXXX/64
求めたい IP アドレスが出てきた。
- IPv4: 下の行の前半 XXX.XXX.XXX.XXX の部分
- IPv6: 下の行の後半 XXXX::XXXX:XXXX:XXXX:XXXX の部分
-4 オプションで IPv4 のみ抽出
-4
オプションをつけると、IPv4 のみ抽出できる。
~$ ip -br -4 a
lo UNKNOWN XXX.X.X.X/8
eth0 UP XXX.XXX.XXX.XXX/20
-6 オプションで IPv6 のみ抽出
同じように、-6
オプションをつけると、IPv6 のみ抽出できる。
~$ ip -br -6 a
lo UNKNOWN ::X/128
eth0 UP XXXX::XXXX:XXXX:XXXX:XXXX/64
-c オプションで IP アドレスに色をつける
-c
オプションをつけると、IPの部分が色付けされる。
~$ ip -br -c a
lo UNKNOWN XXX.X.X.X/8 ::X/128
eth0 UP XXX.XXX.XXX.XXX/20 XXXX::XXXX:XXXX:XXXX:XXXX/64
マゼンダの部分が IPv4、シアンの部分が IPv6。
References
「LinuxでIPアドレスを確認したい」「Ubuntuではifconfigコマンドが使えない・・・」このような場合には、この記事の内容が参考となります。この記事では、ifconfigコマンドの代わりにipコマンドの利用をオススメしています。
ip [OPTION] OBJECT {COMMAND | help} よく使うOPTIONは、 1. -4 – IPV4表示 2. -6 - IPV6表示 よく使うOBJECTは、 1. link (l) – ネットワークイン...