LinuC レベル 1 Version10.0
技術解説無料セミナー
2020/9/26 開催

主題

1.07
ネットワークの基礎

副題

1.07.1
1.07.2
1.07.3
1.07.4

インターネットプロトコルの基礎
基本的なネットワーク構成
基本的なネットワークの問題解決
クライアント側のDNS設定
本⽇の講師

インターノウス株式会社（LPI-Japanアカデミック認定校）

⽵本 季史© LPI-Japan / EDUCO all rights reserved.

会社紹介、⾃⼰紹介

n会社紹介︓インターノウス株式会社#LinuC学習中

l⼈材紹介サービス、⼈材派遣/SESサービス、IT未経験者の教育及び就職⽀援
サービス、法⼈研修サービス
l未経験からインフラエンジニアやプログラマーになりたい⽅へ、無料で研修と就職⽀援サービスを⾏っています。
https://engineercollege.jp/lp/

n⾃⼰紹介︓⽵本 季史(たけもと ときふみ)
lIT業界で約10年間勤務後、インターノウス株式会社エンジニアカレッジ講師。
lこれまで約700⼈を未経験者からエンジニアに養成。Linuxサーバー(メール、OpenSSH、シェルスクリプト、DB、監視、演習)を担当。
lLinuCレベル1バージョン10.0の差分教材で「仮想マシン・コンテナの概念と利⽤」を執筆。
© LPI-Japan all rights reserved.

2

LinuCレベル１／レベル２ Version10.0とは#LinuC学習中

nLinuCとは
クラウド時代の即戦⼒エンジニアであることを証明するLinux技術者認定資格

ü現場で「今」求められている新しい技術要素に対応• オンプレミス／仮想化を問わず様々な環境下でのサーバー構築• 他社とのコラボレーションの前提となるオープンソースへの理解• システムの多様化に対応できるアーキテクチャへの知⾒ü全⾯的に⾒直した、今、⾝につけておくべき技術範囲を網羅
今となっては使わない技術やコマンドの削除、アップデート、新領域の取り込みüLinuxの範疇だけにとどまらない領域までカバー
セキュリティや監視など、ITエンジニアであれば必須の領域もカバー© LPI-Japan all rights reserved.

3

新しくなった「LinuC」の紹介#LinuC学習中

nVersion10.0と従来の出題範囲の⽐較
テーマ

LinuC-1

Version 10.0

従来

仮想技術

・仮想マシン／コンテナの概念
・クラウドセキュリティの基礎←（Version10.0で新設）

オープンソースの文化・オープンソースの定義や特徴
・コミュニティやエコシステムへの貢献←（Version10.0で新設）

その他→（Version10.0で削除）

アクセシビリティ、ディスククォータ、プリンタの管理、SQLデータ管理、他

仮想化技術

・仮想マシンの実行と管理（KVM）
・コンテナの仕組みとDockerの導入←（Version10.0で新設）

システムアーキテクチャ

・クラウドサービス上のシステム構成
・高可用システム、スケーラビリティ、他←（Version10.0で新設）

LinuC-2
その他

・統合監視ツール（zabbix）
・自動化ツール（Ansible）→（Version10.0で削除）←（Version10.0で出題範囲に含む）
RAID、記憶装置へのアクセス方、FTP
サーバーの保護、他© LPI-Japan all rights reserved.

4

本セミナーについて#LinuC学習中

n本セミナーについて
l本セミナーは試験範囲で問われる内容の理解を深めるためにポイントを解説いたします。
lこのセミナーの内容はCentOS7を前提とした内容となっています。

n受講者の想定スキルレベル
lLinuCレベル1の取得を⽬指している⽅

n本セミナーのゴール
lIPアドレスの仕組みが分かる。
lTCP/IPの代表的なプロトコルが分かる。
lネットワークコマンドを使⽤してネットワークの調査ができる。
© LPI-Japan all rights reserved.

5主題1.07︓ネットワークの基礎
n1.07.1 インターネットプロトコルの基礎(抜粋)#LinuC学習中• ネットワークマスクとCIDR表記法。
• サブネット化• プライベートとパブリックのドット区切り形式のIPアドレスの違い。
• UDP、TCP、およびICMPの違いや主な機能
n1.07.2 基本的なネットワーク構成(抜粋)• ネットワークインターフェイスの設定を⼿作業および⾃動で⾏う。
• /etc/hostname• nmcli, ip addr

• ホストの基本的なTCP/IP設定• /etc/hosts, /etc/nsswitch.conf, ping

• デフォルトルートの設定• ip route, route© LPI-Japan all rights reserved.

6主題1.07︓ネットワークの基礎
n1.07.3 基本的なネットワークの問題解決(抜粋)#LinuC学習中• ネットワークに関する問題の原因を調査する。
• host, dig, ping
• traceroute, tracepath• 必要に応じてネットワークインターフェイスの追加、起動、停⽌、再起動、削除、および再設定する。
• hostname• ルーティングテーブルを変更、参照、設定し、不適切なデフォルトルート設定を⼿作業で訂正する。
• ip route, route© LPI-Japan all rights reserved.

7主題1.07︓ネットワークの基礎
n1.07.4 クライアント側のDNS設定#LinuC学習中• リモートDNSサーバーに問い合わせる。
• host, dig• ローカルの名前解決の設定によりリモートDNSサーバーを使⽤する。
• /etc/resolv.conf• 名前解決の実⾏順序を変更する。

• getent, /etc/nsswitch.conf, /etc/hosts© LPI-Japan all rights reserved.

8

⽬次

lプロトコルとは︖#LinuC学習中

lTCP/IPとは︖
lIPアドレス
lネットワークのコマンドやファイル© LPI-Japan all rights reserved.

9

プロトコルとは︖ ①コンピューター間の通信#LinuC学習中

コンピュータは0と1で情報を処理します。
コンピュータ間で通信をする際には、電気信号、光、電波などの伝送媒体で0と1を表現して宛先コンピュータまで情報を届けます。

送信元コンピュータ

宛先コンピュータ
携帯電波・ 無線LAN(電波)光ファイバ(光)01000100111・・・
LANケーブル(電気信号)© LPI-Japan all rights reserved.

10

プロトコルとは︖ ②通信ルールがない状態#LinuC学習中

コンピュータ同⼠の通信ではあらかじめ、通信に関するルールを決めておく必要があります。ルールがなければ宛先コンピュータが受け取るものは0と1の羅列に過ぎず、意味のある情報として受け取れません。
通信ルールがない状態

何これ？
意味わからん。

情報送ったよ。
意味不明な情報

急に送られても受け取れないよ！

01000100111・・・

送信元コンピュータ

宛先コンピュータ

© LPI-Japan all rights reserved.

11

プロトコルとは︖ ③プロトコルが決めていること#LinuC学習中

コンピュータ同⼠の通信のルールをプロトコルと呼びます。プロトコルは「通信⼿順」 と「データの形式」を決定しています。
「通信⼿順」が決められていることによって宛先コンピュータに正常に情報の受け渡しができます。そして、「データの形式」が決められていることによって宛先コンピュータは受け取った情報が何の情報かを認識できます。
⾔い換えると、0と1の羅列が意味のある情報になります。
情報送ったよ。

プロトコルがある状態意味のある情報

正常に受け取れたよ。
ありがとう。

なるほど、この処理をすればいいんだな。

01000100111・・・

送信元コンピュータ

宛先コンピュータ
© LPI-Japan all rights reserved.

12プロトコルとは︖ ④⼈同⼠のコミュニケーションの例#LinuC学習中

電話に出た時に、急に「あの件だけどさぁ」と早⼝で要件をまくし⽴てられたらどう感じるでしょうか︖また、話を理解できるでしょうか︖
電話では「もしもし」と⾔ってから会話を始めて相⼿の応答を確認してから、要件を話すという暗黙の了解があります。
これはプロトコルの通信⼿順にあたります。また、対⾯よりも相⼿の様⼦が分
かりずらいことから、伝わっていることを確認しながら話すのではないでしょうか︖「あの件だけどさぁ」「もしもし」© LPI-Japan all rights reserved.

13

プロトコルとは︖ ⑤プロトコルはシンプル+階層化#LinuC学習中
ひとつのプロトコルで通信に関する全てを実現しようとすると、プログラムが⼤きく、複雑になり修正することが難しくなります。
現在のコンピュータ通信はシンプルな機能のプロトコルを階層的に組み合わせて実現しています。これによって、プログラムの修正を容易にしたり、特定の層のプロトコルの⼊れ替えができます。このような階層化されたプロトコルをまとめてプロトコル群と⾔います。
あの件を伝えよう。。

なるほど、分
かったぞ。

プロトコル群①思考装置 脳②言語 日本語③音声送信装置 喉④伝送媒体 電話

プロトコル
プロトコル
プロトコル
プロトコル

④思考装置 脳③言語 日本語②音声受信装置 耳①伝送媒体 電話

© LPI-Japan all rights reserved.

14

TCP/IPとは︖ ①TCP/IPプロトコル群について#LinuC学習中

現在インターネットを中⼼に広く使⽤されているプロトコル群として、
TCP/IPプロトコル群があります。中でも代表的なプロトコルのTCPとIPから名前がつけられています。
コンピュータ同⼠がプロトコル群としてTCP/IPを使⽤していれば、お互いにデータの送受信ができます。⽚⽅が他のプロトコル群を使⽤していると正常にデータの送受信ができません。
過去には様々なプロトコル群がありましたが、現在ではTCP/IPが標準的となっており、宛先のプロトコル群を気にすることはなくなっています。
送信元(TCP/IP)

宛先(TCP/IP)
正常に送受信

送信元(TCP/IP)

宛先(Netware)
送受信できない© LPI-Japan all rights reserved.

15

TCP/IPとは︖ ②TCP/IPプロトコル群の4階層#LinuC学習中

TCP/IP プロトコル群は表のように4つの階層に分けられます。
階層

レイヤー4

レイヤー3

レイヤー2

レイヤー1

階層の名前

階層の役割

階層の代表的なプロトコル

アプリケーション層

アプリケーション同⼠でデータの形式や⼿順を定める役割

HTTP(Hyper Text Transfer Protocol)︓
Webページの閲覧
SMTP(Simple Mail Transfer Protocol)︓
メールの送信など

トランスポート層

エラー訂正や再送などの通信の管理やデータを宛先アプリケー
ションまで届ける役割

TCP(Transmission Control Protocol)
UDP(User Datagram Protocol)

インターネット層

複数のネットワークを相互接続した環境で宛先まで通信をする
役割

IP(Internet Protocol)
ICMP(Internet Control Message
Protocol)ARP(Address Resolution Protocol)

インターフェース層

伝送媒体を通じて直接接続した宛先と通信をする役割

イーサネット(Ethernet)
フレームリレー(Frame-Relay)
PPP(Point-to-Point Protocol)など© LPI-Japan all rights reserved.

16

TCP/IPとは︖ ③TCP/IPの4階層の通信#LinuC学習中

TCP/IP プロトコル群を使うコンピュータは下図のように通信します。
送信側のアプリケーション層から下位の層に向かって各層のプロトコルが処理をします。受信側はデータを受け取ったら、上位の層に向かって各層のプロトコルが処理してアプリケーション層が意味のある情報として受け取ります。
送信側

受信側

レイヤー4

アプリケーション層

レイヤー4

アプリケーション層

レイヤー3

トランスポート層

レイヤー3

トランスポート層

レイヤー2

インターネット層

レイヤー2

インターネット層

レイヤー1

インターフェース層

レイヤー1

インターフェース層© LPI-Japan all rights reserved.

17

TCP/IPとは? ④トランスポート層のプロトコル#LinuC学習中

トランスポート層はインターネット層とアプリケーション層の仲⽴ちをする層です。送信時はアプリケーションから受け取ったデータを宛先まで届ける通信⽅式の決定や管理。受信時は受け取ったデータをアプリケーションまで届ける役割となります。
TCP (Transmission Control Protocol)
信頼性の⾼い通信を実現するためのコネクション型のプロトコルです。消失やエラーが発⽣したパケットを再送したり、パケットを順番どおりに並び替えた
り、到達したことを確認します。
UDP (User Datagram Protocol)
データの転送速度が速いコネクションレス型のプロトコルです。相⼿に届いているかの保証はしません。途中でデータが⽋けても⽀障が少ない⾳声や映像のストリーミング配信で利⽤されます。また、DNSの名前解決やNTPでの時刻情報の配信でも使⽤されます。
© LPI-Japan all rights reserved.

18

TCP/IPとは? ⑤インターネット層のプロトコル#LinuC学習中

インターネット層はトランスポート層のひとつ下に位置する層で、宛先までデータを送り届ける役割です。
IP (Internet Protocol)
機器がどのネットワークの、どの機器かを識別するためのIPアドレスを付与
して、⽬的の機器までデータ(パケット)を届けるプロトコルです。
送信する機器では、扱いやすいようにパケットを分割し、到着した機器ではパケットを再構成します。
ICMP (Internet Control Message Protocol)
パケットのエラーメッセージや制御メッセージを通知するプロトコルです。
pingやtracerouteコマンドで使⽤されます。

© LPI-Japan all rights reserved.

19

IPアドレス①IPアドレスについて#LinuC学習中

IPはTCP/IPの中核をなすプロトコルです。コンピュータ間で通信をするた
めに⾃⾝と宛先の識別をするために必要となるのがIPアドレスです。
IPアドレスはPCやサーバーのネットワークインターフェースカード(NIC)にソフトウェア的に設定します。相⼿を識別する必要があるため、同⼀ネット
ワーク内に同じIPアドレスを複数の機器に割り当てることはできません。
IPアドレスにはv4とv6がありますが、ここでは現在主に使われるIPv4のみ説明します。
IPアドレスを設定

NIC

互いに識別可能

NIC

IPアドレスを設定© LPI-Japan all rights reserved.

20

IPアドレス②2進数の数え⽅#LinuC学習中

IPアドレスについて解説する前に、IPアドレスは2進数で書き表すことがあるので2進数について理解しておきましょう。
2進数では0と1の数字のみ扱います。
1桁で表現できないときには左隣に桁を増やして0に戻ります。これを繰り返します。
例えば10進数の2を2進数で表す場合は10(イチゼロ)となります。

10進数

2進数

0

0

1

1

2

10

3

11

4

100

5

101

6

110

7

111

8

1000

9

1001

10

1010
© LPI-Japan all rights reserved.

21

IPアドレス③IPアドレスの表記#LinuC学習中

IPアドレス(IPv4)は32ビットで構成されます。8ビットごとのまとまりをオクテットと⾔い、「．」ドットで区切ります。4つのオクテットから構成されます。コンピュータ内部では2進数で処理されますが、通常は⼈が分かりやす
いように10進数で表記されます。
32ビット(2進数で32桁)

2進数

11000000101010000000101000000001
第1オクテット

オクテットごとに区切る

10進数

第2オクテット

第3オクテット

第4オクテット

11000000.10101000.00001010.00000001

192 . 168 .

10 .

1© LPI-Japan all rights reserved.

22

IPアドレス④IPアドレスの10進数→2進数変換#LinuC学習中

通常IPアドレスは10進数で表記されますが、2進数に変換することがあります。
オクテットごとに2進数に変換します。
まずオクテットの値から、2進数で1番左の桁の128(2の7乗)を引きます。引け
たら1、引けなかったら0を書きます。残りの値から右隣に1つずらした桁の64(2の6乗)を引きます。以降、残り0になるまで繰り返し引いていきます。
以下では、第2オクテットの「168」を2進数に変換しています。
第1オクテット第2オクテット

第3オクテット

192 . 168 .
10進数
引ける=>1
引けない=>0

2進数

第4オクテット

10 .

1

8bit⽬

7bit⽬

6bit⽬

5bit⽬

4bit⽬

3bit⽬

2bit⽬

1bit⽬

2"

2#

2$

2%

2&

2'

2(

2)

128

64

32

16

8

4

1

168-128
=40

40-64

40-32
=8

8-16

8-8
=0

残りが0に
なったので
0

2

1

0

1

0

1

0

0

0
© LPI-Japan all rights reserved.

23

IPアドレス⑤IPアドレスの2進数→10進数変換#LinuC学習中

2進数のIPアドレスを10進数に変換することもあります。
オクテットのビットが「1」の桁の2の累乗を値を出して、全て⾜します。
以下では、第2オクテットの「10101000」を10進数に変換しています。
第1オクテット第2オクテット

第3オクテット

第4オクテット

11000000.10101000.00001010.00000001
8bit⽬

7bit⽬

6bit⽬

5bit⽬

4bit⽬

3bit⽬

2bit⽬

1bit⽬

2"

2#

2$

2%

2&

2'

2(

2)

2進数

1

0

1

0

1

0

0

0

10進数

128

64

32

16

8

4

2

1

bitが1の桁
を数える

128

32

8

以上から、128+32+8=168となります。

※オクテットのビットが全て1(11111111)は255です。よく使うので覚えましょう。
© LPI-Japan all rights reserved.

24

IPアドレス⑥ネットマスク#LinuC学習中

IPアドレスはどのネットワークに所属するかを表すネットワーク部とネットワーク内にある機器の番号であるホスト部から構成されます。ネットワーク部とホスト部の境界はネットマスクで分かります。ネットマスクが2進数で1のビットはネットワーク部、0のビットはホスト部となります。
第1オクテット第2オクテット

第3オクテット

第4オクテット

IPアドレス

192 . 168 .

10 .

1

ネットマスク

255 . 255 . 255 .

0

ネットマスク(2進数)11111111.11111111.11111111.00000000
ネットワーク部

ホスト部(ビットが全て1)(ビットが全て0)※ネットマスクは後で出てくるサブネットマスクと同じ意味で使われることがあります。
© LPI-Japan all rights reserved.

25

IPアドレス⑦IPアドレスの使⽤可能範囲#LinuC学習中

IPアドレスのホスト部のビットが全て0の場合をネットワークアドレスと⾔い、ネットワーク⾃⾝を表します。ビットが全て1の場合をブロードキャストア
ドレスと⾔い、ネットワーク内の全ての機器を表します。
この2つのアドレスは機器に割り当てができません。使⽤可能なIPアドレス数
はホスト部の総数から2を引いた数となります。
10進数

2進数

備考

IPアドレス

192.168.10.1

11000000.10101000.00001010.00000001

ネットマスク255.255.255.0

11111111.11111111.11111111.00000000

第4オクテットの8bitがホスト
部

ネットワークアドレス

192.168.10.0

11000000.10101000.00001010.00000000

ホスト部のビットが全て0
IPアドレスとしては使⽤不可

IPアドレス
使⽤可能範囲192.168.10.1〜
192.168.10.254

11000000.10101000.00001010.00000001〜
11000000.10101000.00001010.11111110

ネットワークアドレスの次からブロードキャストアドレスの前まで。
ホスト部の総数8bit=>
256-2=254個が使⽤可能

ブロードキャストアドレス

192.168.10.255

11000000.10101000.00001010.11111111

ホスト部のビットが全て1
IPアドレスとしては使⽤不可© LPI-Japan all rights reserved.

26

IPアドレス⑧クラス#LinuC学習中

IPアドレスはICANNという組織が管理しており、勝⼿に使⽤することはできません。
ICANNはIPアドレスをA〜Eまでのクラスを元に割り当てました。D,Eは特殊な例で使⽤されるので、ここではA〜Cについて説明します。
クラス
A

B

C

IPアドレスの範囲(上:10進数 下:2進数)

ネットマスク(上:10進数 下:2進数)

0.0.0.0〜127.255.255.255

255.0.0.0

0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

11111111.00000000.00000000.00000000

128.0.0.0〜191.255.255.255

255.255.0.0

10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

11111111.11111111.00000000.00000000

192.0.0.0〜223.255.255.255

255.255.255.0

110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

11111111.11111111.11111111.00000000

備考
先頭が0なので0から始まる。
24bit使⽤可能。⼤規模ネットワークで使⽤。
先頭が10なので128から始まる。
16bit使⽤可能。中規模
ネットワークで使⽤。
先頭が110なので192から始まる。
8bit使⽤可能。⼩規模
ネットワークで使⽤。

※「x」には0か1が⼊ります© LPI-Japan all rights reserved.

27

IPアドレス⑨プライベートIPアドレス#LinuC学習中

IPアドレスは世界中で重複しないように割り当てる必要がありますが、IPアド
レスの不⾜が⾒込まれたため、組織や家庭などの閉じられたネットワーク(LAN)内のみ使⽤可能なプライベートIPアドレスが定められました。
下表の範囲のIPアドレスは⾃由に使⽤することができます。プライベートIPア
ドレスはLAN内のルータでグローバルIPアドレスと相互変換されます。
クラス
A
B
C

IPアドレスの範囲(上:10進数 下:2進数)

ネットマスク(上:10進数 下:2進数)

10.0.0.0〜10.255.255.255

255.0.0.000000110.xxxxxxxx.xxxxxxxx.xxxxxxxx

11111111.00000000.00000000.00000000

172.16.0.0〜172.31.255.255

255.240.0.0

10101100.0001xxxx.xxxxxxxx.xxxxxxxx

11111111.11110000.00000000.00000000

192.168.0.0〜192.168.255.255

255.255.0.0

11000000.10101000.xxxxxxxx.xxxxxxxx

11111111.11111111.00000000.00000000

備考
24bit使⽤可能
20bit使⽤可能
16bit使⽤可能※「x」には0か1が⼊ります© LPI-Japan all rights reserved.

28

IPアドレス⑩クラスの問題点#LinuC学習中

クラスによる割り当て⽅ではA〜Cの3種類しかないため柔軟性に⽋けます。組
織内でIPアドレスが余っていても有効に活⽤することができず、逆に必要な組織にIPアドレスを回すことができません。IPアドレスが枯渇する原因でした。
クラスBの組織65534台分のIPが使⽤可能

254台分のIPがクラスCの組織 使⽤可能

300台のホスト
1000台のホスト

あと46台分のIPが⾜りない

残り64534台分のIPが余る© LPI-Japan all rights reserved.

29

IPアドレス⑪サブネット化、サブネットマスク#LinuC学習中
IPアドレスの柔軟な運⽤のために、管理者がネットワークを分割するサブネット化が可能となりました。ホスト部のビットを切り出して、
ネットワーク部として使⽤します。これをサブネットマスクと⾔います。
下記はホスト部の上位2ビットを使⽤して4つに分割した例です。
IPアドレスの範囲(上:10進数 下:2進数)

サブネットマスク(上:10進数 下:2進数)

クラスCのネットワーク

192.168.10.0〜192.168.10.255

255.255.255.0

11000000.10101000.00001010.xxxxxxxx

11111111.11111111.11111111.00000000

割 4
!
"
#
$
%
&
'
(
)
分

192.168.10.0〜192.168.10.63

255.255.255.192

11000000.10101000.00001010.00xxxxxx

11111111.11111111.11111111.11000000

192.168.10.64〜192.168.10.127

255.255.255.192

11000000.10101000.00001010.01xxxxxx

11111111.11111111.11111111.11000000

192.168.10.128〜192.168.10.191

255.255.255.192

11000000.10101000.00001010.10xxxxxx

11111111.11111111.11111111.11000000

192.168.10.192〜192.168.10.255

255.255.255.192

11000000.10101000.00001010.11xxxxxx

11111111.11111111.11111111.11000000※「x」には0か1が⼊ります

備考
最⼤ホスト数
256-2=254
最⼤ホスト数
64-2=62
最⼤ホスト数
64-2=62
最⼤ホスト数
64-2=62
最⼤ホスト数
64-2=62© LPI-Japan all rights reserved.

30

IPアドレス⑫CIDR表記#LinuC学習中
IPアドレスの不⾜の対応するため、クラス分けを廃⽌して任意のビットでIPアドレスを配布する、CIDR(Classless Inter-Domain Routing)という仕組みが定められました。
サブネットマスクはIPアドレスと並記しますが、 CIDR表記ではIPアドレスの後に/(スラッシュ)とプレフィックス値で表現ができます。プレフィックス値
はサブネットマスクを2進数にしたときに先頭から「1」が続く個数を⽰しています。どちらの表現も使われるので慣れておきましょう。

IPアドレスサブネットマスク
CIDR表記192 . 168 .

10 .

1

255 . 255 . 255 . 192
192 . 168 .

10 .

1/26
プレフィックス値© LPI-Japan all rights reserved.

31

ネットワークのコマンドやファイル#LinuC学習中

１．IPアドレスip, nmcli
２．疎通確認ping
３．経路確認
traceroute, tracepath
４．ルーティング
ip route, nmcli
５．ホスト名/etc/hostname, hostname, hostnamectl, nmcli
６．名前解決/etc/hosts, /etc/resolv.conf, nmcli, /etc/nsswitch.conf, getent,
host, dig

© LPI-Japan all rights reserved.

32

1. IPアドレス

ip①

コマンド書式#LinuC学習中

ipコマンドは、オブジェクトに対してコマンドを指定する形式で実⾏します。
各オブジェクトごとに指定可能なコマンドは異なります。
また、オブジェクトやコマンドは短縮して指定することも可能です。
設定は即時に反映されますが、再起動すると消えてしまいます。

ip オブジェクト コマンド [値]
オブジェクト説明

addr(a)IPアドレスの確認や設定を⾏う

link(l)ネットワークデバイスの確認や設定を⾏う

route(r)ルーティングテーブルの確認や設定を⾏う

neighbor(n)ARPキャッシュの表⽰※()は省略形

addrの
コマンド

説明

show(s)

全てのデバイスのIPアドレスの表⽰(省略可能)
ip addr show dev デバイス名で指定したデバイスのみのIPアドレスを表⽰

add(a)IPアドレスの追加

del(d)IPアドレスの削除※()は省略形© LPI-Japan all rights reserved.

33

1. IPアドレス

ip②

ip addr

ip addrで全てのデバイスのIPアドレスを表⽰した例です。

#LinuC学習中© LPI-Japan all rights reserved.

34

1. IPアドレス

ip③

ip addr show

#LinuC学習中
指定のデバイスのIPアドレスを表⽰した例です。
IPアドレスはネットワークインタフェースカード(NIC)に紐づけられます。
enp0s8はLinuxが認識したネットワークインタフェースのデバイス名です。

ip addr show デバイス名© LPI-Japan all rights reserved.

35

1. IPアドレス

ip④

ループバックアドレス#LinuC学習中
特別なIPアドレスとしてループバックアドレスがあります。
論理的なネットワークインタフェースにループバックアドレスが割り当てられます。⾃⾝宛ての通信をするために使⽤され、ネットワーク機能のテストやサーバの動作確認などに使⽤されます。
デバイス名はloです。IPアドレスは127.0.0.1/8が割り当てられます。

© LPI-Japan all rights reserved.

36

1. IPアドレス

ip⑤

IPアドレスの追加と削除

指定のデバイスにIPアドレスを追加・削除した例です。
<追加> ip addr add IPアドレス/プレフィックス値 dev デバイス名<削除> ip addr del IPアドレス/プレフィックス値 dev デバイス名#LinuC学習中© LPI-Japan all rights reserved.

37

1. IPアドレス

nmcli①

コマンド書式#LinuC学習中

最近のLinuxではNetworkManagerサービスによってネットワークに関する様々な確認や設定が⾏えます。オブジェクトやコマンドは短縮して指定することも可能です。設定は永続的に維持されますが、即時に設定は反映されず、コネクション起動時に反映されます。

nmcli オブジェクト コマンド
オブジェクト

コマンド

説明

なし

-

デバイスの情報を⼀覧表⽰する

device(d)show(s) デバイス名

指定したデバイス情報を表⽰

connection(c)show(s) コネクション名

接続情報を表⽰

modify(m) コネクション名 パラメータ

指定した接続を設定する

up(u) コネクション名

接続を有効にする

down(d) コネクション名

接続を無効にする※()は省略形※()は省略形© LPI-Japan all rights reserved.

38

1. IPアドレス

nmcli②

デバイス情報の⼀覧表⽰

nmcliコマンドのみで各デバイスの情報を簡易的に⼀覧表⽰します。
IPアドレスも含まれます。

#LinuC学習中

nmcli© LPI-Japan all rights reserved.

39

1. IPアドレス

nmcli③

各デバイス情報の表⽰

nmcli device showでデバイスの情報を表⽰します。

#LinuC学習中

nmcli device show デバイス名© LPI-Japan all rights reserved.

40

1. IPアドレス

nmcli④

IPアドレスの変更#LinuC学習中

nmcli connection modifyのipv4.methodでIPアドレスを変更します。
nmcli connection modify コネクション名 ipv4.method manual ipv4.addresses IPアドレス/プレフィックス値
設定を反映させるために該当デバイスのコネクションをupします。
nmcli connection up コネクション名© LPI-Japan all rights reserved.

41

1. IPアドレス

nmcli⑤

IP＋DGW＋参照先DNSの設定#LinuC学習中

nmcliコマンドでIPアドレスの他にも後のページで解説するデフォルトゲート
ウェイと参照先DNSを⼀度に設定することが可能です。
nmcli connection modify コネクション名 ipv4.method manual ipv4.addresses IPアドレス/プレフィックス値 ipv4.gateway デフォルトゲートウェイ ipv4.dns 参照先DNSのIPアドレス© LPI-Japan all rights reserved.

42

2. 疎通確認

ping①#LinuC学習中

pingコマンドは指定されたホストにICMPパケットを送り結果を表⽰します。
これを疎通確認と⾔い、宛先ホストの状態確認によく使われます。
宛先にホスト名を指定した場合は名前解決をします。
-cオプションの指定がない時はCtrl+Cキーが押されるまで連続実⾏されます。

ping オプション ホスト名またはIPアドレス
オプション

説明

-c 回数

指定した回数ICMPパケットを送信する-i 間隔

指定した間隔(秒)ごとにICMPパケットを送信する(デフォルトは1秒)

pingコマンドはIPv4環境で使⽤されますが、IPv6環境ではping6コマンドを使います。
© LPI-Japan all rights reserved.

43

2. 疎通確認

ping②

下記の画⾯はlpi.or.jpにpingを6回打って6回応答があった状態です。
その後、Ctrl+Cを押して中断しています。

ping lpi.or.jp#LinuC学習中

名前解決(ホスト名→IPアドレス)

Ctrl+Cで中断

6回送信して、6回受信しているのでパケットロスは0% 全体で5016msかかりました。
往復時間(rtt)は、最⼩(min)11.050ms/平均(avg)11.365ms/最⼤(max)11.622msです。
標準偏差(mdev)は0.220で、ばらつき具合(0に近いほどばらつき少ない)を⽰します。
往復時間の多くは平均の11.365±0.220に収まります。
© LPI-Japan all rights reserved.

44

3. 経路確認

traceroute①#LinuC学習中

tracerouteコマンドは指定されたホストまでの経路のルータに順番にパケットを送り、宛先ホストまでの経路のどこに障害があるのかを確認するために使われます。これを経路確認と⾔います。ホスト名の場合は名前解決をします。

traceroute オプション ホスト名またはIPアドレス
オプション

説明

-U

UDPパケットを送信する(デフォルト)-I

ICMPパケットを送信する

tracerouteコマンドはIPv4環境で使⽤されますが、IPv6環境ではtraceroute6コマンドを使います。
© LPI-Japan all rights reserved.

45

3. 経路確認

traceroute②#LinuC学習中

tracerouteは下図のように宛先ホストまでに経由するルータそれぞれにパケッ
トを送って応答があることを確認します。途中で応答がなければそこで障害が発⽣していると予測します。

サーバAに送
ります

1

2
3

4

5

サーバA

© LPI-Japan all rights reserved.

46

3. 経路確認

traceroute③#LinuC学習中
traceroute lpi.or.jpの実⾏結果です。
lpi.or.jpまで11のルータを通って⽬的地である12番⽬のホストまで⾏っている
ことが分かります。それぞれのルータに3回パケットを送信して往復時間を測っています。ルータのセキュリティ対策により応答パケットを返さないルータ
は* * *が表⽰されます。
応答パケットを返さないルータ© LPI-Japan all rights reserved.

47

3. 経路確認

tracepath①#LinuC学習中

tracepathコマンドはtracerouteと同じく指定されたホストまでの経路の機器にパケットを送ります。tracerouteと異なるのはPMTU値を表⽰することです。MTUとは機器が⼀度に送信できる最⼤のデータ量で、PathMTU値は経路全体で適⽤されるMTU値です。

tracepath オプション ホスト名またはIPアドレス
オプション

説明

-c 回数

指定した回数ICMPパケットを送信する-i 間隔

指定した間隔(秒)ごとにICMPパケットを送信する(デフォルトは1秒)

tracepathコマンドはIPv4環境で使⽤されますが、IPv6環境ではtracepath6
コマンドを使います。
© LPI-Japan all rights reserved.

48

3. 経路確認

tracepath②#LinuC学習中
tracepath lpi.or.jpの実⾏結果です。
lpi.or.jpまで11のルータを通って⽬的地である12番⽬のホストまで⾏っている
ことが分かります。それぞれのルータに1回パケットを送信して往復時間を測っています。ルータのセキュリティ対策により応答パケットを返さないルータ
はno replyが表⽰されます。
PMTU値が1500

応答パケットを返さないルータ© LPI-Japan all rights reserved.

49

4. ルーティング

ルーティングとはルーティングとは宛先ホストまでの経路を制御することをいいます。 #LinuC学習中
ホストやルーターにはルーティングテーブルというルーティングのための情報が格納されています。ルーティングテーブルはパケットを送信したり、受信したパケットを転送するときに参照されて送信先を決めます。
サーバAのNWは
こっちだな
サーバAに送ります

サーバAのNWは
こっちだな
サーバAのNW
はこっちだな
サーバAはうちのNWにいるな

届きました

サーバA

© LPI-Japan all rights reserved.

50

4. ルーティング

ip route①

ルーティングテーブルの表⽰#LinuC学習中
ルーティングテーブルを表⽰するコマンドにip routeがあります。
他にも、route, netstat –rがありますが最近では⾮推奨となっています。

ip route

route

netstat -r© LPI-Japan all rights reserved.

51

4. ルーティング

ip route②

ルーティングテーブルの⾒⽅#LinuC学習中
ルーティングテーブルには宛先ネットワークに⾏くための、
次に経由する機器であるゲートウェイ (via)や送信デバイス(dev)が記載されています。

192.168.2.0/24 via 192.168.255.1 dev enp0s8 proto static metric 101
宛先ネットワーク

ゲートウェイ

送信デバイス© LPI-Japan all rights reserved.

52

4. ルーティング

ip route③

ルーティングテーブルの⾒⽅#LinuC学習中
宛先ネットワークにdefaultと記載されているのはデフォルトルートと⾔い、他に宛先がない場合の経路となります。デフォルト
ルートのゲートウェイはデフォルトゲートウェイと呼ばれます。

default via 10.0.2.2 dev enp0s3 proto dhcp metric 100
デフォルトルート

デフォルトゲートウェイ

送信デバイス© LPI-Japan all rights reserved.

53

4. ルーティング

ip route④

ルートの追加と削除

ip routeでルーティングテーブルに経路を追加、削除できます。
なお、即時に反映されますが、再起動すると戻ります。

#LinuC学習中

ip route add 宛先ネットワーク via ゲートウェイ dev デバイス

オプション

説明

add

ルーティングテーブルに経路を追加する。

delルーティングテーブルから経路を削除する。via以降は省略可能。

© LPI-Japan all rights reserved.

54

4. ルーティング

ip route⑤

ルートの追加と削除

ip route del 宛先ネットワーク (via ゲートウェイ dev デバイス)#LinuC学習中

省略可

宛先ネットワークをdefaultとするとデフォルトルートを追加できます。
ip route add default via 192.168.1.254© LPI-Japan all rights reserved.

55

4. ルーティング

nmcli①

ルートの追加と削除#LinuC学習中

nmcliでのルートの追加は+ipv4.routes、削除は-ipv4.routesを使⽤します。
nmcli connection modify コネクション名 +ipv4.routes “宛先ネットワーク ゲートウェイ”
nmcli connection modify コネクション名 -ipv4.routes “宛先ネットワーク ゲートウェイ”
追加したルートは/etc/sysconfig/network-scripts/route-コネクション名に永続的に保存されます。

設定を反映させるために該当デバイスのコネクションをupします。
nmcli connection up コネクション名© LPI-Japan all rights reserved.

56

4. ルーティング

nmcli②

ルートの追加と削除#LinuC学習中

下記は宛先ネットワークに192.168.2.0/24、
ゲートウェイに192.168.255.1のルートを追加、削除した例です。

新しいルートが追加されている

192.168.2.0/24の宛先へのルートが削除された© LPI-Japan all rights reserved.

57

4. ルーティング

nmcli③

デフォルトゲートウェイの設定#LinuC学習中

nmcliでデフォルトゲートウェイの設定をするには、
ipv4.gatewayを使⽤します。

nmcli connection modify コネクション名 ipv4.gateway デフォルトゲートウェイ
設定したデフォルトゲートウェイは/etc/sysconfig/network-scripts/ifcfg-コネクション名に永続的に保存されます。

設定を反映させるために該当デバイスのコネクションをupします。
nmcli connection up コネクション名© LPI-Japan all rights reserved.

58

4. ルーティング

nmcli④

デフォルトゲートウェイの設定#LinuC学習中

下記はデフォルトゲートウェイに192.168.255.1を設定した例です。

新しいデフォルトゲートウェイが追加されている© LPI-Japan all rights reserved.

59

5. ホスト名

ホスト名とは︖#LinuC学習中
コンピュータの名前をホスト名、コンピュータが所属する組織の名前をドメイン名と呼びます。
また、ホスト名＋ドメイン名全体を指してFQDN（Fully Qualified Domain Name）と呼びます。
※FQDNのことを指してホスト名ということもあります。

ホスト名

ドメイン名

www.internous.co.jp.
FQDN

internous.co.jp.ドメインに所属するホスト(コンピュータ)のwwwという意味© LPI-Japan all rights reserved.

60

5. ホスト名

ホスト名のファイルとコマンド①

Linuxではホスト名が格納されているファイルやホスト名を表⽰、設定するコマンドがあります。

#LinuC学習中

ホスト名が格納されているファイル/etc/hostname
ホスト名を表⽰するコマンド
hostname
nmcli general hostname© LPI-Japan all rights reserved.

61

5. ホスト名

ホスト名のファイルとコマンド②

ホスト名を変更するコマンド#LinuC学習中

hostnamectl set-hostname ホスト名

新しいシェルでホスト名が変更されている

nmcli general hostname ホスト名

新しいシェルでホスト名が変更されている© LPI-Japan all rights reserved.

62

6. 名前解決

名前解決の⽅法①/etc/hostsを参照#LinuC学習中

名前解決とはファイルまたはサーバーを参照して、ホスト名とIPアドレスを相互に変換することです。ホスト名からIPアドレスを求める正引きと、IPアドレスからホスト名を求める逆引きがあります。ホスト内部でのファイルを参照する名前解決とDNSサーバーを参照する名前解決があります。
ホスト名とIPアドレスの紐づけが格納されているファイル/etc/hosts/etc/hostsファイルの書式は、1⾏ごとにIPアドレスの後にスペースで区切って紐づけるホスト名を書きます。スペース区切りで複数のホスト名をつけることができます。
1⾏⽬は127.0.0.1のループバックアドレスにホスト名として、
localhost,localhost.localdomain,localhost4,localhost4.localdomain4の4つのホスト名が紐づけられていることが分かります。
© LPI-Japan all rights reserved.

63

6. 名前解決

名前解決の⽅法②

DNSサーバーを参照#LinuC学習中/etc/hostsは少数の名前解決するには便利ですが⼤量の名前解決をする仕組みとしてはファイルの更新が頻繁になりすぎて不便です。
/etc/hostsを参照する以外に、インターネット上のホストのような⼤量の名前解決が可能なDNSサーバーに名前解決を依頼する⽅法があります。名前解決のプログラムのことをリゾルバといいます。
正引き(ホスト名→IP)
DNSクライアント(リゾルバ)

www.internous.co.jpのIPは？

DNSサーバー

104.27.131.51です
逆引き(IP→ホスト名)
104.27.131.51のホスト名は？

www.internous.co.jpです© LPI-Japan all rights reserved.

64

6. 名前解決/etc/resolv.conf

DNS参照先のファイル/etc/resolv.confはDNSサーバーを利⽤した名前解決時にリゾルバに参照されるファイルです。

#LinuC学習中/etc/resolv.conf

searchはホスト名のみの名前解決時に⾃動で付加するドメイン名となり、通常⾃分の所属するドメイン名となります。
nameserverは問い合わせ先となるDNSサーバーのIPアドレスを記載します。複数⾏ある場合は1番上のDNSサーバーから順に問い合わせます。応答がなかった場合は次⾏のDNSサーバーに問い合わせます。

© LPI-Japan all rights reserved.

65

6. 名前解決

nmcli① 参照先DNSの設定#LinuC学習中
nmcliでデバイスごとに参照先DNSの設定します。
設定した参照先DNSは/etc/sysconfig/network-scripts/ifcfg-コネクシ
ョン名に永続的に保存されます。

nmcli connection modify コネクション名 ipv4.dns 参照先DNSのIPアドレス© LPI-Japan all rights reserved.

66

6. 名前解決

nmcli② 参照先DNSの優先順位の変更#LinuC学習中
複数のデバイスが存在する際に、DNSの名前解決に優先するデバイスをnmcliコマンドで決めます。優先する⽅に⾼いpriority値を設定します。

nmcli connection modify デバイス名 ipv4.dns-priority priority値

priority値が⾼いenp0s8のIPアドレスが先© LPI-Japan all rights reserved.

67

6. 名前解決/etc/nsswitch.conf#LinuC学習中
名前解決の順序を決めるファイルに/etc/nsswitch.confがあります。hosts:の後に名前解決をする順序を書きます。
デフォルトでは先に/etc/hostsを参照するfiles、次にDNSサーバーを参照するdnsが記載されています。

/etc/nsswitch.conf© LPI-Japan all rights reserved.

686. 名前解決

getent#LinuC学習中
getentは/etc/nsswitch.confに記載されているライブラリから値を取得するコマンドです。データベースにhostsを指定することで名前解決の確認に使⽤できます。

getent データベース 値
getent hosts lpi.or.jp© LPI-Japan all rights reserved.

69

6. 名前解決

host① コマンド書式#LinuC学習中
hostコマンドは名前解決の確認に使われます。シンプルに結果が表⽰されるので名前解決の可否が分かりやすいことが特徴です。参照先DNSを指定しないときは/etc/resolv.confのnameserverの先頭⾏から問い合わせます。引数にIPアドレスを指定した場合は逆引きを⾏います。

host [オプション] ホスト名 [参照先DNS]
オプション

説明

-t 検索タイプ

説明-t 検索タイプ

検索タイプを指定して問い合わせるaIPアドレス(省略時のデフォルト)-v

詳細な出⼒をしますany

すべての情報mx

メールサーバ情報ns

ネームサーバ情報

soa

ゾーン情報

txt

テキスト情報© LPI-Japan all rights reserved.

70

6. 名前解決

host②

使⽤例

host lpi.or.jp

回答結果
lpi.or.jpのIPアドレス

host –t mx lpi.or.jp (検索タイプにmxを指定)#LinuC学習中

回答結果
lpi.or.jpのメールサー
バーのホスト名

host –v lpi.or.jp (詳細確認)

Aレコード
ホストに紐づけられたIPアドレスを格納

回答結果
lpi.or.jpのIPアドレス© LPI-Japan all rights reserved.

71

6. 名前解決

dig①

コマンド書式#LinuC学習中
digコマンドは名前解決の確認に使われます。名前解決の結果を詳細に確認したり、名前解決ができない原因を調査するために使⽤されます。
参照先DNSを指定しないときは/etc/resolv.confのnameserverの先頭⾏から問い合わせます。

dig オプション [@参照先DNS] ホスト名 [検索タイプ]
オプション

説明

検索タイプ

説明

-t 検索タイプ

検索タイプを指定して問い合わせるaIPアドレス(省略時のデフォルト)-x

逆引きを⾏うany

すべての情報mx

メールサーバ情報ns

ネームサーバ情報

soa

ゾーン情報

txt

テキスト情報© LPI-Japan all rights reserved.

72

6. 名前解決

dig②

使⽤例#LinuC学習中

dig lpi.or.jp

Aレコード
ホストに紐づけられたIPアドレスを格納

参照先DNS
サーバーのIPアドレス

回答結果
lpi.or.jpのIPアドレス© LPI-Japan all rights reserved.

73

6. 名前解決

dig③

dig lpi.or.jp –t mx

使⽤例(検索タイプにmxを指定)

MXレコードドメインのメールサーバーのホスト名を格納#LinuC学習中

回答結果
lpi.or.jpドメインのメールサー
バーのホスト名© LPI-Japan all rights reserved.

74