LinuCレベル2 201試験の例題と解説

2.03.1基本的なネットワーク構成

LinuCレベル2201試験の試験範囲から「2.03.1 基本的なネットワーク構成 」についての例題を解いてみます。このテーマは【重要度 3】です。ipコマンドを用いたネットワークインタフェース設定確認について確認しましょう。

Linucレベル2 201試験 出題範囲


例題

ネットワークインタフェースのデバイス名を表示するipコマンドを2つ選択してください。

  1. ip show
  2. ip address help
  3. ip link show
  4. ip address list

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「3. ip link show」と「4. ip address list」です。

ipコマンドは、ネットワークデバイスやルーティングなどの表示と変更を行うコマンドです。従来は、ifconfigコマンドやnetstatなどのコマンド群を使用していました。

ipコマンドの基本的な書式は以下になります。
※[]は省略可能な引数になります。

ip [オプション] オブジェクト [サブコマンド]

オプション・オブジェクト・サブコマンドについても確認をしましょう。
代表的なオプションは以下になります。

オプション概要
-f [プロトコル]使用するプロトコルファミリーを指定する
-4IPv4を使用する(「-f inet」と同様)
-6IPv6を使用する(「-f inet6」と同様)
-Bブリッジを使用する(「-f bridge」と同様)
-s統計情報を表示する

代表的なオブジェクトは以下になります。

オブジェクト省略形概要
linklネットワークデバイス
addressa,addrネットワークデバイスのIPアドレス
routerルーティングテーブル
rulerulルーティングポリシーに登録されているルール
tunneltIPトンネル

代表的なサブコマンドは以下になります。

サブコマンド概要
add指定したIPアドレスを付加する
change指定したIPアドレスの設定を変更する
replace指定したIPアドレスの設定を置き換える
(指定したアドレスがない場合は追加される)
del指定したIPアドレスを削除する
list,show設定されている設定を表示する
(サブコマンドを選択しない場合はデフォルトで選択される)
help使い方を表示する

例題の選択肢について解説します。

1. ip show
不正解です。
「show」はサブコマンドになります。オブジェクト部分は省略不可のためコマンドを正常に実行できません。

2. ip address help
不正解です。
サブコマンド「help」を指定すると、使い方を表示できます。
実行すると以下のように出力されます。

$ ip address help
Usage: ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ]
                                                      [ CONFFLAG-LIST ]
       ip address del IFADDR dev IFNAME [mngtmpaddr]
       ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up]
       ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ master DEVICE ]
                         [ type TYPE ] [ to PREFIX ] [ FLAG-LIST ]
                         [ label LABEL ] [up] [ vrf NAME ] ]
       ip address {showdump|restore}
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label IFNAME ] [ scope SCOPE-ID ] [ metric METRIC ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           [-]tentative | [-]deprecated | [-]dadfailed | temporary |
           CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad | mngtmpaddr | noprefixroute | autojoin ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS
TYPE := { vlan | veth | vcan | vxcan | dummy | ifb | macvlan | macvtap |
          bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan | lowpan |
          gre | gretap | erspan | ip6gre | ip6gretap | ip6erspan | vti |
          nlmon | can | bond_slave | ipvlan | geneve | bridge_slave |
          hsr | macsec | netdevsim }

3. ip link show
正解です。
オブジェクト「link」は、ネットワークデバイスを操作する時に指定します。 サブコマンド「show」を指定すると、設定を表示できます。
実行すると以下のように出力されます。

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 56:6f:05:18:01:84 brd ff:ff:ff:ff:ff:ff

また、「link」オブジェクトは「l」と省略することも可能です。

$ ip l show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 56:6f:05:18:01:84 brd ff:ff:ff:ff:ff:ff

そして、サブコマンド「show」を省略することも可能です。

$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 56:6f:05:18:01:84 brd ff:ff:ff:ff:ff:ff

4. ip address list
正解です。
オブジェクト「address」は、IPアドレスを操作する時に指定します。サブコマンド「list」を指定すると、設定を表示できます。
実行すると以下のように出力されます。

$ ip address list
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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 56:6f:05:18:01:84 brd ff:ff:ff:ff:ff:ff
    inet 10.1.4.239/16 brd 10.1.255.255 scope global dynamic noprefixroute enp1s0
       valid_lft 53950sec preferred_lft 53950sec
    inet6 fe80::546f:5ff:fe18:184/64 scope link
       valid_lft forever preferred_lft forever

また、「address」オブジェクトは「addr」や「a」と省略することも可能です。

$ ip addr list
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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 56:6f:05:18:01:84 brd ff:ff:ff:ff:ff:ff
    inet 10.1.4.239/16 brd 10.1.255.255 scope global dynamic noprefixroute enp1s0
       valid_lft 53895sec preferred_lft 53895sec
    inet6 fe80::546f:5ff:fe18:184/64 scope link
       valid_lft forever preferred_lft forever

$ ip a list
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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 56:6f:05:18:01:84 brd ff:ff:ff:ff:ff:ff
    inet 10.1.4.239/16 brd 10.1.255.255 scope global dynamic noprefixroute enp1s0
       valid_lft 53892sec preferred_lft 53892sec
    inet6 fe80::546f:5ff:fe18:184/64 scope link
       valid_lft forever preferred_lft forever

そして、サブコマンドの「list」を省略することも可能です。

$ ip a
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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 56:6f:05:18:01:84 brd ff:ff:ff:ff:ff:ff
    inet 10.1.4.239/16 brd 10.1.255.255 scope global dynamic noprefixroute enp1s0
       valid_lft 53844sec preferred_lft 53844sec
    inet6 fe80::546f:5ff:fe18:184/64 scope link
       valid_lft forever preferred_lft forever

解説内で紹介した、ipコマンドはオプション・オブジェクト・サブコマンドが多くあるコマンドです。
便利に活用できるように、省略形も含めて把握しておきましょう。


例題作成者

株式会社デージーネット OSS研究室 上野貴博

ページトップへ