CCIE勉強Tips1:DHCPのTshoot時に有効なコマンド!

YUKA863_goanai15201954-thumb-1000xauto-18747

当カテゴリのポストは、独自の勉強で既にCCIE Blueprintをそれなりに網羅している事が前提の説明が多々含まれています。分からない用語等が出てきた場合は、Workbook等を勉強して戻ってきてください。

DHCP。。。CCIE勉強中の皆さんは好きですか?

私は大嫌いです!!

そもそもBlueprintの中のSystem Management自体が嫌いなんですよ。ネットワークのテクノロジーを学ぶのは楽しいんですけど、Cisco機器のフィーチャーなんて勉強してもなにも面白くない。IP ServicesとSystem Managementは私がCCIEの勉強をしている時に一番モチベーションを下げる要因でした。

その中でもDHCP周りは私が最も嫌いな設定のうちの一つでした。だって無駄に複雑じゃないですか、特にOptionが多すぎる。。。こんなこと覚えても結局実世界ではルーターにDHCPサーバーを構築する環境なんて構築する事ないしね。

でも、Blueprintに載っているのでCCIEを取得する為には勉強するしかありません。そんな思いの方、いらっしゃいますよね?

当記事の結論:DHCPのTshootをするときは、まずはServer側で「debug ip dhcp server packet detail」をすること。

スポンサーリンク
レクタングル大

DHCPのTshootは特に難しい

DHCPがうまくいかない。そんな時、みなさんはどうやってTshootしていますか?DHCPはClientもServerもデバッグオプションが非常に多く、さらに設定も多岐に渡るので面倒くさいです。時間をかけたら解決出来る問題も、短時間で問題箇所を発見するのは至難の業ですよね。

そんなDHCPについて、私なりの問題切り分け方法を紹介します。

練習してみましょう

例えば以下の様な簡単なトポロジを例にしてみましょう

GNS3 Project - Blog_DHCP 2015-07-05 17-46-04

R2/R3の各インターフェースのIPは各セグメントの第4オクテットをRouter番号に置き換えてください。例えばR2のDHCP_Client側は192.168.1.2です。

DHCP_ClientがDHCPでIPを貰いたいとします。DHCP_Clientは以下の通り、既にDHCPでIPを取得する設定が出来ているとします。

ふむ、単純に「ip address dhcp」やっているだけですね。

では、interfaceを起動してDHCPからIPを取得出来るか確認してみましょう。

・・・取得出来ていませんね。まぁTshoot対策の為にわざと取得出来ない構成にしているからですけど(笑)。

こういう時、どのように対応しますか?

CCIEラボ試験は時間がありません。いくら沢山showコマンドを知っていても時間内に解決出来なければ意味がありません。最も短い時間で対応できる方法が正解です!

debug ip dhcp server packet detailを心のよりどころにする

DHCPは様々な設定箇所・デバッグオプションがあるので戸惑う事が多いですが

私は「debug ip dhcp server packet detail」をDHCPサーバーに対していきなりセットしちゃいます。

再度クライアント側のインターフェースを上げてみます

ダメですね(そりゃあそうだ)。R3側を見てみましょう。

何も画面が変わっていません。

この時点で、仮にR3にDHCP通信が来ていたら、少なくとも何らかのメッセージが表示されるはずです。メッセージが表示されないという事は、なんらかの理由でR3にDHCPリクエストが来ていないのです。QOSの設定がおかしかったり、ACL等でフィルタリングされていたり、IGPの設定でプレフィックスが届いていなかったり、色々理由は考えられますがDHCPとは関係ないL3の問題の可能性が高いので、しっかり切り分けましょう。

R2のリレー情報を見てみましょう。

今回はDHCP_Client側のインターフェースにrelay設定が出来ていませんね。これだとR3側にDHCP情報を流されません。設定しましょう。

再度クライアント側のインターフェースを起動します。

まだダメですね。R3側はどうでしょうか。

お!少なくともデバッグに表示がされましたね!これでDHCPサーバーまでのコネクティビティは大丈夫です。

この辺りまで来たらDHCPサーバーの設定を見てみます。

4行目を見てください。client-identifierを指定しています。これがクライアントが送信しているclient-identifierと違う可能性はありますね。

CCIEラボ試験のTshootは、仮に既に設定がされているものは、設定自体を消す訳ではなく出来るだけ設定内容を修正する方がよいと言われています。とすると、client-identifierを正しいものに直した方がよさそうです。

そうなると通常は「ええと、client-identifierは頭に01を・・・」とかなりますよね。「debug ip dhcp server packet detail」さえ覚えておけば、client-identifierの算出方法を覚える必要はありません。

上記の最後の行を見てください。「0063.6973.636f.2d63.6130.332e.3034.6661.2e30.3030.302d.4661.302f.30」がclient-identifierです。このメッセージさえ覚えておけば、client-identifierの法則を覚える必要はありませんね!

DHCP_Clientが送信しているclient-identifierをセットしてみましょう。

client-identifierが長過ぎるので書式が切れてしまっていますが、とりあえずセットしました。

クライアントのインターフェースを起動してみましょう。

おおお!きましたね!!参考までにR3側のデバッグは以下の通り表示されています。

DHCP応答を返していますね。

(ちなみに、R3は192.168.1.0/24プレフィックスをEIGRPで伝搬しておきました。そうしないと、R2へ応答を返せないはずです)

まとめ

とりあえずDHCPからみの問題が出た場合は、debug ip dhcp server packet detailをやってみてください。Tshootの場合は切り分けの短縮が期待出来ますし、Configセクションで「クライアント毎のプールを設定する事」みたいな課題が出たとしても、client-identifierを簡単に見つける事が出来るので非常に効果的です。

※お願い:いかがでしたか?参考になりましたか?出来ればコメントください。難易度に合わせて次回の投稿を準備するように努力します!

勉強を再会する方へ
スポンサーリンク
レクタングル大
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">