デバイスの管理【システムログとNPT】

CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。


1.システムログの管理
-
#### 1-1.システムログの概要
システムの動作の記録を<font color="Red">システムログ</font>といいます。

##### ■ 1-1-1.システムログの出力先
システムログのメッセージは、デバイルス内のロギングプロセスに送られ、そのプロセスに
よって下記の場所に出力されます。

▶︎ コンソールライン
>デフォルトではシステムログは、コンソールラインにしか出力されません。

▶︎ 仮想ターミナルライン
>
VTY接続（リモート）した画面にシステムログのメッセージが出力されます。
デフォルトでは、リモートログインの場合は画面にログが出力されない為、
表示させる設定が必要です。

● ルータやスイッチのRAM
>
ログを保存するバッファのサイズを指定する事で、指定要領分のログを保存し、
後から確認出来ます。指定した容量を超えると古いログは新しいログに上書きされます。
また、RAM内にログが保存される為、再起動するとログが消えてしまいます。

▶︎ Syslog（シスログ）サーバ
>
Syslogというプロトコルを使用する事で、機器が出力するさまざまなシステムログの
メッセージをネットワークを介して送信出来ます。送信されたメッセージは <font color="Red">Syslogサーバ</font>に
保存し、各機器のシステムログを１ヶ所で管理します。


##### ■ 1-1-2.システムログのファシリティ
ファシリティとは、システムログの種類の事です。
Syslogサーバ側では、ファシリティ事にシステムログを識別する番号に分けて
保存する事が出来ます。
>
Cisco製のルータやスイッチのログのファシリティは、デフォルトで <font color="Red">Local 7</font>になります。

##### ■ 1-1-3.システムログのレベル
システムログにはレベルがあり、重大度の値が小さいほど優先度（重要）が高いログになります。
各レベルの数値と意味は下記の表の通りです（シスコデバイスでのSyslogのプライオリティ）
<img width="700" alt="ファイル名" src="https://i.gyazo.com/b7c8d1ab08959c19a62fc7f58a7aa943.png">
>
ログの出力時にレベルの値を指定すると、その数値以下のより優先度の高いレベルの
ログだけが出力されます。

<br>
#### 1-2.システムログの設定
##### ■ 1-2-1.システムログの出力先の設定（コンソールライン）
コンソールラインでは、デフォルトでログが出力されるので設定は必要ありませんが、
システムログのレベルは、デフォルトで 7に設定されていますので、これを変更する際には、
<b>グローバルコンフィギュレーションモード</b>で次の <font color="Red"><b>logging console コマンド</b></font>を実行します。

```
(config）# logging console <レベル>
```
>
＜レベル＞には、システムログのレベルの重大度の数値か、 alertsなどのキーワードで指定します。

##### ■ 1-2-2.システムログの出力先の設定（仮想ターミナルライン）
仮想ターミナル上には、デフォルトではシステムログが出力されません。
システムログを出力させるには、先ず<b>特権EXECモード</b>で次の <font color="Red"><b>terminal monitor コマンド</b></font>を実行します。

```
# terminal monitor
```
>
システムログの出力を停止する場合は、<font color="Red">terminal no monitor コマンド</font>を実行します。
また、リモートログインがセッションが続いている間だけ有効なので、一度ログオフするとコマンドは無効になります。

また、仮想ターミナルにおいて、システムログのレベルの変更をするには、
<b>グローバルコンフィギュレーションモード</b>で次の <font color="Red"><b>logging monitor コマンド</b></font>を実行します。

```
(config）# logging monitor < レベル >
```
>
＜レベル＞には、システムログのレベルの重大度の数値か、 alertsなどのキーワードで指定します。

##### ■ 1-2-3.システムログの出力先の設定（ルータやスイッチのRAM）
ルータやスイッチのRAMにシステムログを保存するには、先ず保存するログの
バッファサイズを指定します。サイズを指定するには、
<b>グローバルコンフィギュレーションモード</b>で次の <font color="Red"><b>logging buffered コマンド</b></font>を実行します。

```
(config）# logging buffered < サイズ >
```
>
＜サイズ＞は、バイト単位で指定します。
デフォルト値では 4096 なのでそれ以上の値を設定します。少し値が大きいのですが、
Cisco推奨値は 512000 です。

続いて、出力するシステムログのレベルの変更をするには、
<b>グローバルコンフィギュレーションモード</b>で次の <font color="Red"><b>logging buffered コマンド</b></font>を実行します。

```
(config）# logging buffered < レベル >
```
>
＜レベル＞には、システムログのレベルの重大度の数値か、 alertsなどのキーワードで指定します。


##### ■ 1-2-4.システムログの出力先の設定（Syslogサーバ）
Syslogサーバにログを保存するには、サーバを指定する必要があります。
サーバを指定するには、<b>グローバルコンフィギュレーションモード</b>で次の <font color="Red"><b>logging host コマンド</b></font>
を実行します。

```
(config）# logging host < ホスト名 / IPアドレス >
```
>
＜ホスト名 / IPアドレス＞には、サーバのIPアドレスまたはホスト名を指定します。

##### ■ 1-2-5.システムログ、デバックメッセージのシーケンス番号の設定
スシテムログ及びデバックで表示されるメッセージにシーケンス番号を付加する事で、
ログ表示やデバック表示の形式を変更する事は出来ます。
シーケンス番号を付加するには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>service sequence-number コマンド</b></font>を実行します。

```
(config）# service sequence-numbers
```
>
このコマンドが実行されている時にのみ表示されるので、デフォルトでは表示されません。


##### ■ 1-2-6.システムログ、デバックメッセージのタイムスタンプの設定/変更
※ タイムスタンプとは、ログやデバックが表示される際に先頭に表示される時間表記の事です。

タイムスタンプを変更するには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>service timestamp コマンド</b></font>を実行します。

```
(config）# service timestamp < debug | log > <[ datetime ] [ localtime ] [ msec ] 
　　　　　[ show-timezone ] [ year ] | [ uptime ] >
```
>
＜debug | log＞は、ログかデバックのどちらのタイムスタンプを変更するのかを選択する。
[ datetime ]を選択すると、「月/日/時/分/秒」の順番で表示される。
[ localtime ]を選択すると、機器本体のローカルタイムゾーンの時刻を表示する。
[ msec ]を選択すると、ミリ秒単位まで表示される。
[ show-timezone ]を選択すると、登録されているタイムゾーン名が表示される。
[ year ]を選択すると、年が表示される。
[ uptime ]を選択すると、装置を起動してからの経過時間が出力されます。



##### ■1-2-7.システムログの確認
コンソールラインや仮想ターミナルラインでは、画面に出力されるシステムログを確認します。
ルータやスイッチのRAMに保存している場合は、<b>特権EXECモード</b>で次の <font color="Red"><b>show logging コマンド</b></font>
を実行します。

```
# show logging
```

show logging コマンドの実行結果を確認していきます。
<img width="700" alt="ファイル名" src="https://i.gyazo.com/3bbd87d61e372211733ec4f0b729d897.png">
>
Console logging: コンソール接続時に出力するシステムログのレベル及び表示したメッセージ数が表示
Monitor logging: VTY接続時に出力するシステムログのレベル及び表示したメッセージ数が表示
Buffer logging: RAMに保存するシステムログのレベル及び表示したメッセージ数が表示
Exception Logging: 保存する領域のサイズが示されます。


<br>
2.NPT
-
#### 2-1.NTPの概要
NTP（Network Time Protocol）は、正しい時刻からのずれをなくす為に、時刻同期サーバ（<font color="Red">UTC※1</font>）と
定期的に時刻の同期をとる為のプロトコルです。

NTPにより時刻同期を行う事で、指定時間に正しくサービスを動作させたり、出力ログを
正しく管理出来たり、障害発生時の正しい時刻を把握したりする事が出来ます。
>
※1 協定世界時という世界共通の標準時を把握している時刻サーバ

NTPは、NTPサーバにアクセスする際、UDPポート番号の <font color="Red">123番</font>を使用するプロトコルです。
<img width="500" alt="ファイル名" src="https://i.gyazo.com/b3ec608df4d33d4c9744a79194524eb9.png">

##### ■ 2-1-1.NTPの階層構造
NTPは、<font color="Red"><b>stratum（ストラタム）</b></font>と呼ばれる階層構造を持っており、最上位のNTPサーバが
原子時計やGPSの正確な時刻源から正しい時刻情報を得て、下位のNTPサーバはそれを参照して
時刻同期を行っていきます。
このような階層構造にするのは、全てのネットワーク機器が最上位のNTPサーバに同期を
取りにいってしまうと、負荷が掛かり過ぎてNPTサーバがダウンしてしまう可能性がある為です。
そこで、最上位のNTPサーバから時刻を同期する下位のNPTサーバを構築して負荷の分散を
行っています。
<img width="600" nalt="ファイル名" src="https://i.gyazo.com/a066fee78186183a93ecab188d88c2be.png">
下の階層に降りるに従って stratumの数値が増加していき、最大stratum 15までの
NPTサーバを構築していきます。なお、stratum 16には同期できません。

<br>
#### 2-2.NTPの設定
Cisco機器は、<font color="Green">NPTサーバとしてもNPTクライアントとしても動作させる</font>ことが出来ます。

##### ■ 2-2-1.NTPサーバとの同期の有効化
NPTクライアントとして、NPTサーバに対して時刻を要求するには、
<b>グローバルコンフィギュレーションモード</b>で次の <font color="Red"><b>npt server コマンド</b></font>を実行します。

```
(config）# npt server < IPアドレス > [< prefer >]
```
>
＜IPアドレス＞には、同期を取りたいNPTサーバのIPアドレスを指定します。
＜prefer＞の指定があると、複数のサーバがあった場合、 preferの指定があるサーバと優先的に同期します。

##### ■ 2-2-2.NTPサーバの有効化
NPTサーバとして動作させる為には、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>npt master コマンド</b></font>を実行します。

```
(config）# npt master [< stratum数 >]
```
>
＜stratum数＞には、1 ~15までが指定可能です。
省略すると、デフォルトである 8が設定さsれます。

##### ■ 2-2-3.NTP認証の設定
NPT認証を設定する事で、信頼出来るNPTサーバとNPTクライアントの間での時刻同期に
限定する事が出来る。NPT認証を行うには、NPTサーバとNPTクライアント双方で認証の有効化を行い、
共通の鍵番号と文字列を定義します。

STEP① 認証機能の有効化
NPT認証の有効化をするには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>ntp authenticate コマンド</b></font>を実行します。

```
(config）# ntp authenticate
```

STEP② 認証鍵の定義
認証鍵を定義するには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>ntp authentication-key コマンド</b></font>を実行します。

```
(config）# ntp authentication-key < 鍵番号 > md5 < 文字列 >
```
>
＜鍵番号＞には、任意の数値を指定する
＜文字列＞には、8字までの任意の文字列を指定します。

STEP③ 定義した鍵番号の指定
NPT認証で使用する鍵番号を指定するには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>ntp trusted-key コマンド</b></font>を実行します。

```
(config）# ntp trusted-key < 鍵番号 >
```
>
＜鍵番号＞には、ntp authentication-key コマンドで定義した鍵番号を指定します。

STEP④ 認証が必要なNTPサーバを指定（NTPクライアント側のみの設定）
NPT認証を行うには、同期をするNPTサーバを指定すると同時に、鍵番号を指定する必要が
あります。同期するNPTサーバに対して認証を行うには、
<b>グローバルコンフィギュレーションモード</b>で次の <font color="Red"><b>npt server コマンド</b></font>を実行します。

```
(config）# npt server < IPアドレス > key < 鍵番号 > [< prefer >]
```
>
＜IPアドレス＞には、同期を取りたいNPTサーバのIPアドレスを指定します。
＜鍵番号＞には、NPTサーバと共通の鍵番号を指定します。

NTP認証の設定例を下記の画像で確認します。
<img width="700" nalt="ファイル名" src="https://i.gyazo.com/373a6283a20d6b6c3880afe1c342e436.png">
npt server コマンドは、NPTクライアントのみが行うコマンド。

<br>
##### ■ 2-2-4.タイムゾーンの設定
タイムゾーンとは、同じ標準時間を使用する地域の事をいいます。
デフォルトでは、UTC基準になっているので、日本時間を表示させるにはタイムゾーンの
変更が必要があります。タイムゾーンを設定するには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>clock timezone コマンド</b></font>を実行します。

```
(config）# clock timezone < タイムゾーンの名称 > < 時差 >
```
>
日本の場合
＜タイムゾーンの名称＞は JST、＜時差＞は 9を指定します。

##### ■ 2-2-5ローカルルータ内の時間の確認
自身のルータ内の時間の確認をするには、<b>特権EXECモード</b>で
次の<font color="Red"><b>show clock コマンド</b></font>を実行します。

```
# show clock
```

<br>
#### 2-3.NTPの設定確認
##### ■ 2-3-1.NPTの設定の確認
NPTの設定の確認をするには、<b>特権EXECモード</b>で次の<font color="Red"><b>show npt status コマンド</b></font>を実行します。

```
# show npt status
```
このコマンドでは、NPTの stratumや同期しているかどうか、同期しているサーバなどが
確認出来ます。

##### ■ 2-3-2.NPTの時刻同期の確認
NPTの時刻同期の状態を確認するには、<b>特権EXECモード</b>で次の<font color="Red"><b>show npt association コマンド</b></font>を
実行します。

```
# show npt association
```

show npt association コマンドの実行結果とその説明をしていきます。
<img width="600" alt="ファイル名" src="https://i.gyazo.com/73db4b236d9d7260600660f33dab4a65.png">
<img width="700" alt="ファイル名" src="https://i.gyazo.com/553a1cd25bf66c922837856242c9a14e.png">
注目すべきなのは、①です。
同期がされているサーバには、 「*」 が付きます。
また、②の所で「.LOCl.」と表示されていれば、ルータ自身の内部時計を表します。

<br>
## 関連投稿記事
[デバイスの管理【CDP / LLDP】](https://qiita.com/k-yasuhiro/items/82689fb98f5073d3730f)