❓ これは何
Ubuntu での ip addr コマンドについてのまとめ記事です。
ip addr コマンドは Linux で IP アドレスの確認ができるコマンドです。
しかし初心者では何がなんのかがわからないので、
ちょっとしたメモ兼チートシートと思い書きました。
間違っている部分があれば訂正いたします。お手数ですが、発見した場合コメントお願いいたします。
青背景は補足です、読み飛ばしていただいてOKです。
✒️ 解説
ip addr コマンドを実行すると、
システム上のすべてのネットワークインターフェースと
その詳細のIPアドレス情報を表示できます。
ip addr
出力結果は次のようになります。(例)
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 fq_codel state UP group default qlen 1000
link/ether 01:23:45:67:89:ab brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 86397sec preferred_lft 86397sec
inet6 fe80::1234:5678:9abc:def0/64 scope link
valid_lft forever preferred_lft forever
インターフェース番号と名前
1: lo と 2: eth0 など、ネットワークインターフェースの識別子と名前を示します。
lo はループバックインターフェースを表し、通常は 127.0.0.1 のIPアドレスを持ちます。
ループバックインターフェースは自分自身を指す仮想的なネットワークインターフェースのことです。127.0.0.1 は localhost とも呼ばれます。
eth0 とあれば、通常のイーサネットインターフェース(有線LAN)を表します。
enp3s0, wlp2s0 と表示されている場合
- en:Ethernet(有線)のインターフェース。
- wl:Wireless LAN(無線)のインターフェース。
この後に続く文字と数字は、インターフェースの物理的な位置を示します。
- p3:PCIEスロット3に接続されていることを示します。(自作PCやったことある方ならわかると思う)
- s0:デバイスのファーストファンクション(ファンクション0)を示します。
🐏 PCIデバイスとファンクション
PCIデバイスは、1つの物理カード上に複数の機能(ファンクション)を持つことができます。
例えば、1つのPCIカードがネットワークインターフェースとストレージコントローラーの両方を提供する場合、そのカードには複数のファンクションがあります。
各ファンクションは、次のように識別されます
- ファンクション0(Function 0):ファーストファンクション。デバイスの最初の機能。
- ファンクション1(Function 1):セカンドファンクション。デバイスの2番目の機能。
- 以降、最大 ファンクション7(Function 7)まで。
インターフェースの状態
<LOOPBACK,UP,LOWER_UP> や <BROADCAST,MULTICAST,UP,LOWER_UP> はインターフェースのフラグを示します。例えば、UP はインターフェースがアクティブであることを意味します。
mtu はインターフェースの最大転送単位を示します。これは、ネットワークパケットの最大サイズです。
😞 1500だと1Gbps とからしい。mtu がすなわち転送速度というわけではないので、ちょっとむずい。
qdisc はキューイングディシプリンを示します。
state はインターフェースの状態を示します (UP や UNKNOWN など)。
リンク層のアドレス
link/loopback や link/ether はリンク層の種類を示します。
00:00:00:00:00:00 や 01:23:45:67:89:ab はMACアドレスを示します。
IPv4アドレス
inet 127.0.0.1/8 や inet 192.168.1.2/24 はIPv4アドレスとそのサブネットマスクを示します。
scope はアドレスのスコープを示し、host や global などがあります。
valid_lft と preferred_lft はアドレスの有効期限を示します。
valid_lft(Valid Lifetime)と preferred_lft(Preferred Lifetime)は、IPアドレスの有効期限を管理するために使用されるパラメータです。
Valid Lifetime(有効ライフタイム)
- 定義:valid_lft は、IPアドレスが有効である期間を示します。この期間が過ぎると、IPアドレスは無効とみなされ、もはや使用できなくなります。
- 用途:このパラメータは、アドレスの自動管理と更新のために使用されます。例えば、DHCPやIPv6のアドレス自動設定(SLAAC)で利用されます。
Preferred Lifetime(推奨ライフタイム)
- 定義:preferred_lft は、IPアドレスが優先される期間を示します。この期間中は、アドレスは「優先アドレス」として使用されます。推奨ライフタイムが過ぎた後でも、valid_lft が有効である限りアドレスは使用可能ですが、「非優先アドレス」として扱われます。
- 用途:新しい接続やセッションには優先アドレスが使用され、既存の接続には非優先アドレスが使用され続けます。これにより、アドレスの更新や再割り当てがスムーズに行われます。
IPv6アドレス
inet6 ::1/128 や inet6 fe80::1234:5678:9abc:def0/64 はIPv6アドレスとそのプレフィックス長を示します。
特定のインターフェースの情報を見る
次のコードで表示できます
また以下のオプションもよく使います。
- ip addr show up:アクティブなインターフェースのみを表示します。
- ip -4 addr:IPv4アドレスのみを表示します。
- ip -6 addr:IPv6アドレスのみを表示します。
ip addr show eth0
参考文献
how find your IP address in Linux
https://opensource.com/article/18/5/how-find-ip-address-linux
コメントを残す