Quantity of Shit

便所の落書き

近況

4月

手が滑って怪しい機械をいっぱい買ってしまった

  • HP ProLiant DL380 G6
    • CPU: Xeon X5560 × 2
    • HDD: 146GB SAS × 8
    • RAM: Unbuffered ECC 4GB × 6
  • Cisco Unified IP Phone CP-7962G × 2
  • Juniper EX2200-24P-4G
  • メタル(ラック|ケーブル)とか

f:id:shiva85:20170706133452j:plain

サーバにはESXiを入れて仮想サーバを何台が動かしてます。

  • ZoneMinder (監視カメラサーバ)
  • Webサーバ
  • EVE-NG (ネットワークエミュレータ)
  • FreeNAS (検証用)
  • FreePBX (おでんわ用)

CiscoじゃなくてJuniperを選んだのは、ただJuniperが触りたかったってのもあるんですけど、ヤフオクに回ってるIP Phoneには殆ど電源ケーブルが付いてないので、給電手段がPoEしかなかったんですよね。
PoEかつGbE対応のスイッチをCiscoで探したらドチャクソ高かった(4万)のでJuniperのやつ(1万)を買いました。コマンド体系に慣れなくて苦労した

なんで電話を買ったのか

電話を複数台買って内線環境を作れば無料で電話ができるじゃないですか(は?)
一生レジスト出来なくてXMLと格闘してました。
着信音は3秒までってCiscoのドキュメントに書いてたんですけど30秒流しても怒られませんでした。意味わからん
色々いじって喋れるようにはなったけど、VoIP全然わからんので気が向いたらまた勉強します。

Interop Tokyo STM 面接

受けてきました。落ちました(全然喋れなかった)
マジで面接嫌いになったから就活詰むと思う

GO HARD

Audiofreqを拝めて幸せだった

IPA天下りお布施支援士

ノー勉で受けたけど午後Iまで楽勝でした。午後IIで死んだ(42点)

5月

手が滑って怪しい機械を

f:id:shiva85:20170706142208j:plain

要するにパソコンを組みました。 使用用途はNASです。
HDDが8枚挿さって5万円です。
QNAPだと16万くらいするらしい。
自作PC童貞だったのでこちらの記事を参考に(丸パクリ)しました。

kayo-tozaki.hatenablog.com

TANO*C TOUR

たのしかった

6月

手が滑

f:id:shiva85:20170706143532j:plain

Cisco Aironet 1142です。
ヤフオクで3台セット5000円って書いてたので買ったんですけど1台しか届かなかったです。
問い合わせたら記載ミスとのことだったので仏の心で許しました。

Wietse Release Japan Tour

Psyko Punkzを拝めて幸せだった

今月は特に何もしてなくて、トラコンの対策とか適当に勉強とかしてました。

7月 ~ 現在

f:id:shiva85:20170706144337j:plain

合わせて6万円くらいしました。パソコンは元からあります。
暇な時に適当に遊ぼうと思います。

CCIE

遂に重い腰を上げてCCIEの公式本を読み始めました。
本当に英語が読めなさ過ぎて、最近メッチャ優秀になったGoogle翻訳に殆どの文をブチ込んで読んでます。
英語も勉強しないとな〜と思ってるんですけど、やっぱりTOEICで勉強したほうがいいのか悩み所です。

トラコン予選

落ちた

以上

BGP Load Balancing & DMZ Link Bandwidth

BGPでは、eBGPピアからの経路にリンクの帯域幅を拡張コミュニティ属性として付加することができ、その帯域幅に応じて負荷分散を実行できる。
neighbor dmzlink-bwコマンドで、eBGPピアから広告された経路にリンクの帯域幅情報を付加する。
bgp dmzlink-bwコマンドで、広告された経路に付加されている帯域幅に基づいて負荷分散を実行する。

ということで試してみます。

Topology

Logical

f:id:shiva85:20170604232238p:plain

R3のG0/0.13なら192.168.13.3
Loopbackは3.3.3.3みたいな感じです
R2,R4間の帯域幅は100Mです
R3.R5間は10Mに設定しています

Physical

f:id:shiva85:20170604232433p:plain

Initial Configuration

Spoiler

Task

  1. AS100と200で任意のIGPを張ります
    *ここではOSPFを使用します
  2. R2,4とR3,5の間でeBGPを張ります
  3. AS100,200内でiBGPをフルメッシュで張ります
    *source-updateでLoopbackを指定します
    *eBGPからの経路はNextHopを変更してiBGPに広告します
  4. R1とR6のLoopbackをBGPで広告します
  5. R2とR3でeBGPリンクの帯域幅をR1に広告します
  6. R1でeBGPリンクの帯域幅に応じた負荷分散が実行されるようにします
  7. R1のL0からR6のL0にトラフィックを送信する際、dmzlink-bwによって適切にトラフィックが分散されていることを確認します

Configuration

Task 1~4

Task4までは普通のBGPの設定なのでConfigだけ貼っ付けます

Spoiler

Task 5

現時点ではまだ帯域幅が付加されていません。

R2(config)#do sh ip b 6.6.6.6
BGP routing table entry for 6.6.6.6/32, version 8
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     5
  Refresh Epoch 6
  200
    3.3.3.3 (metric 3) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  200
    192.168.24.4 from 192.168.24.4 (4.4.4.4)
      Origin IGP, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0

eBGP経路に帯域幅を付加するには次のコマンドを使います。

neighbor X.X.X.X dmzlink-bw

入力例

R2(config)#router bgp 100
R2(config-router)#nei 192.168.24.4 dmzlink-bw

確認

R2(config-router)#do sh ip b 6.6.6.6
BGP routing table entry for 6.6.6.6/32, version 8
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     5
  Refresh Epoch 6
  200
    3.3.3.3 (metric 3) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  200
    192.168.24.4 from 192.168.24.4 (4.4.4.4)
      Origin IGP, localpref 100, valid, external, best
      DMZ-Link Bw 12500 kbytes
      // 帯域幅が拡張コミュニティ属性として付加されている
      rx pathid: 0, tx pathid: 0x0

R3も同様に設定します

Task 6

負荷分散を実行するために次のコマンドで使用する経路を増やします。

R1(config)#router bgp 100
R1(config-router)#maximum-paths ibgp 2
// iBGPピアから広告された同じ宛先へのパスを2つ使用する

*マルチパスとして選定されるためにはいくつかの制約があります。

www.cisco.com

広告された帯域幅に応じてトラフィックを分散するには次のコマンドを使用します。

bgp dmzlink-bw

bgp dmzlink-bwが無くても負荷分散は出来ますが、帯域幅を考慮しないので
(帯域幅の有無に関わらず)100Mと10Mの経路に均等にトラフィックを送信します。

入力例

R1(config)#router bgp 100
R1(config-router)#bgp dmzlink-bw

R2,R3が保持している帯域幅情報は"拡張コミュニティ属性"なので、iBGPピアに対してsend-communityコマンドでコミュニティ属性を広告する必要があります。

R2(config-router)#nei 1.1.1.1 send-community extended
% Invalid command for a peer-group member
// ピアグループを設定したピアは個別でオプションを設定出来ない(一部除く)
R2(config-router)#nei ibgp send-community extended

R3でも同様に設定し、R1のBGPテーブルを出力します

R1(config)#do sh ip b 6.6.6.6
BGP routing table entry for 6.6.6.6/32, version 9
Paths: (2 available, best #2, table default)
Multipath: iBGP
  Not advertised to any peer
  Refresh Epoch 4
  200
    3.3.3.3 (metric 2) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath(oldest)
      // マルチパスとして選定されている
      DMZ-Link Bw 1250 kbytes
      // 帯域幅(コミュニティ属性)が広告されている
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 4
  200
    2.2.2.2 (metric 2) from 2.2.2.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
      // マルチパスとして選定されている
      DMZ-Link Bw 12500 kbytes
      // 帯域幅(コミュニティ属性)が広告されている
      rx pathid: 0, tx pathid: 0x0

Task 7

負荷分散が適切に実行されているか確認します
Cisco IOSでは、デフォルトの負荷分散方式は宛先別ロード バランシングなので、検証が難しいためパケット別ロードバランシングに変更します。 www.cisco.com

R1(config)#int g0/0.12
R1(config-subif)#ip load-sharing per-packet
// 負荷分散方式をパケット別に変更する
R1(config)#int g0/0.13
R1(config-subif)#ip load-sharing per-packet

確認のためにpingを送信します

R1#ping 6.6.6.6 so l0 rep 11

eBGPリンクの帯域幅が広いR2へのトラフィックが多いことが確認できます。

f:id:shiva85:20170605111651p:plain

f:id:shiva85:20170605111656p:plain

R1#sh ip ro 6.6.6.6
Routing entry for 6.6.6.6/32
  Known via "bgp 100", distance 200, metric 0
  Tag 200, type internal
  Last update from 2.2.2.2 00:20:56 ago
  Routing Descriptor Blocks:
  * 3.3.3.3, from 3.3.3.3, 00:20:56 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 200
      MPLS label: none
    2.2.2.2, from 2.2.2.2, 00:20:56 ago
      Route metric is 0, traffic share count is 10
      AS Hops 1
      Route tag 200
      MPLS label: none

Note

  • neighbor dmzlink-bwはeBGPピアに対してのみ設定できるので、iBGPピアに対して設定しようとした場合は次のようなエラーを吐きます。
R1(config-router)#nei 3.3.3.3 dmzlink-bw
%BGP: Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers
  • さらにsingle-hopと書かれている通り直接接続しているeBGPピアでないと帯域幅を付加できません。
    • エラーは出ないけど属性が乗らない
    • Loopback接続も直接接続ではないので乗らない