タグ: 図解

  • Ubuntu ip addr コマンドとは?

    Ubuntu ip addr コマンドとは?

    ❓ これは何

    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

Home
About
Blog
Works
Contact