fc2ブログ
S野さん:「じゃあ、最初から順番に考えてみますか。 HostAからのpingパケットの動きを」
柏木:「えーと、それはRouterAに行きますよね?」
N村さん:「デフォルト・ゲートウェイに指定してるから、当然そうです。 それから?」
柏木:「RouterBへ・・・ルーティング・テーブルにもとづいて」
N村さん:「そのルーティング・テーブルの現状はというと」

01_RouterA_ルーティング・テーブル [RouterA_ルーティング・テーブル]

N村さん:「何も設定を入れてないので、ルーターは直接接続の「192.168.1.0/24」「192.168.2.0/24」のネットワークしか知りません。 ここに、HostB宛てのパケットが来たら?」
柏木:「ルーティング・テーブルに、『192.168.3.0ネットワーク』は無い・・宛て先到達不能Destination unreachableですか」
N村さん:「RouterBのe0ポート宛てなら?」
柏木:「それも『192.168.3.0ネットワーク』だから、同じく到達不能
N村さん:「つまり、RouterAに『192.168.3.0/24』宛てのルーティングを入れなければ、パケットがHostBまで届くはずがないんです」
02_ping_宛て先到達不能 [ping_宛先到達不能]

なるほど、こうして聞くと当たり前のことですねぇ。
・・・すると、なんでRouterBのs1ポート宛てがNGになるんでしょう?
直結の『192.168.2.0/30』なら、ルーティング・テーブルにあるのに・・。

S野さん:「とりあえず、スタティックで入れますねー」
03_RouterA_ルーティング追加 [RouterA_ルーティング追加]

S野さん:「RouterAからHostBは通りましたよ」

柏木:「あの、なんでさっきは、RouterBのs1宛てがNGになったんですか?」
N村さん:「今もNGですよ。 やってみてください」

04_RouterB_s1宛_NG [RouterB_s1宛_NG]

ほんとだ。なぜ???

S野さん:「まあ、順番に行きましょう。 RouterAまで来たパケットは、ルーティング・テーブルに従ってs0ポートから送出される、と」
柏木:「RouterBに着いたら、同じようにRouterBのルーティング・テーブルに従って、HostB宛てに送られます・・で、到着」
N村さん:「そうすると、HostBはエコー・リプライを返します」
柏木:「?」
N村さん:「エラー・メッセージの"echo reply"。 柏木さん、『3分間ネットワーク』は知ってますか?」
柏木:「あー、聞いたことある。 有名なんですよね」
N村さん:「解りやすくてオススメです。 えー簡単に言うと、こちらからエコー要求ICMPパケットを送って、受信側がエラー・メッセージを返すのが、pingの仕組みです。 種類がたくさんある中で、エコー・リプライ・メッセージが戻れば、pingはOKということになります」

むむ、すこし見えてきたかも。

N村さん:「今、HostBからのエラー・メッセージは、デフォゲのRouterBまでは戻って来ますが、ルーティングを入れていないので、そこから進めません。 パケット廃棄され、Pingはそのまま時間切れになってしまいます」
05_エコー・リプライ_時間切れ [エコー・リプライ_時間切れ]

わかりました。
さっきと同じで、RouterBは直接接続ではない「192.168.1.0ネットワーク」を知らないので、「192.168.1.1」宛てのエラー・メッセージ・パケットを、HostA向けに送れないんですね。

N村さん:「RouterBのs1宛てがNGなのも、同じ理由です。」
柏木:「『192.168.2.2』には到達してるんだけど、エラー・メッセージが戻ってこなくて時間切れ。 それで表示が"Requested timed out"だったんですね」

S野さん:「RouterBにルーティング入れますよー」

06_RouerB_ルーティグ・テーブル      07_RouterB_ルーティング追加
[RouerB_ルーティグ・テーブル]             [RouterB_ルーティング追加]

S野さん:「RouterBからHostAも通りましたよ」
N村さん:「これで、往復の経路が確立しました。 柏木さん、疎通確認をしてみてください」

では、真打ち登場ということで(ウソです)、わたくしめが。

[RouterB_s1宛_OK]                  [HostB宛_OK]
08_RouterB_s1宛_OK      09_HostB宛_OK


ようやくpart5:end-to-endの疎通確認が終了です。
な、長かった・・・。
もう、今日の仕事は終わりかな・・・。

スポンサーサイト



残るは作業手順part5、疎通確認だけです。

UB川さん:「柏木くん、帰るよ」
柏木:「え? ああ、もうこんな時間」

時計を見るともう5時半近く。集中していて、気づきませんでした。

O塩さん:「がんばってるねー。残業?」
柏木:「え、いえ。。。 もう終わります」
S野さん:「お、最後の疎通ですか。 ほとんど一人でやっちゃいましたね。 出る幕ありませんでしたよ」

ふふ。自尊心をくすぐられます。
帰り支度を済ませた皆さんが見守る中、HostAからHostBへpingを打ちます。

柏木:「はい、終わり!」
N村さん:「・・柏木さん、これNGです」
柏木:「へっ?」
N村さん:「"Reply from ~"が一見OKに見えますが。 "Destination host unreachable"なので、宛て先到達不能です」

01_HostA-HostB [HostA-HostB]

柏木:「あれ、なぜ?どうして? ・・・どうしましょう?」
UB川さん:「・・今日はもう帰りましょうかね」
柏木:「・・はい

得意げにしていた自分が恥ずかしい・・


-翌日-
pingがHostAからどこまで届いているのか。まずそれを調べてみることにしました。

HostB側からひとつずつさかのぼり、「RouterBのe1ポート→RouterBのs1→RouterAのs1→RouterAのe1」の順番で、pingを飛ばします。

[HostA-RouterB]                   [HostA-RouterA]
02_HostA-RouterB      03_HostA-RouterA


結果はこんなふうになりました。
04_構成図+疎通結果 [構成図+疎通結果]
なるほど、結局RouterAまではOKで、そこから先に行ってないんですね。

S野さん:「どうですか?」
柏木:「うーん、RouterAまでは行くんですけど、RouterBに届かないんです」
N村さん:「昨日思ったんですが、柏木さん、ルーティング入れました?」

そんなものもありましたね・・。 確かに何も設定してません。 でも、
柏木:「HostAはRouterAとつながってて、RouterAはRouterBとつながってますよね? このままでも、RouterBまで届くんじゃないですか?」
N村さん:「届いてるんじゃないですか」
??? どーゆーこと?

2008.08.20 DCEとDTE
さあ、Part3。これはPart1とほとんど同じなので、かんたんです
よって省略

問題のPart4、これは少しだけやっかいなんです。
Ciscoルーターは通常"DTE"(データ端末装置)として動作しますが、
ルーター同士をシリアル接続する場合、片方を"DCE"(DTEをWAN回線に接続するための装置)
にしなくてはなりません。

よくわからないのは、2台のうちどっちをDCEにするのかってこと。
好きなほうを選んで、コマンドで設定するんだろうな、くらいに思っていたのですが、
ぜんぜん違いました。
バック・ツー・バック・ケーブルには、向きがあるんですね。 ケーブル自体に印刷されていました。

01_Back to Backケーブル    01-02_Back to Backケーブル:DTE側
[Back to Backケーブル:DCE側]        [Back to Backケーブル:DTE側]

では、DCE側をRouterAのSerial0ポートに接続します。 そして"show controllers"コマンドで確認
02_show controllers [show controllers]

うん、DCEで間違いなし。

IPアドレスを設定して、と・・あれれ、エラーです。
03_Bad mask [Bad mask]

え~とこれは、/30のサブネットマスクが拒否されているのかな? どうしよう・・先生!?
え・・"ip sub"でTABキー?
04_ip subnet-zero [ip subnet-zero]
うまくいった。 何で?

インターネットで調べると、こーゆーことでした。
「192.168.2.1/30」を2進数で表すと、
---------------------------------------------------------------
   (本来の)ネットワーク部 ←|→ (本来の)ホスト部
11000000 . 10101000 . 00000010 | 000000 | 01
                       サブネット化  ホスト
---------------------------------------------------------------
となります。
サブネット化した6ビットが全部「0」です。 これが"ゼロ・サブネット"で、昔は利用不可だったそうです。
"ip subnet-zero"は、ゼロ・サブネットを使えるようにするコマンドで、
IOS12.0以降は、最初から設定されているとか。 12.0・・これ10.2だしね・・。

いやいや感慨(悲しみ?)に浸っているヒマはない。
ポートの閉塞解除は"no shutdown"。  ここまでを、RouterAとRouterBの両方で設定します。

さてこのとき、インターフェースの状態を見ると、"line protocol is down"となっています。
黒本によると、「物理層は動作しているが、データリンク層のKeepaliveがない状態」だそうです。
05_show interface_1 [show interface_1]

ではDCE側のRouterAに、クロックレートの設定を入れます。
コマンドは、"clock rate "で、数値の単位がbitになるのがポイントです。
とくに理由はないのですが、64kbitに設定します。

30秒くらいしたら、lineupになったとかいうメッセージがぴょこっと出ました。
コマンドで確認すると、確かに"line protocol is up"になっています。
06_clock rate~show interface_2 [clock rate~show interface_2]
PingもOK、ふふ、いい感じです。 今のあたし、ちょっとエンジニアっぽくないですか?

さあ、次はいよいよend-to-endの疎通確認です。

じゃあ、どこから手をつけようかなぁ。S野さんならどうします?

S野さん:「そうですねー、4段階に分けて進めるかなぁ。 あ、IOSのバックアップがあるから、5段階か」

構成図 [構成図]
5段階とは、
Part1:HostA-RouterA間の通信確立
Part2:HostAにTFTPサーバソフトを入れて、RouterAのIOSをバックアップ
Part3:HostB-RouterB間の通信確立
Part4:RouterA-RouterB間の通信確立
Part5:end-to-endの疎通確認
とのこと。

ではまずPart1。HostAのIPアドレスを設定します。これは私でもお茶の子さいさい。
対抗側、RouterAのeth0にはIPアドレスを設定済だから、もう通信できるはず。HostAからPingを飛ばしてみます。 うん、OKです。
01_HostA-RouterA間_Ping [HostA-RouterA間_Ping]

Part2、TFTPサーバを作ります。
Vectorで無料ソフトを調べたら、「TFTPサーバプログラム TFTPD」というのが見つかりました。
ダウンロードしたzipファイルを解凍すると、「TFTPD」というフォルダが出来ました。
02_TFTPDフォルダ [TFTPDフォルダ]

exeファイルをダブルクリックすると・・・何も起きないかと思いきや、画面の右下に見慣れないアイコンが。
アイコン [アイコン]

アイコンを右クリックして設定画面を開きます。
アクセスパスをデスクトップからTFTPDフォルダに変更した以外は、なにも手を加えずともよさそうです。
設定画面 [設定画面]

では、RouterAに戻って、IOSのバックアップを始めましょう。
HostAとの疎通はすでにOK、PCのドライブ容量は十分あるはず。

コマンドは、"copy flash tftp"です。
copy先、つまりHostAのIPアドレスとファイル名を指定し、"y"でcopyスタート。
copy flash tftp [copy flash tftp]

終わったかな?
TFTPサーバフォルダを見ると、ちゃんとIOSファイルがあります。 おや、サイズが微妙に違うような?
バックアップ成功? [バックアップ成功?]

でも大丈夫。プロパティで見たら、copy元ファイルと同じ3276816バイトでした。
ファイルサイズ [IOSファイルのプロパティ]

これでほんとにバックアップ成功です!
2008.08.08 コマンド発見
それからN&Sの2人がいろいろ調べてたどり着いた結論
     「 I O S が 古 す ぎ る 」
[show version]
show version

N村さん:「最新がVersion12.4だから、確かに10.2はかなり古いです。それにしても、"sh run"が無いというのは(苦笑)」
S野さん:「"Copyright (c) 1986-1995"からすると、どうやら20年前のソフトなんじゃないかと・・・」
UB川さん:「古い・・メチャクチャ古い・・(笑) コマンド無いって、ぜんぜんダメじゃん(笑) 使えねー。ウハ、ウハハ(大笑)

笑ってる場合ですか。 ほら、O塩さんがっくりきてます。

O塩さん:「そ、そっかー。じゃあなに、ぜんぜん使い物にならない?」
S野さん:「、あ~、どうなんでしょう・・
UB川さん:「・・まぁ、とりあえず一息入れてから考えますか」
柏木:「あ、お茶いれましょうか?」

先月、寿退社されたKB田さんの差し入れスウィーツをいただいて、ほっと一息。
[デザート] sweets KB田さん、ごちそうさまでした

元気を取り戻したところで、それぞれ担当を決め、次の作業に取り掛かります
O塩さんとUB川さんは外出のついでに本屋で参考資料探し.
  N村さんとT木くん(準新人:ぴちぴちの19才)はインターネットで情報収集
    S野さんとわたしは引き続きルーター担当です

まずは"show"コマンドの一覧を調べてみます
S野さん:「(カチャカチャ) あ、これかな?見つけた!
show configuration [show configuration]

S野さん:「NVRAMには何も入っていない・・startup-configはないってことですね」
Webチームからも、

N村さん:「Ping-tの『Ciscoコマンド集 Wiki』に、昔の"sh run"コマンドが載っていました」
早速、その"write terminal"を試してみると・・
write terminal [write terminalとethernet0ポート]

確かに、先ほどS野さんが設定した、ethernet0ポートのIPアドレスが表示されています。
これは、"show running-config"に間違いないようですね!

さらに『Ciscoコマンド集 Wiki』によれば、"write"コマンドはIOS 10.0以降でサポートしており、"write"もしくは"write memory"が、"copy running-config startup-config"と同じなんだそうです。

N村さん:「TFTPサーバにバックアップもできますね。疎通確認の次は、IOSのバックアップをとりましょう」

ああ、よかった。
O塩さんとUB川さんは収穫がなかったようですが、雰囲気は一気に明るくなりました。
よーし、この調子で残りも設定しちゃいましょう!
UB川さん:「おおー、動いたねえー」
N村さん:「パスワードも、ちゃんと消してありましたね。 つぎ、"sh run"打ってみましょう」

ショーラン? ああ、"show running-config"。  えっと(黒本を見つつ)、まず特権モードになる・・と。
"en"まで入力して、あとはTABキーのコマンド補完で"enable"に。 よし、enter!

続いて、"sh"+TABキー、"run"+ TABキーで、"show running-config"に・・・ならないよ?
何度TABキーを押しても、コマンドは補完されず、"show run"のまま、繰り返しです。

柏木:「先生方。 これは?」
S野さん:「おっかしーなー。 じゃあ、手入力で」
柏木:「なんかエラー・メッセージが出ましたよ。 "Invalid input・・なんとかかんとか"って(英語読めませ~ん)」
sh run [show running-configのエラー]

S野さん:「綴りは間違ってないし・・ちょっといいですか?」
N村さん:「いやな予感がする・・」

席を替わったS野さんは、"show running-config"を後ろから消していき、"show r"まで来ると、"?"と入力しました
N&S「えぇっ!?」
ヘルプ [show r?]

O塩さん/UB川さん/柏木:「なになに? どうしたの?」
N村さん:「コマンドが・・ない・・(ぼーぜん)」
UB川さん:「ない? ないってどーゆーこと? (それって何かまずいの?)」
O塩さん:「えっ、壊れてるの? (1000円もしたのに!)」
S野さん:「いや、まだそうとは・・ (でも1000円だけに?)」

も、もしかして、不良品をつかまされたのでしょーか
(届いたルーターにケーブル類を取付けましたが、ポートが3つ余ってます)

N村さん:「同じです。3つともRJ-45ですから」
S野さん:「大事なのはCONSOLEポート。AUXは補助ポートでBRIはISDN用だから、まあ僕たちが使うことはないでしょーね」

たしか、PCのCOMポートと、ロールオーバー・ケーブルで接続するんだっけ。

    [ロールオーバーケーブル] コンソールケーブル

ISDNっていまどき使うのかな? それはいいとして、補助ポートって?
S野さん:「う、そこは突っ込まないでください。あんま知らないっす

・・・声、小さくなってる。 ま、いいです。 とりあえずロールオーバー・ケーブルをつなぎましょう。

                              [PC側]
コンソールポート     シリアルポート
[ルーター側]

柏木:「次は?」
S野さん:「PCつないで構成組んで、end-to-endの疎通を確認しましょっか」
N村さん:「構成図を作ったほうがいいですね。簡単なのでいいから」

構成図? ・・・また次から次へと注文が多いなあ。
こんな感じですか?    [構成図]
               構成図

アイコンはシスコのサイト「http://www.cisco.com/web/about/ac50/ac47/2.html」からダウンロードしました。
では、構成図を見ながら。

柏木:「PCとルーターをクロスケーブルでつないで、と」
S野さん:「じゃ、ルーターの初期設定お願いします。Hostの設定はこちらでやりますから」

PCでターミナルソフト"TeraTerm"を開き、COMポート1で接続します。そうそう、シリアル接続の設定もしなきゃ。
[COM1で接続]                   [シリアルポートの設定]
TeraTerm    シリアル設定

いよいよ、ルーターの電源スイッチオーン! あー、なんかずらずら文字が出てきた・・・止まった。
[初期画面①]
初期画面1  えーと、『Would you like to enter the initial configuration
                          dialog? [yes]:』?
                          ここで"yes"だとセットアップモードになっちゃうから、"n"っと。
                          『Press RETURN to get started!』 ね。じゃ、enter・・あれ?

インターフェースがダウンしたとかのメッセージが出て・・・
あれ、止まった。えい、えい、(enter連打!)    [初期画面②]
来た! この「Router>」が、"プロンプト"ですね!  初期画面2

数日後、Cisco2503が2台、会社に届きました。

早速箱から出してみます。
どれどれ、・・・ん、一度に2つは持てないかも。S野さん、見てないで手伝ってください。
あ、ヤフオクの写真は裏側だったんですね。正面はなんにもないんだ。

[正面写真]                        [背面写真]
Cisco2503_正面      Cisco2503_背面

UB川さん:「さすがに汚いねえ(笑)。こっちなんか天板に大きなキズがあるし」
O塩さん:「値段が値段だから」
全員:「確かに・・(苦笑)」

大きさは、だいたい幅45cm、奥行25cm、高さが4cmくらい。思ったより小さいです。
では、早速ケーブル類を取付けてみます。

[ケーブルなど]
付属品

え~と、電源は右はしか。1本アースをとっているから3芯なんですよね。
でも黒いケーブルは反対側のコンセントも3芯なのに、白いのは普通の2芯コンセントですよ?

[電源ケーブル(黒)]                   [電源ケーブル(白)]
電源ケーブル①      電源ケーブル②

O塩さん:「白いのはソ○マップで100円だっけな。大丈夫、動くよ」
柏木:「はぁ。この深緑色のケーブルはなんですか?」
N村さん:「バック・ツー・バックケーブルです。シリアルポート同士をつなぐのに使います」
S野さん:「とりあえず、こっちのSerial0とそっちのSerial1を」

[シリアル接続]
シリアル接続口   はい、取り付けましたよ

例のMAUは、口の形からして"AUI"ですね?    [AUIとMAU]                           残るは3ポートですか・・・                 MAU接続口

[残りの3ポート]
RJ-45ポート     AUX"と"CONSOLE"と""BRI"か。
                              口の形はよく見るLANケーブルと同じような・・・?
                              (次回へ続く)