2014年10月12日

Firefly(vSRX) + windows7 + qemu + gns3(ver.0.8.6)

Juniper製品を扱う際に、最も多く登場するのはSSGシリーズであることは明確で
SSGシリーズのEOSLがアナウンスされている今、次世代のSRXシリーズを学習しておくのは
絶対に有益であると信じている。
CiscoのISRでセキュリティ実装はある程度できるものの、やはりセキュリティ出身の
製品シリーズを一つ弄ることができるようにしておくべきかなと思う。

GNS3 (ver.0.8.6)でvSRXのFireflyを動かすことができたので、その方法を書いておきます。
英語のドキュメントを漁ったり、いろいろな英語フォーラムを見たんですがwindows7での方法が見つからなく、おそらくまだどこにもないので残します。
英語で残すことができればいいんですが、I dont have enough English skill to write it downですよ。

ゴール

GNS3(ver0.8.x)でFireflyを動かす。
インストールに始まり、実利用まで。

必要なもの (使用したソフトウェア・環境)

・Windows7 (32bit)
GNS3 (version 0.8.6)
qemu (version 2.1.0)
qemu (version 0.13.0) distributed by GNS3.net
7zip
・FireFly (.ova形式) ←DIY (Download It Yourself)で

インストール


Windows7 32bit


省略。

GNS3 (version 0.8.6)


省略。

qemu (version 2.1.0)


インストーラに従ってインストールをしてください。

qemu (version 0.13.0) distributed by GNS3.net


こっちはインストーラはないです。
こちらより最新のwindows用Qemu binaryファイルをダウンロードして下さい。
私は「Qemu version 0.13.0 for Windows」をダウンロードしました。

ダウンロードし、解凍したらGNS3をインストールしたProgram Filesのディレクトリ直下にフォルダごとダウンロードしたQemuをつっこみます。

qemu1
Fig.フォルダ名をQemu_patchedと適当につけて保存


7zip


省略。

FireFly (.ova形式)


評価版がここにあります。
今回利用するのはOVA形式なので、FormatがOVAであるものをダウンロードして下さい。

OVAファイルからimgファイルを作成


@7zipを利用して、OVAファイルからvmdkファイルを抽出。
Aqemu(version 2.1.0)を利用して、抽出したvmdkファイルをimgファイルへ変換する。

vmdkファイルの抽出


7zipが既にインストールされている前提ですが、
ダウンロードしたOVAファイルを右クリックし、7zipのメニューからextract filesによってvmdkファイルを抽出してください。
他にもいくつかファイルが抽出できますが、今回は使いません。

imgファイルへの変換


qemu(version 2.1.0)を利用しました。
現時点で、3つのQemuがあるかと思います。
※GNS3のall-in-oneに入っていたQemu、GNS3で配布されているQemu (version 0.13.0)、ここで利用するQemu(version 2.1.0)の3つ

imgファイルの変換に関して、GNS3のQemuでもできなくはないですが最後のマウント時にエラーを吐いてしまいました。
imgファイル変換をするためだけにQemu(version 2.1.0)を利用します。

コマンドプロンプトより、以下を実行。

フォルダ状況を以下とする:
■Qemu(version 2.1.0)の場所
C:\Program Files\qemu\
■抽出したvmdkのファイルの場所
C:\Users\matsuki\Image\junos-vsrx-domestic-disk1.vmdk


C:\Users\matsuki>cd ../../

C:\>cd "Program Files"\qemu

C:\Program Files\qemu>qemu-img.exe convert C:\Users\matsuki\Image\junos-vsrx-domestic-disk1.vmdk C:\Users\matsuki\Image\junos-vsrx-domestic-disk1.img


imgファイルが作成されたことを確認して下さい。

GNS3の設定


Qemuの設定を以下のようにする。

qemu2
Fig.利用するQemuはGNS3から配布されていたversion 0.13.0を指定。

qemu3
Fig.ゲストの設定

利用方法


準備万端。
あとは利用の仕方です。

以下、注意点です。

起動とgigabitethernetインタフェースの認識


起動はかなり時間がかかります。
gigabitEthernetの認識は最初は行われませんでした。
起動して、入力が可能になってから1分ほど待つとsyslogメッセージが大量に流れだします。
その後にCLIモードでshow interface terseを打つと以下のように認識されていることが確認できます。

qemu4

上記コンソール表示のGNS3でのトポロジー状況は以下。

qemu5

コンソール表示では全てlink-upしてます。。
GNS3上とコンソール上でのマッピングは以下の通り。

ge-0/0/0 → em0
ge-0/0/1 → em1
ge-0/0/2 → em2
ge-0/0/3 → em3
ge-0/0/4 → em4
ge-0/0/5 → em5

保存


commitすればOKです。
GNS3を一度閉じてもう一度開き直しても問題なく設定が残っていました。

syslogの嵐を止める


syslogメッセージが止まらない場合があります。
そんな時は以下。

# deactivate system syslog user *


余談

かなり時間かかった。。
文字に起こしてみれば割とシンプルでした。




2014年07月28日

OSPFまとめ

タイマー関係:

LSDB同期のために30分間隔でLSDBのアップデートを行う。
各LSAは60分間リフレッシュされない場合はLSDBから削除される。
Dead Time = Hello Time * 4
AGEはLSAが登録/更新されてから経過した時間。
ルータの状態:

Down→Init→2Way: ネイバーの確立 (Helloパケットでエリア、認証ステータス、Hello/Dead間隔、スタブフラグエリアの一致)
Exstart: DR,BDR,DROTHERの選出 (Helloパケット) 
Exchange: LSDBの差異の確認 (DBDパケットの交換)←LSAckでパケット受信確認
Loading: LSDBの同期(LSUパケットで互いの不足分を補う)←LSAckでパケット受信確認
Full: 完了

router-idが変更されるとネイバー関係が再確立するため、上記の一連の流れとSPFの再計算が走る。
router-idは255.255.255.255なども可能。
プロセスの再起動、またはインタフェースの再起動でrouter-idの変更が適用される。

224.0.0.6: DROTHERがDR/BDRへLSAをフラッティング。(DROTHERはこのパケットを破棄)
224.0.0.5: DR/BDRから全てのルータへLSAをフラッティング。Helloパケットもこのアドレスで行う。

DRとBDRはFull状態。

プライオリティ値の変更
(config-if)#ip ospf priority <プライオリティ値>

プライオリティ値を0に設定した場合、そのルータはDROTHERに固定。

networkコマンドでOSPFを有効にする場合、インタフェースに設定されたアドレスが含まれているネットワークアドレスを指定すれば有効。

-フレームリレーでのOSPF

【初期】 NBMAモード(デフォルト)
デメリット: 
     ネイバーの自動選出を行わない(NON_BROADCASTはブロードキャストを配信しないため)。
必要項目:
     neighborコマンドでネイバーを指定(片方側だけから指定すれば良い)。ユニキャストでHelloパケットをやりとりできる。
     フルメッシュでなければ、ハブルータをDRにする(スポークルータはip ospf priorityでプライオリティ値を0にする。)

【中期】ブロードキャストモード
メリット:
     ネイバーもDR/BDRも自動選出。
デメリット:
     Helloパケットの間隔が10秒と短い(NBMAモードは30秒)。
必要項目:
     デフォルトのNBMAとはHello間隔が異なるため、合わせる必要あり。

【終期】ポイントツーマルチポイントモード(ポイントツーポイントの集合体)
デメリット:
     DR/BDRの選出を行わない。
必要項目:
     DR/BDRの選出/非選出を合わせる。(モードを変えることでしかこれは合わせられない)

(config-if)#ip ospf network [broadcast | nonbroadcast | point-to-multipoint | point-to-multipoint nonbroadcast | point-to-point]

-コスト

コスト=100Mbps / インタフェース帯域幅
※Gigabitはコスト0.1だが1となる。

コストの分子をコマンドで変更可能。
(config-router)#auto-cost reference-bandwidth <コスト計算の分子(デフォルトでは100)>

コストを直接変更することも可能。
(config-if)#ip ospf cost <コスト値>

デフォルトルートのコストを変更(ASBR上で)。
(config-router)#default-cost <コスト値>

-集約

内部ルートの集約ができるのはABRだけ
外部ルートの集約ができるのはABRとASBR

OSPFデフォルトではルート集約を行わない

ASBR上で外部ルートを集約するとき
(config-router)#summary-address <ネットワークアドレス> <ワイルドカードマスク>

ABR上でエリア間ルートを集約するとき
(config-router)#area <エリアID> range <ネットワークアドレス> <ワイルドカードマスク>


-デフォルトルート

デフォルトルートを持っていないルータがデフォルトルートを通知。
(config-router)#default-information originate always

デフォルトルートを持っているルータがデフォルトルートを通知。
(config-router)#default-information originate


スタブエリア(外部ルートをABRでブロック):
ABRが自身向けのデフォルトルートをエリア内に自動生成配布。

トータリースタブエリア(外部ルートとエリア間ルートをABRでブロック):
ABRが自身向けのデフォルトルートをエリア内に自動生成配布。
NSSA:
デフォルトルートはABR上で手動設定。
(config-router)#area <エリアID> nssa default-information-originate

トータリーNSSA:
ABRが自身向けのデフォルトルートをエリア内に自動生成配布。

トータリーNSSAの設定はトータリーNSSAエリア内のABRにのみ設定を行う


-再配布

メトリックタイプ:
     E1← ASBRまでのコスト(外部コスト)+内部コスト
     E2(デフォルト)← ASBRまでのコスト(外部コスト) 

-仮想リンク(Virtual Link)

バックボーンエリアに接続できない場合の仮想リンク。
-物理的にバックボーンエリアから離れている場合
-バックボーンエリアとの間に他エリア(トランジットエリア)を挟む場合

リンクを互いに繋ぎたい2台のABRで設定する。
(config-router)#area <エリアID> virtual-link <相手ABRのルータID>

確認
#show ip ospf virtual-links

-認証

MD5認証の場合、平文の認証コマンドに青文字を追加。

@認証有効化
(config-router)#area <エリアID> authentication message-dijest

(config-if)#ip ospf authentication message-dijest

Aパスワード設定
(config-if)#ip ospf authentication-key <パスワード>
(config-if)#ip ospf message-dijest-key <キーID> md5 <パスワード>




経路集約まとめ


経路集約

RIPv2:
(経路集約auto-summaryはデフォルトで有効)

@手動で経路を集約する。
(config-if)#ip summary-address rip 192.168.1.0 255.255.255.128

EIGRP:
(経路集約auto-summaryはデフォルトで有効)

@手動で経路を集約する。
(config-if)#ip summary-address eigrp 192.168.1.0 255.255.255.128

OSPF:
(経路集約はデフォルトで無効)

@ABRで経路集約をする。
(config-router)#area 1 range 192.168.1.0 255.255.255.128

AASBRで経路集約をする。
(config-router)#summary address 192.168.1.0 255.255.255.128




×

この広告は1年以上新しい記事の投稿がないブログに表示されております。