« Posts under ネットワーク

The router ID should match BGP and OSPF when you are using BGP synchronization

Oh, I didn’t know this restriction…

http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html#background

If BGP synchronization is enabled, there must be a match for the prefix in the IP routing table in order for an internal BGP (iBGP) path to be considered a valid path. BGP synchronization is enabled by default in Cisco IOS® Software. If the matching route is learned from an Open Shortest Path First (OSPF) neighbor, its OSPF router ID must match the BGP router ID of the iBGP neighbor. Most users prefer to disable synchronization with use of the no synchronization BGP subcommand.

BGP sync feature is not used now normally…

Understanding access-list wildcard

Check this great post:

https://learningnetwork.cisco.com/thread/69872

EIGRP SoO

ここみとけ。

http://www.cisco.com/c/en/us/td/docs/ios/12_0s/feature/guide/s_mvesoo.html

IFに設定したSoOのチェックは、そのIFでupdate受信したときだけじゃなくて、vpnv4 BGP から EIGRP に redistriutes されるときにもされてると。ふむ。

CEの Backup link にこれを設定するとき、カスタマーサイトなのに ip vrf コマンド使うのに違和感がある。しかしその違和感があるだけに忘れなさそう。

 

vrf definition memo

http://www.cisco.com/c/en/us/td/docs/ios/mpls/configuration/guide/12_2sy/mp_12_2sy_book/mp_vpn_ipv4_ipv6.html#wp1055032

The following is an example of a multiprotocol VRF with route-target policies defined in both global and address-family areas:

  • For IPv6, the route-target definitions are defined under the address family. These definitions are used and the route-target definitions in the global area are ignored. Therefore, the IPv6 VPN ignores import 100:2.
  • For IPv4, no route-target policies are defined under the address family, therefore, the global definitions are used.

vrf definition vfr1
route-target export 100:1
route-target import 100:1
route-target import 100:2
!
address-family ipv4
exit-address-family
!
address-family ipv6
route-target export 100:1
route-target import 100:1
route-target import 100:3
exit-address-family

EIGRP named mode has wide-metrics

Named mode の EIGRP は 64bit の Metric を扱う。ちなみに普通のAS番号指定で設定する Classic mode だと32bit。
RIBも32bitなので、64bitの値を metric rib-scale の値で割ったものに書き換えられる。デフォルト128。32bit値に収まらない経路はルーティングテーブル載らない模様。

http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_eigrp/configuration/xe-3s/ire-xe-3s-book/ire-wid-met.html

http://brbccie.blogspot.jp/2014/08/eigrp-enhancements.html

route-map の metric で filter するときとかはRIBの値じゃない、基の大きいほうの値見る。なお route-map のmetricが32bitしかないのだけど、大きい値いじりたいときどうするんだろうこれ(後日調査)

distribute-list の Extended access-list

distribute-list の extended access-list は ルーティングプロトコルによって意味が変わる話。あんまり使わないけどよくあるtipsなので念のためメモ。

BGP
source part が network に、destination part が mask になる。ワイルドカードに注意。
permit ip 10.0.0.0 0.0.0.255 255.255.255.0 0.0.0.0
-> 10.0.0.[0-255]/24

permit ip 10.0.0.0 0.0.0.255 255.255.255.0 0.0.0.255
-> 10.0.0.[0-255]/[24-32] (※理屈上。あとで確認->確認済み)

EIGRP/RIP
source part が gateway(update source) に、destination part が network になる。mask length なし。あと、out には source に 0.0.0.0 か any を使わないといけないらしいのでほとんど意味なし。(未確認->確認済み)
なお、route-map経由で適用するとBGPと同じ感じでnetwork/maskとして扱える。(確認済)

OSPF
distribute-list そのものの意味が違う。まず database へは影響しない。in だと routing table への install がされなくなる(databaseには残るので他のルータに伝達する。つーかdatabaseが一貫してるのがリンクステート)。out だと外部ルート(E1/E2) の伝達がされなくなるらしい。へえ。

OSPF の distribute-list out やったことないのでこれもあとで気が向いたら試してみる。
しかし以下のCiscoサポートフォーラムの acl に log オプションつけtてみるアイデアは大変 cool だわ。

 

https://supportforums.cisco.com/discussion/11707866/extended-access-list-used-outbound-distribute-list-doesnt-work-rip

http://blog.ine.com/2008/01/04/using-extended-access-lists-in-a-distribute-list/

OSPF distance command

Note: OSPF distance command is no longer affected in single process OSPF path selection by CSCeh46993 fix.

https://supportforums.cisco.com/discussion/11135326/ospf-distance
http://ieoc.com/forums/t/1505.aspx?PageIndex=2
https://supportforums.cisco.com/ja/document/45506

Not sure but in my study, distance command does not work if database has multiple source to the network. With a single source, the command seems to work fine (able to change distance value.)

6rd

IPv6 Rapid Deployment 。ポイントだけ。

  • IPv4ネットワーク上でIPv6を通すためのトンネル技術
  • ISPのコアはIPv4のままでいい
  • IPv6 <-> IPv4 変換ルールをある程度自由決められる
    • 6to4と違い、ISPがもつIPv6 prefixを自由に使える(6to4は2002::/16と決まってる)
    • IPv4 prefixをすべて埋め込む必要が無いのでネットワークを節約できる
    • ISPの顧客しかトンネルを張れない(自身が持つprefix内で制御するため)
  • BR(Border Relay)がIPv6インターネットとの接点で、こことトンネル張る
  • 顧客側にも同じ変換ルールの設定が必要
  • 顧客側ではIPv6デフォルトルートをBRの tunnel source をIPv6化した アドレスに向ける(これでトンネルの宛先が分かる)。また、ちゃんとトンネル向くようにする。(※以下のどっちでも可)
ipv6 route 2001:BEEF::/32 Tunnel0
ipv6 route ::/0 2001:BEEF:0:FE00::
!-----
ipv6 route ::/0 Tunnel0 2001:BEEF:0:FE00::

リンクなど

http://ja.wikipedia.org/wiki/6rd

http://research.sakura.ad.jp/2011/02/09/tunnel-6rd-cisco/

http://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/enterprise-ipv6-solution/whitepaper_c11-665758.html

http://cciethebeginning.wordpress.com/2013/05/31/lets-6rd-2/

RDとRT

MPLSとかMP-BGPなんてしばらくやってないからダダ忘れひどい。

RD Route-Distinguisher IPアドレスにくっつけて、NLRIを一意に識別するためのもの。vrfの末端では同じ経路を扱う可能性があるためRDを付加するのであって、vrfの識別には用いられないため、実はPE間で同じじゃなくても良い(ややこしい)

RT  Route-Target vpnv4 BGP において、vrfへのルート情報のインポート/エクスポートを決定するタグみたいなもの。よってここはPE間で同じ(インポートしたいRTを適切に設定)にしないとだめ。extended community attribute。vpnv4 BGPで学習したそのRTの経路を対象のvrfに突っ込む。よって、すでにvrfが判明しているので、RDはいらない子(ただしRDが異なるため、vpnv4 BGP内では異なる経路として扱われる)(ちょっと気になるのであとで試す)

 

簡潔でわかりやすい説明。
http://ccieblog.co.uk/mpls/difference-between-the-rd-and-rt

その他CCO
http://www.cisco.com/c/en/us/td/docs/ios/12_2sr/12_2srb/feature/guide/tbgp_c/tbrbover.html
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4500/12-2/31sg/configuration/guide/conf/vrf.pdf

 

 

(追記)試した。  maximum-paths ibgp 2 をPEのBGPの address-family ipv4 vrf TEST にいれた結果。

R8#sh bgp vpnv4 unicast all
BGP table version is 17, local router ID is 10.1.8.8
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf TEST)
 *>i 9.9.9.9/32       10.1.0.7                0    100      0 65001 i
 *mi                  10.1.3.3                0    100      0 65001 i
!-- omit
Route Distinguisher: 2:2
 *>i 9.9.9.9/32       10.1.3.3                0    100      0 65001 i
! RDが違う(2:2)のにRD1:1にインポートされてる(RT同じにしたから)
! そしてmultipathとして認識されたため、
R8#
R8#sh ip route vrf TEST

Routing Table: TEST
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is not set

      9.0.0.0/32 is subnetted, 1 subnets
B        9.9.9.9 [200/0] via 10.1.3.3, 00:00:27
                 [200/0] via 10.1.0.7, 00:00:27
!--  omit
! 10.1.3.3もマルチパスで載る。

RTが同じなら、RD違っても関係なくVRFテーブルにはインポートされて載ると。ふむ。なお、multipathのbestを変えたりするのにかなり苦戦した(bgp router-id)。うーんあかんなー。

 

ぼくのなつやすみ その後

有給があまりすぎたのでお盆に5連休とって9連休したのだけれど、直前に決めたので何も予定が立たず、日帰りで子どもを近場の遊び場に連日連れ出す程度の夏休みだったのだが、思いのほかとリフレッシュしたのか「やべえなんか勉強しないと」という気持ちになったので、CCNPの更新をCCIE筆記でしてみようと思い勉強はじめたところ、なんだかめっちゃおもろいのでCCIEそのものを取ってしまうかもしれません。