このページで解説している内容は、以下の 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コマンドを使用することが推奨されます。