LinuCレベル2 201試験の例題と解説
2.03.1基本的なネットワーク構成
LinuCレベル2201試験の試験範囲から「2.03.1 基本的なネットワーク構成 」についての例題を解いてみます。このテーマは【重要度 3】です。ipコマンドを用いたネットワークインタフェース設定確認について確認しましょう。
例題
ネットワークインタフェースのデバイス名を表示するipコマンドを2つ選択してください。
- ip show
- ip address help
- ip link show
- ip address list
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「3. ip link show」と「4. ip address list」です。
ipコマンドは、ネットワークデバイスやルーティングなどの表示と変更を行うコマンドです。従来は、ifconfigコマンドやnetstatなどのコマンド群を使用していました。
ipコマンドの基本的な書式は以下になります。
※[]は省略可能な引数になります。
ip [オプション] オブジェクト [サブコマンド]
オプション・オブジェクト・サブコマンドについても確認をしましょう。
代表的なオプションは以下になります。
オプション | 概要 | |
-f [プロトコル] | : | 使用するプロトコルファミリーを指定する |
-4 | : | IPv4を使用する(「-f inet」と同様) |
-6 | : | IPv6を使用する(「-f inet6」と同様) |
-B | : | ブリッジを使用する(「-f bridge」と同様) |
-s | : | 統計情報を表示する |
代表的なオブジェクトは以下になります。
オブジェクト | 省略形 | 概要 | |
link | l | : | ネットワークデバイス |
address | a,addr | : | ネットワークデバイスのIPアドレス |
route | r | : | ルーティングテーブル |
rule | rul | : | ルーティングポリシーに登録されているルール |
tunnel | t | : | IPトンネル |
代表的なサブコマンドは以下になります。
サブコマンド | 概要 | |
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研究室 上野貴博