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

新Linuxコマンド演習56

新Linuxコマンド演習56 概要

新Linuxコマンド演習56」では、Linuxのネットワーク設定に関する基本操作として、
ネットワークインターフェース(NIC)の情報確認・有効化・無効化・IP設定変更を行います。

近年のLinuxディストリビューション(AlmaLinux 9.6を含む)では、
従来のifconfigコマンドは非推奨となり、ipコマンドが主流です。
ただし、ifconfigも依然として一部の環境で利用されることがあり、
両者の使い方を理解しておくことが重要です。

ネットワーク関連コマンドの概要

コマンド主な役割使用例説明
ip address showIPアドレスやMACアドレスなどNICの詳細情報を表示ip address show現在の全ネットワークインターフェースの状態を一覧表示する
ifconfigNIC情報の表示・設定ifconfig enp0s3指定したNICのIP・MAC・パケット統計情報を表示
ifconfig [NIC名] down/upNICの無効化・有効化ifconfig enp0s3 downインターフェースの有効/無効を切り替える
ifconfig [NIC名] [IP] netmask [MASK]IPアドレス設定ifconfig enp0s3 10.0.2.100 netmask 255.255.255.0一時的にIPを変更(再起動で元に戻る)

表の説明
ipコマンドはネットワーク管理の新しい標準ツールであり、ifconfigは旧来ツールです。
ifconfig コマンドが利用できない場合は net-toolsパッケージの導入が必要です。

演習問題+模範解答例

演習01:全てのネットワークインターフェースの詳細情報を表示する

問題
すべてのネットワークインターフェースの詳細情報を表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ ip address show
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:f8:25:ac 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 68181sec preferred_lft 68181sec
    inet6 fd17:625c:f037:2:a00:27ff:fef8:25ac/64 scope global dynamic noprefixroute 
       valid_lft 86276sec preferred_lft 14276sec
    inet6 fe80::a00:27ff:fef8:25ac/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

解説
ip address show(略してip a)で、全NICの情報を一覧表示できます。
link/etherがMACアドレス、inetがIPv4アドレスを表します。

演習02:特定のネットワークインターフェースの情報を表示する

問題
enp0s3インターフェースのみの情報を表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ ip address show enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:f8:25:ac 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 68092sec preferred_lft 68092sec
    inet6 fd17:625c:f037:2:a00:27ff:fef8:25ac/64 scope global dynamic noprefixroute 
       valid_lft 86187sec preferred_lft 14187sec
    inet6 fe80::a00:27ff:fef8:25ac/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

解説
インターフェース名を指定することで、特定のNIC情報のみを取得できます。
複数のNICを持つサーバーでは、インターフェースごとの詳細確認に便利です。

演習03:ifconfigコマンドでネットワーク情報を表示する

問題
ifconfigコマンドを使用して、現在のNIC情報を確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fd17:625c:f037:2:a00:27ff:fef8:25ac  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::a00:27ff:fef8:25ac  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:f8:25:ac  txqueuelen 1000  (Ethernet)
        RX packets 47110  bytes 65144824 (62.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9781  bytes 742042 (724.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 45  bytes 3833 (3.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 45  bytes 3833 (3.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

解説
ifconfigは旧来のコマンドであり、net-toolsパッケージが必要な場合があります。
基本情報(IP・MAC・送受信パケット統計など)を確認する際に利用します。

演習04:特定のネットワークインターフェースの情報を表示する

問題
ifconfigコマンドでenp0s3の情報のみを表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ ifconfig enp0s3
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fd17:625c:f037:2:a00:27ff:fef8:25ac  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::a00:27ff:fef8:25ac  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:f8:25:ac  txqueuelen 1000  (Ethernet)
        RX packets 47110  bytes 65144824 (62.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9781  bytes 742042 (724.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

解説
指定インターフェースのみ表示することで、必要な情報を絞って確認できます。

演習05:ネットワークインターフェースをダウンにする

問題
enp0s3インターフェースを一時的に無効化してください。

模範解答例

[suzuki@AlmaLinux ~]$ sudo ifconfig enp0s3 down
[sudo] suzuki のパスワード:
[suzuki@AlmaLinux ~]$ ifconfig -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
lo              65536       45      0      0 0            45      0      0      0 LRU

解説
ifconfig enp0s3 downでインターフェースを無効化できます。
通信が停止するため、リモート接続中に実行すると切断される場合があります。

演習06:ネットワークインターフェースをアップにする

問題
無効化したenp0s3を再び有効化してください。

模範解答例

[suzuki@AlmaLinux ~]$ sudo ifconfig enp0s3 up
[suzuki@AlmaLinux ~]$ ifconfig -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s3           1500    47114      0      0 0          9804      0      2      0 BMRU
lo              65536       45      0      0 0            45      0      0      0 LRU

解説
upオプションでネットワークを再び有効化します。
接続が復帰し、再び通信が可能になります。

演習07:IPアドレスを変更する

問題
enp0s3のIPアドレスを10.0.2.100/24に変更してください。

模範解答例

[suzuki@AlmaLinux ~]$ sudo ifconfig enp0s3 10.0.2.100 netmask 255.255.255.0
[suzuki@AlmaLinux ~]$ ifconfig enp0s3
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.100  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fd17:625c:f037:2:a00:27ff:fef8:25ac  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::a00:27ff:fef8:25ac  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:f8:25:ac  txqueuelen 1000  (Ethernet)
        RX packets 47116  bytes 65145832 (62.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9830  bytes 748557 (731.0 KiB)
        TX errors 0  dropped 2 overruns 0  carrier 0  collisions 0

解説
一時的なIP変更にはifconfigを使用できます。
ただし、再起動すると元に戻るため、永続的に設定するには
/etc/NetworkManager/system-connections/ 配下で設定を行う必要があります。

まとめ

新Linuxコマンド演習56」では、ネットワークインターフェースの基本管理を学びました。

学習ポイント

  • ip address show はNICの最新情報表示コマンド
  • ifconfig は旧ツールだが、情報確認や簡易操作に便利
  • ifconfig enp0s3 down/up でNICを無効化・再有効化可能
  • IPアドレス変更は一時的であり、永続設定にはNetworkManagerを利用する。

💡 補足
AlmaLinux 9.6では、管理者レベルの操作にはsudoが必要です。
ifconfigをが利用できない場合は、sudo dnf install net-toolsでパッケージを導入しておくとよいでしょう。