このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】IPアドレスを一時的に設定する:ipコマンド

 IPアドレスは、ネットワーク上でデバイスを一意に識別するために使用される重要な情報です。Linuxシステムにおいて、IPアドレスを設定するための方法として「ipコマンド」が広く利用されています。

 このコマンドは、ネットワークインターフェースに対して一時的にIPアドレスを設定するために使用され、システムを再起動すると設定がリセットされるため、恒久的な設定としては利用されません。ipコマンドは、ifconfigコマンドの後継として登場し、より強力で柔軟なネットワーク管理を提供します。

ipコマンドの概要

 ipコマンドは、Linuxシステムでネットワークインターフェースに対してIPアドレスを一時的に設定するためのツールです。このコマンドは、再起動後に設定がリセットされるため、恒久的な設定にはなりません。ipコマンドの構文は以下の通りです。

【構文】
ip address [コマンド]

主なコマンドと説明

コマンド説明
ip address show [dev ネットワークインターフェース名]指定したネットワークインターフェースの現在のIPアドレスと設定を表示します。
ip address add IPアドレス/プレフィックス dev ネットワークインターフェース名指定したネットワークインターフェースに新しいIPアドレスを追加します。
ip address delete IPアドレス/プレフィックス dev ネットワークインターフェース名指定したネットワークインターフェースから特定のIPアドレスを削除します。
主なコマンドと説明

コマンドの使用例と解説

1.rootユーザーに切り替える。

・「su -」コマンドを実行します。

user01@ubuntu-vm:~$ su -
パスワード: 
root@ubuntu-vm:~# 
2.enp0s3のIPアドレスを確認する

・「ip address show dev enp0s3」コマンドを実行します。

 VirtualBoxでは、1つ目のNICにenp0s3が設定されます。一般的な Linuxディストリビューションではeth0となることが多い。

     「inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3」の出力からdynamicとあるため「10.0.2.15」を自動取得したことと、「10.0.2.15」が現在のIPアドレスであることが分かります。

    root@ubuntu-vm:~# ip address show dev enp0s3
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 08:00:27:1a:84:ef brd ff:ff:ff:ff:ff:ff
        inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
           valid_lft 67112sec preferred_lft 67112sec
        inet6 fe80::4a7c:c6e7:227e:5fd7/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    3.IPアドレスを新たに2つ追加設定する。

    以下のコマンドを実行します。

    • ip addr add 10.0.2.150/24 dev enp0s3」コマンド
    • ip addr add 10.0.2.151/24 dev enp0s3」コマンド
    4.enp0s3のIPアドレスを再度確認する。

    ・「ip address show dev enp0s3」コマンドを実行します。

     「inet 10.0.2.150/24 scope global secondary enp0s3」と「inet 10.0.2.151/24 scope global secondary enp0s3」の出力からセカンダリのIPアドレスとして「10.0.2.150/24」と「10.0.2.151/24」が追加されたことが確認できます。

     このように1つのインターフェースに複数のIPアドレスを設定することができます。しかし、不要なIPアドレスを割り当てておくことは、お勧めできません。

    root@ubuntu-vm:~# ip address show dev enp0s3
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 08:00:27:1a:84:ef brd ff:ff:ff:ff:ff:ff
        inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
           valid_lft 65902sec preferred_lft 65902sec
        inet 10.0.2.150/24 scope global secondary enp0s3
           valid_lft forever preferred_lft forever
        inet 10.0.2.151/24 scope global secondary enp0s3
           valid_lft forever preferred_lft forever
        inet6 fe80::4a7c:c6e7:227e:5fd7/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
      5.不要なIPアドレスを削除する。

      ・「ip addr del 10.0.2.151/24 dev enp0s3」コマンドを実行します。

      root@ubuntu-vm:~# ip addr del 10.0.2.151/24 dev enp0s3
      6.enp0s3のIPアドレスを確認する。

      ・「ip address show dev enp0s3」コマンドを実行します。

      「10.0.2.151/24」が削除されていることが確認できます。

      root@ubuntu-vm:~# ip address show dev enp0s3
      2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 08:00:27:1a:84:ef brd ff:ff:ff:ff:ff:ff
          inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
             valid_lft 65421sec preferred_lft 65421sec
          inet 10.0.2.150/24 scope global secondary enp0s3
             valid_lft forever preferred_lft forever
          inet6 fe80::4a7c:c6e7:227e:5fd7/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
        7.Linuxを再起動する。

        ・「shutdown -r now」コマンドを実行します。

        root@ubuntu-vm:~# shutdown -r now
        8.再起動後にenp0s3のIPアドレスを確認する。

        ・「ip address show dev enp0s3」コマンドを実行します。

         ipコマンドは一時的にIPアドレスを設定するコマンドであるため、追加で設定した「10.0.2.150/24」がなくなっていることが確認できます。

        user01@ubuntu-vm:~$ ip address show dev enp0s3
        2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
            link/ether 08:00:27:1a:84:ef brd ff:ff:ff:ff:ff:ff
            inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
               valid_lft 86266sec preferred_lft 86266sec
            inet6 fe80::4a7c:c6e7:227e:5fd7/64 scope link noprefixroute 
               valid_lft forever preferred_lft forever

          まとめ

           ipコマンドを使ってIPアドレスを設定する方法は一時的なものです。恒久的に設定したい場合は、ネットワーク設定ファイルを直接編集するか、nmtuiコマンドを使用することが推奨されます。