LinuCレベル2 Version 4.5 201試験の例題と解説
205.3ネットワークの問題を解決する
LinuC 201試験の試験範囲から「205.3 ネットワークの問題を解決する」についての例題を解いてみます。
このテーマは【重要度4】です。ネットワークの状態を表示するユーティリティについて、使用方法を覚えておきましょう。
■トピックの概要
このトピックの内容は以下の通りです。
<205.3 ネットワークの問題を解決する>
重要度 4
<説明>
一般的なネットワーク設定に関する問題を特定して解決する。これには、基本的な設定ファイルの位置とコマンドに関する知識も含まれる。
<主要な知識範囲>
・アクセスを制限するファイルの配置と内容
・Ethernetネットワークインターフェイスを設定および操作するユーティリティ
・ルーティングテーブルを管理するユーティリティ
・ネットワークの状態を表示するユーティリティ
・ネットワーク設定に関する情報を得るユーティリティ
・ハードウェアの認識と利用に関する情報を得る方法
・システムの初期化ファイルとその内容(Systemd と SysVのinitプロセス)
・NetworkManagerおよびそれがネットワーク設定に及ぼす影響について知っている
<重要なファイル、用語、ユーティリティ>
・ip
・ifconfig
・route
・ss
・netstat
・/etc/network/, /etc/sysconfig/network-scripts/
・ping, ping6
・traceroute, traceroute6
・mtr
・hostname
・/var/log/syslogおよび/var/log/messagesなどのシステムのログファイルおよび systemd のジャーナル
・dmesg
・/etc/resolv.conf
・/etc/hosts
・/etc/hostname, /etc/HOSTNAME
・/etc/hosts.allow, /etc/hosts.deny
■例題
Linuxサーバにおいて、TCPで待ち受けているポート番号をすべて表示したい。
次のコマンドラインのうち、正しいものを2つ選択してください。
1. ip port show
2. netstat -lt
3. ss -lt
4. route -n
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「2. netstat -lt」と「3. ss -lt」です。
netstatはネットワーク接続状態を表示するためのコマンドです。
netstatコマンドを使用すれば、TCP/UDPで待ち受けているソケットの情報を表示することができます。
例えば、UDPで待ち受けているソケットの一覧を表示する場合、下記のようにnetstatコマンドを使用します。
------ 実行例 ------
$ netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
------ ------ ------
本例では -lu オプションを指定しており、下記の意味があります。
-l = 待受ソケットだけを表示するオプション
-u = UDPソケットを表示するオプション
TCPソケットを表示する場合は -t オプションを指定します。
-t = TCPソケットを表示するオプション
ssはソケットの状態を表示するためのコマンドです。
ssコマンドを使用すれば、TCP/UDPで待ち受けているソケットの情報や通信中のソケット情報等を表示することができます。
netstatと同じように使用することができます。
例えば、UDPで待ち受けているソケットの一覧を表示する場合、下記のようにssコマンドを使用します。
------ 実行例 ------
$ ss -lu
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:bootpc *:*
UNCONN 0 0 127.0.0.1:323 *:*
UNCONN 0 0 ::1:323 :::*
------ ------ ------
例題の選択肢について解説します。
1. ip port show
誤っています。
ipコマンドは、IPアドレス情報やルーティング情報を表示・設定するためのコマンドです。
ip OBJECT COMMAND の形式で使用します。
------ 実行例 ------
$ ip route show
default via 172.16.0.1 dev eth0 proto dhcp metric 100
172.16.0.0/24 dev eth0 proto kernel scope link src 172.16.0.52 metric 100
172.16.1.0/24 dev eth1 proto kernel scope link src 172.16.1.158 metric 101
------ ------ ------
本例では、ルーティング情報を表示しています。
選択肢で指定している port というOBJECTは存在しません。
2. netstat -lt
正解です。
------ 実行例 ------
$ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
------ ------ ------
3. ss -lt
正解です。
------ 実行例 ------
$ ss -lt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 50 *:mysql *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 100 127.0.0.1:smtp *:*
LISTEN 0 128 :::http :::*
LISTEN 0 128 :::ssh :::*
LISTEN 0 100 ::1:smtp :::*
------ ------ ------
4. route -n
誤っています。
routeコマンドは、IPルーティングテーブルを表示・設定するためのコマンドです。
------ 実行例 ------
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ohno-pc 0.0.0.0 UG 100 0 0 eth0
172.16.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
172.16.1.0 0.0.0.0 255.255.255.0 U 101 0 0 eth1
------ ------ ------
ss,netstatコマンドを使用してTCP/UCPソケットの状態を表示できるようにしておきましょう。
■例題作成者