はじめに
LinuC102試験「ネットワークの基礎(主題1.07)」で出題されるネットワーク知識、コマンド、オプションについてざっくりまとめてみました。
模擬試験、本試験前に振り返る用として活用できれば幸いです
infoに個人的な覚え方を記載しております。
ネットワークの基礎(主題1.07)
主な通信プロトコル
| 変数 | 説明 |
|---|---|
| IP | 機器へのアドレス付与によって機器やネットワークを識別したり、パケットの分割や統合を行い目的地までパケットを届ける、インターネット通信の中の核をなすプロトコル |
| TCP | パケットの再送、到達確認などの制御を行う信頼性の高いコネクション型のプロトコル |
| UDP | コネクションレス型のプロトコル。複雑な制御をしない分TCPと比べデータ転送速度が速い |
| ICMP | パケットが到達できなかった場合のエラーメッセージや制御メッセージを通知するプロトコル。pingやtracerouteコマンドでも用いられる |
| ARP | IPアドレスからMACアドレスを求めるプロトコル |
IPアドレスの「クラス」
| クラス | 範囲 | サブネットマスク | 用途 |
|---|---|---|---|
| A | 0.0 ~ 127.255 | 255.0.0.0 | 大規模 |
| B | 128.0 ~ 191.255 | 255.255.0.0 | 中規模 |
| C | 192.0 ~ 223.255 | 255.255.255.0 | 小規模 |
| D | 224.0 ~ 239.255 | マルチキャスト | |
| E | 240.0 ~ 255.255 | 実験用 |
+128、+64、+32、+16の順でクラスが上がっていくという風に覚える
プライベートアドレス
| クラス | 範囲 |
|---|---|
| A | 10.0.0.0-10.255.255.255 |
| B | 172.16.0.0-172.31.255.255 |
| C | 192.168.0.0-192.168.255.255 |
プライベートIPアドレスの情報だけを暗記して、プライベートIP以外がグローバルIPアドレスと覚える方が効率的
語呂合わせで覚える→「イナニ、イロサイ、イクニイロハ」(語呂になっていない笑)
ポート番号の割り当て
| 種類 | 範囲 | 説明 |
|---|---|---|
| ウェルノウン,システム | 0-1023 | システムやroot権限を持つプロセスに割り当てられる |
| レジスター,ユーザー | 1024-49151 | よく使われるプログラムに割り当てられる |
| ダイナミック,エフェメラル,プライベート | 49152-65535 | 自由に使用可能 |
| ※ポート番号の最大値、最小値特に覚えておく | ||
代表的なウェルノウンポート(システムやroot権限を持つプロセス)
| 番号 | プロトコル | TCP/UDP | 用途 |
|---|---|---|---|
| 22 | SSH | TCP | リモートホストの遠隔操作(暗号化あり) |
| 25 | SMTP | TCP | 電子メール送信 |
| 53 | DNS | TCP/UDP | 名前解決 |
| 80 | HTTP | TCP | コンテンツの送受信(暗号化なし) |
| 123 | NTP | UDP | 時刻の同期 |
| 443 | HTTPS | TCP | コンテンツの送受信(暗号化あり) |
UDPを使用するプロトコル覚えておく(DNS)
ネットワーク関連の設定ファイル
| ファイル名 | 設定内容 | 書式 |
|---|---|---|
| /etc/hostname | ホスト名を設定(Debian系) | ホスト名のみを記述 |
| /etc/sysconfig/network | ホスト名を設定(RedHat系)、ネットワーク昨日の有効/無効、デフォルトゲートウェイなどの設定 | |
| /etc/hosts | IPアドレスとホスト名の対応づけ | 「IPアドレス ホスト名 (別名のホスト名)」 |
| /etc/nsswitch.conf | 名前解決やサービス名解決の際の問い合わせ順序の指定 | hosts: 優先順位順に表記 , service:優先順位順に表記 |
| /etc/resolv.conf | 名前解決に利用するDNSサーバの指定や、ドメインの設定 | nameserver DNSサーバのIPアドレス, search ドメイン名検索リスト domain 自ドメイン |
| /etc/services | サービス名とポート番号の対応付け |
「/etc/nsswitch.conf」の設定に従って検索を行うのはgetentコマンド
IPv4とIPv6の主な違い
| IPv4 | IPv6 | |
|---|---|---|
| 表綺例 | 192.168.100.1 | 2004:a80:e01:a8::3 |
| 種別 | 10進数 | 16進数 |
| アドレス帳 | 32bit | 128bit |
| 区切り | 8bit(3桁)ごとに.(ドット) | 16bit(4桁)ごとに:(コロン) |
| アドレス自動割り当て | DHCPなどの技術を併用して実現 | 自動割り当て機能を標準で実装 |
| セキュリティ | 別のプロトコルを平用して実現 | 暗号化通信を標準で実装 |
| アドレスの省略表記 | 不可 | 可能 |
| ループバックアドレス | 127.0.0.0/8の範囲 | 0:0:0:0:0:0:1または::1 |
※IPv6での省略方法は高確率で出題されるのでしっかり覚えておいた方がいいらしいです
参考:https://www.nic.ad.jp/ja/basics/terms/ipv6-text-representation.html
基本的なネットワークコマンド
| コマンド | 説明 |
|---|---|
| ①dig | DNSサーバへ問い合わせ、登録情報の表示、ホスト名からIPアドレスへの変換 |
| ②ifconfig | インターフェイスの設定や表示 |
| ③ifup/ifdown | インターフェイスをアップ/ダウンする |
| ④netstat | ローカルネットワークの情報を表示 |
| ⑤ping | ICMPパケットを使って通信確認を行う |
| ⑥route | ルーティングテーブルの設定や表示 |
| ⑦traceroute | リモートホストまでの経路情報、を表示 |
| ⑧whois | ドメインの管理者や所有者情報などの登録者情報を表示 |
| ⑨nslookup | DNSサーバーに問い合わせてやりとりが正しく行われるか確認、ホスト名からIPアドレスへの変換 |
| ⑩host | NSサーバに問い合わせて名前解決を行う、ホスト名からIPアドレスへの変換 |
| getent | /etc/nsswitch.conf」(名前解決の優先順位)の設定に従って検索を行う、ホスト名からIPアドレスへの変換 |
①digコマンド(dig [オプション] [@DNSサーバ] 名前 [検索タイプ])
NSサーバへ直接問い合わせて、指定した名前に関するDNSサーバからの応答 を表示するコマンド
DNSに関するデバッギングツールとしても使用できる
| オプション | 説明 |
|---|---|
| a | IPアドレス(デフォルト) |
| any | 全ての情報 |
| mx | メールサーバの情報 |
| ns | ネームサーバの情報 |
| soa | ゾーン(ドメイン範囲)の情報 |
| txt | テキスト情報 |
②ifconfigコマンド
インターフェイスの設定や表示を行うコマンド
| オプション | 説明 | 設定例 |
|---|---|---|
| netmask | サブネットマスクを指定 | ifconfig eth0 netmask 255.255.255.0 |
| up | インターフェイスを有効化 | ifconfig eth0 up |
| down | インターフェイスを無効化 | ifconfig eth0 down |
ifconfigコマンドを実行しても、何も影響がない場合もある
④netstatコマンド
ネットワークのソケット(TCP/IPの世界を結ぶ入り口)の情報を表示するコマンド
・オプションを併用する事で、ホストの様々なネットワーク情報を表示できます。
・表示は出来ますが、設定は一切出来ない
※DNSサーバに障害などがあると、名前解決が出来ずに、結果が表示がされない場合あり
| オプション | optionの意味 |
|---|---|
| -r | ルーティングテーブルを表示 |
| -i | ネットワークインターフェイスの統計情報を表示 |
| -n | サービス名の名前解決をせずにアドレスやポート番号をそのまま表示 |
⑤pingコマンド(ping [オプション] 宛先、ping6 [オプション] 宛先)
宛先アドレスに到達可能かを確認するコマンド
テーブルを作成し、テキストを入力していきたいのですが、テキスト
| オプション | optionの意味 | 説明 |
|---|---|---|
| -c | count(回数) | 疎通確認用のパケットの送信回数 |
| -i | interval(間隔) | 疎通確認ようパケットの送信間隔 |
| -n | numeric(数値で) | 結果表示時の形式をホスト名ではなくアドレスで表示) |
⑥routeコマンド(route [オプション])
ルーティングテーブルの表示、追加、削除するコマンド
| 処理 | 説明 |
|---|---|
| ルーティングテーブルへの追加 | route add [オプション] |
| ルーティングテーブルからの削除 | route del [オプション] |
| オプション | 説明 |
|---|---|
| -host | 対象のホストのアドレスとみなす |
| -net | 対象のネットワークアドレスとみなす |
| netmask | サブネットマスクを指定 |
| gw | ゲートウェイを指定 |
| default gw | デフォルトゲートウェイを指定 |
| -F | ルーティングテーブルの表示 |
| -C | ルーティングキャッシュを表示 |
| -n | 名前解決せずルーティングテーブル表示 |
IPアドレスを指定しない場合は、「route del default」のみでデフォルトゲートウェイの削除は可能
表示に非常に時間がかかる場合は-nを使用する(名前解決でつまづいている可能性あるため)
⑩hostコマンド(host [オプション] ホスト名またはIPアドレス [DNSサーバアドレス])
| オプション | 説明 |
|---|---|
| -t | 問い合わせる情報の指定(type)digと同じくサーバーなどの指定ができる |
| -v | 詳細な出力 |
DNSサーバに問い合わせて名前解決を行うコマンドにおいてnslookup、dig、hostがあるが、
出力する情報が最も少ないのはhostコマンドである。
ssコマンド
ネットワークのソケット(TCP/IPの世界を結ぶ入り口)の情報を表示するコマンド、netstatの後継。
| オプション | optionの意味 |
|---|---|
| -a | 全てのソケットを表示 |
| -n | サービス名の名前解決をせずにアドレスやポート番号をそのまま表示 |
| -p | ソケット使用中のプロセスを表示 |
| -t | TCPソケットを表示 |
| -u | UDPソケットを表示 |
ipコマンド(ip オブジェクト コマンド [値])
ipコマンドは、オブジェクト(機能)に対して、コマンド(処理)を指定する形式で実行する。
オブジェクトやコマンドは短縮して指定することも可能
・代表的なオブジェクト
| オブジェクト | 説明 |
|---|---|
| addr | IPv4、IPv6アドレス |
| link | ネットワークデバイス、インタフェースの状況 |
| neighbour | IPv4のARPキャッシュ、IPv6のNDキャッシュ |
| route | ルーティングテーブル |
・代表的なコマンド
| コマンド | 説明 |
|---|---|
| add | 値の追加 |
| del | 値の削除 |
| show | 現在の状態の表示 |
| set | インタフェースを有効化・無効化など |
インタフェースを有効化・無効化するには、linkオブジェクトにsetコマンドを発行
ネットワークの疎通確認に使う代表的なコマンド
| オプション | IPv4用 | IPv6用 |
|---|---|---|
| 宛先アドレスに到達可能か | ping | ping6 |
| 宛先アドレスまでの経路を確認 | traceroute | traceroute6 |
| 宛先アドレスまでの経路と経路上の最大転送単位 | tracepath | tracepath6 |