コース一覧
LinuC レベル1 102試験対策(LPIC-1対応)
TCP/IPとウェルノウンポート

LinuC レベル1 102試験対策(LPIC-1対応)

LinuC レベル1/LPIC-1の102範囲を、シェル、ユーザーとセキュリティ、ネットワーク、システム管理の実機演習と章末問題で固めます。Linuxを安全に運用するための知識とコマンド操作を体系的に身につける25レッスンのコースです。

1
102 シェルとスクリプト
01. シェル環境18分
02. testと条件式18分
03. スクリプトの制御18分
04. cronとat15分
05. systemdタイマー18分
06. 過去問 シェル15分
2
102 ユーザーとセキュリティ
01. passwdとshadow18分
02. ユーザー管理コマンド18分
03. suとsudo18分
04. 特殊パーミッション18分
05. ホストのセキュリティ18分
06. SSHとGPG18分
07. 過去問 ユーザーとセキュリティ15分
3
102 ネットワーク
01. TCP/IPとウェルノウンポート18分
02. アドレス設定18分
03. ルーティング18分
04. 名前解決の設定18分
05. 疎通トラブルシュート18分
06. 過去問 ネットワーク15分
4
102 システム管理
01. 時刻とNTP15分
02. ロケールと文字コード18分
03. ログ管理18分
04. サービス管理の試験形式18分
05. メールと印刷のきほん15分
06. 過去問 システム管理15分

TCP/IPとウェルノウンポート

ポート番号を1つずつ丸暗記しようとすると、必ずどこかで混ざります。メール系、Web 系、ディレクトリ系のように機能のかたまりで束ねると、暗号化版が元の番号とセットで頭に入ります。

ウェルノウンポートの上限は 1024 ではなく 1023

区分範囲説明
ウェルノウンポート0 から 1023主要サービス用。バインドには root 権限が必要
登録済みポート1024 から 49151IANA に登録して使う。MySQL や PostgreSQL はここ
動的ポート49152 から 65535クライアントが接続のたびに一時的に使う

境界の数字がそのまま出題されます。1023 と 1024、49151 と 49152 です。

番号プロトコルトランスポート
20 / 21FTP データ転送 / FTP 制御。23 は TelnetTCP
22SSH, SFTP, SCPTCP
25SMTPTCP
53DNSUDP と TCP の両方
67 / 68DHCP サーバー / クライアントUDP
69TFTPUDP
80HTTPTCP
110POP3TCP
123NTPUDP
143IMAPTCP
161 / 162SNMP / SNMP トラップUDP
389LDAPTCP
443HTTPSTCP
465SMTPSTCP
514syslogUDP
587Submission (メール投稿)TCP
636LDAPSTCP
993 / 995IMAPS / POP3STCP

POP3 の 110 と IMAP の 143 に対し、暗号化版は 995 と 993 で順序が入れ替わります。引っかけの定番です。番号は /etc/services に一覧があるので、覚える前に自分で引いてみると記憶に残ります。

DNS だけが UDP と TCP の両方を使う

TCP はコネクション型で、3ウェイハンドシェイクで接続を張り、届かなければ再送し、順番も並べ直します。確実さが要る HTTP や SSH や SMTP が使います。UDP はコネクションレス型でいきなり送り、到達も順序も保証しない代わりに軽くて速く、DHCP や NTP や SNMP が使います。

DNS が両方を使うのは、通常の問い合わせは軽い UDP で済ませ、ゾーン転送や応答が大きい場合は TCP に切り替えるからです。ここは頻出です。

階層の対応も問われます。OSI の上位3層 (セッション、プレゼンテーション、アプリケーション) は TCP/IP のアプリケーション層1つに、下位2層 (物理、データリンク) はネットワークインターフェース層1つにまとまります。トランスポート層はそのままで、OSI のネットワーク層が TCP/IP のインターネット層です。

172.32 はプライベートアドレスではない

範囲CIDR 表記クラス
10.0.0.0 から 10.255.255.25510.0.0.0/8A
172.16.0.0 から 172.31.255.255172.16.0.0/12B
192.168.0.0 から 192.168.255.255192.168.0.0/16C

172 系の上限が 172.31 であることを覚えてください。最も狙われる境界です。

クラスは先頭のオクテットで決まります。1 から 126 がクラス A で既定のマスクは /8、128 から 191 が B で /16、192 から 223 が C で /24 です。224 から 239 はマルチキャスト、240 以上は実験用で、127 で始まるアドレスはループバック用の予約でどのクラスにも属しません。

CIDR の数字は先頭から 1 が並ぶビット数です。/24 が 255.255.255.0、/25 が 255.255.255.128、/26 が 255.255.255.192 です。ホストに使えるアドレス数は 2 の (32 引く CIDR) 乗から 2 を引いた値で、引く 2 はネットワークアドレスとブロードキャストアドレスのぶんです。/24 なら 254 個になります。

IPv6 は 128 ビットを 16 ビットずつ 8 ブロックに区切って16進数で書きます。各ブロック先頭の 0 は省略でき、0 だけが連続するブロックは一度だけ二重コロンにまとめられます。二度使うと 0 の個数が決まらないので、1アドレスに一度だけです。ループバックは ::1 です。

試験で狙われるところ

ウェルノウンポートの上限は 1023 です。DNS は UDP だけでなく TCP も使います。SMTP は 25 ですが、クライアントからの投稿は 587 が現在の標準です。プライベートアドレスの B は 172.16 から 172.31 までで、172.32 は含みません。そして IPv6 の二重コロンは1アドレスにつき一度だけです。

ヒント

grep -w を使うと単語として一致する行だけが出ます。grep ssh だと sshd や別のサービスまで拾ってしまいます

最初の1つだけ > で作り、残りは >> で追記していきます。順番を間違えると前の行が消えます

grep -wE 'ssh|smtp|https|ntp|imap2' /etc/services > /root/ports-drill.txt と書けば一度で全部引けます

  • 1. wc -l /etc/services で何行あるかを見る
  • 2. grep で ssh の行を引き、/root/ports-drill.txt に書き出す
  • 3. 同じように smtp、https、ntp、imap2 の行を追記していく
  • 4. cat /root/ports-drill.txt で5つの番号がそろっているか確かめる
  • 5. grep -E で複数のサービスを一度に引く書き方も試してみる

Linux は使うときに起動します(初回は約102MB通信します)

6 項目で採点します