カテゴリー別アーカイブ: 基本要素技術

【CCIE Lab受験メモ9】Terminal Softの設定

Terminalソフトは使い始める前に必ず設定を見直しておくべきである。

業務であれば必ずそうするように、試験においても設定を確認しておくことは必須である。特にPasteの設定については確実に確認しておかなければならない。あせった時に癖で右クリックし、最悪の事態が訪れる可能性が非常に高いからである。

Terminalソフトは試験の開始に必ず確認し、避けられた事故を起こさないように気をつけたほうがよいだろう。
Puttyの設定において、最低限見ておかなければならないのは、以下の2つである。

・Sessionの設定
・Window⇒Selectionの設定

まず、Puttyの設定はウインドウ左上のアイコンから行う

WS000005

 

コンピュータのアイコンを左クリックすると、画像のとおりメニューが表示される。

表示されたメニューからChange Settingsを選択するとPuttyの設定を変更することができる。

WS000000

 

この設定で見ておくべきはsessionの設定である。
この設定がNever以外になっていると、コマンドラインでexitを打った時に、ウインドウが終了されて鬱陶しい。

 

WS000002

 

この設定がWindows以外になっていると非常に使いづらい。
特にCompromiseになっていると、右クリックでPasteしてしまうので、事故の原因となる。非常に危険である。
この二つ、特にWindow⇒selectionの設定を見ておけば、事故は防げるだろう。

あとは、個人的にPuttyは無駄にフォントが小さいので、その辺も修正しておきたいところだ。

 

WS000001

Window⇒AppearanceからFontのサイズを変更することができる。
12~14くらいにするのが好みだが、慣れてしまえば必須の変更箇所でもないだろう。
他にもPuttyのバージョンは複数取得し、それぞれに設定方法などを知っておくとよいだろう。

[`evernote` not found]
Pocket

Cisco IOSにおけるAliasコマンドの活用

あまり実際に使われているのを見かけないが、aliasコマンドでよく使うコマンドのショートカットを登録しておくと、作業が楽になる。

特に、検証環境などでルールを作成しておくと、長いコマンドをいちいち打つ手間が省け、作業を簡易化することができる。

aliasコマンドでコマンドショートカットを登録するには、

で行う。

たとえば、show ip route ospfをsiroという名前で登録したい場合は以下のとおりである。

 

このコマンド登録以降は、

 

あるいは

 

で同様の結果を表示することができる。

 

非常に長く、覚えにくいコマンドについては登録しておくことを推奨する。

 

このコマンドはstartup-configとrunning-configの差分を表示できるコマンドであるが、非常に長いため、憶え辛い。しかし、下記のようにalias化しておくと、sharcと打つだけで差分を表示できるようになる。

 

他にも、個人的に検証環境に必ず登録するaliasを紹介しておく。

alias コマンドライン
srb show run | beg
srinc show run | inc
sre show run | ex
srint show run interface
srs show run | section

aliasを登録しすぎると、今度はすべてのaliasを記憶するのが大変になるため、あまりお勧めできない。

私のお勧めとしては、show run系や、show ip route系など、ある一種類のshow系コマンドをalias化しておくのが覚えやすくてお勧めである。

勿論、すべて記憶できるのであれば、aliasによって作業は相当に高速化できるはずだ。

 

[`evernote` not found]
Pocket

Cisco IOS コマンドショートカット

Cisco機器を扱うスピードを上げるためには、IOSに予め用意されているショートカットコマンドの利用が欠かせない。

ショートカットコマンドは複数あるため、日常的に使うことを心がけ、手で覚えるくらいの感覚にしておいたほうがいいだろう。
特に赤文字にしているものは実用性が高く、設定スピードがかなり高まるため、考えずに使いこなせるようになったほうがよい。

ショートカット 内容
CTRL +A カーソルがコマンドラインの先頭に移動
CTRL +C 入力したコマンドラインを削除(改行)
CTRL +D カーソル位置の文字を削除
CTRL +E カーソルがコマンドラインの最後尾に移動
CTRL +I Tabと同様の効果
CTRL +K カーソル位置から最後尾までのすべての文字を削除
CTRL +L コマンドラインをリフレッシュする
CTRL +R コマンドラインをリフレッシュする
CTRL +W 直前のスペースまでの単語を削除する
CTRL +X 入力したコマンドラインを削除
CTRL +Y CTRL+K、あるいはCTRL+Wで削除された単語をペーストする

 

赤字の物はすべてキーボードのホームポジションに置いた場合、左手のみで入力することができる。

特にぜったい覚えておくべきなのはCTRL+A、CTRL+Wの二つである。
現場では、コマンド入力間違いでBackspaceを連打する姿をよく目撃する。CTRL+Wを知っておけば、タイプミスのあった単語ごと削除することができるため、非常に利便性が高い。

CTRL+Aでコマンドの先頭に戻ることができる。仮に投入したあとに誤りに気づいたコマンドがあるとすれば、ヒストリーからそのコマンドを呼び出し、CTRL+Aでカーソルを頭に移動させ、NOを追加して簡単に削除することができる。

キーボードでnoと打ってから、実際のコマンドをコピー&ペーストする姿をよく見かけるが、CTRL+Aの使い方をマスターすると、コピーペーストの作業が正気の沙汰ではないように思えてくる。

 

コマンド入力のスピードが速まれば、全体的な仕事のスピードは大幅に速まる。

一週間ほどターミナルソフトのログ機能などを使って、自分がタイプしたコマンドのタイプミスぶりを確認するとより時間の無駄がわかる。

そのタイプミスの回数*文字数分のBackspaceを連打していると考えれば、自分がいかに不毛な時間をすごしてきたか知ることができる。

仕事の時間を速めれば、その価値を単価に変えて顧客に訴求することができる。

[`evernote` not found]
Pocket

Cisco IOSにおけるshowコマンドの活用

Ciscoルータにおいてshowコマンドを適切に使用することは、作業の短縮化、効率化に大きく影響する。

showコマンドは|(pipe)を使用することにより、必要な箇所を抜き出して表示させることができる。redirect系のオプションを除き、一般的に使用されるのは以下の4オプションである。

option 内容
| include include以後に記載した文字列が含まれる行を返す
| exclude exclude以後に記載した文字列が含まれない行を返す
| begin begin以後に記載した文字列から始まる行以下の行をすべて返す
| section section以後に記載した文字列に関連するsectionを返す

これらのオプションの使い方をshow running-configで記述すると以下のとおりとなる。

 

このコマンドを打つと、running-config上で、interfaceという文字列を含む行のみが返される。当然include等のオプションも他のコマンドと同様に省略記載が可能となっている。

上記のコマンドを最大限省略すると以下のとおりとなる。

 

 

Pipe以後の文字列には正規表現を使うことができる。

このコマンドを打った場合、

 

以下のようなConfigが返されることになるが、

 

以下のように、開始を表す^を文字列の前に付加すると、

 

返されるConfigは以下のみとなる。

 

この場合、ip route x.x.x.x x.x.x.x x.x.x.xはrouteから開始されるConfigではないため、除外されたのである。

 

includeオプションは、明らかに含まれている文字列を探すのに便利である。

たとえばshow interfaceでHalf-Duplexのinterfaceが含まれていないことの確認を一瞬で行うことができる。

 

仮にHalf-duplexのinterfaceが含まれていたら、アウトプットが返されるであろう。

 

excludeオプションは、アウトプットからmajorityを排除したいときに便利である。

たとえばshow ip routeでconnectedの情報が不要である場合にconnected情報をはずして見ることができる。

 

大文字Cをexcludeしてもよいが、connectedが確実である。

 

beginオプションは、sh run 全体などをある地点から見たい時に使用することができる。個人的にはこのオプションは視認性が低いため使用しない。

Configurationの全体像を頭の中に入れて、確実にinclude, excludeでアウトプットを絞るほうが、確実に作業は速くなるだろう。ただし、SwitchなどのOSバージョンによってはSectionオプションが採用されていないため、使わざるを得ない場合がある。他人がbeginオプションを多用しているのを見て、少しイライラするようになり始めたら、showコマンドの熟達者と言えるだろう。

 

sectionオプションは、includeオプションと同様に非常に多用する。このオプションはeigrpに関する設定を見たい時などに非常に便利である。

 

このコマンドでeigrpに関連する設定はすべて表示される。

 

たとえばinterfaceなどにip bandwidth-percent eigrpの設定が入っている時などでも、表示してくれるため、便利である。

includeオプションとの違いは、eigrpのrouter configurationセクションも表示してくれるところにある。

 

以下のコマンドの場合、

 

アウトプットは以下のようになる。

 

対して、以下のコマンドでは、

 

アウトプットは以下のような形となる。

 

このコマンドにより、アウトプットをかなり便利に活用することができるだろう。

 

他にもPipeを複数使用し、OR形式でアウトプットを表示することができる。

ただし、Pipeを多用しすぎると条件が複雑になり、showコマンドで必要なアウトプットを得られない可能性があるため、複数の使用はお勧めしない。

[`evernote` not found]
Pocket

Valiable Length Subnet Masking(VLSM)

Networkにおける基盤的なコンセプトがSubnettingである。Subnettingとは、大きなSubnetを複数の小さいSubnetに分割することである。
Variable Length Subnet Masking(VLSM)により、Subnetは様々な種類の長さに変更することができる。

 

たとえば、/24は二つの/25ネットワークに分割でき、4つの/26ネットワークに分割でき、8つの/27ネットワークに分割できる。

VLSMはClassless NetworkingおよびClassless InterDomain Routing(CIDR)と混同される。VLSMとClassless Networking, CIDRは関連があるが、異なったIP Addressingコンセプトを元にしている。

Classless NetworkingはClass A, Class B, Class C, Class Dのネットワークの縛りから実際のIPアドレスを解放することである。Classless Networkでは、10.x.x.xのサブネットは/8である必要がない。

CIDRはSubnetを一つのグループにまとめる方式のことである。CIDRにより、連続したサブネットをそれぞれ個別に管理する必要なく、参照することができる。たとえば、192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24を192.168.0.0/22で表現できるということである。
CIDRは大きなNetworkでは非常に効果的で、Routing TableのサイズやAccess Listの行数の削減に役立つ。

[`evernote` not found]
Pocket

ClassfulとClassless

クラスフル・ルーティングプロトコルは、主に以下の技術で使用される。
– レガシー技術
– ルーティングアップデートにサブネット情報を含まないもの
例:RIPv1、IGRP

 

サブネットマスク情報がルーティングアップデートに含まれないため、サブネットマスクはネットワーク内で統一される。
また、クラスフルのネットワークを越えるときに、自動集約を行う。

 

BGPとEIGRPはクラスフル・ルーティングプロトコルではないが、デフォルトでクラスフルに自動集約を行う。その動作は、no auto-summaryコマンドでdisableすることができる。

 

クラスフル・ルーティングプロトコルは固定長サブネットマスク(FLSM)を採用する。FLSMはアドレスの使用を非効率的にし、ネットワーク全体で見た場合に、効率化の妨げとなる。

 

デフォルトで、クラスフル・ルーティングプロトコルは、メジャークラスフルネットワークの境界上で、不明なサブネットのトラフィックを破棄する。

たとえば、クラスフル・ルーティングプロトコルがルーティングテーブル上に10.4.0.0と10.8.0.0のみを保持していたとする。
その状態で10.16.0.0宛のパケットを受信した場合、デフォルトルートが存在したとしてもそのトラフィックは破棄される。

 

ip classlessコマンドでこの破棄する動きを止めることが可能となる。ip classlessコマンドにより、上記のケースの場合、default routeを使うことができるようになる。

[`evernote` not found]
Pocket