ことなかれblog 備忘録

何事もなく無事でありますように

Brocade vs A10

BrocadeがA10 networksに対して起こしていた訴訟についての両社ニアンスが微妙に食い違っている件。

Brocade プレスリリース
A10 プレスリリース

どちらでもない、競合ベンダの営業さんとはなす機会があったので、現在のステータスを聞いてみた。
思っていたよりA10は深刻らしい。

・brocade側の100%勝訴 ・追訴があり、係争案件が継続している(Lee Chen氏に対して) ・USではA10側の見通しが暗く、migationが案件がすすんでいる。(パイのとりあい)  →本件の係争により、現用機では、brocadeのソースコードを動かしていることになり、 訴求があれば、ユーザ → brocadeへの支払いが生じる可能性がある。

今回、和解ではなく、 ソースコードの盗用という内容で判決されてしまっているため、 112M$という金額も大きいが、財務状況が悪化しても、どこにも買ってもらえない可能性が大きいのではないか。 Migrationが進み、shareが下がり続けるようだと、できるだけ綺麗にshutdownするかということになるかも。 ユーザにとっては最悪な状況を想定しておく必要があるかも。 引き続きwatchしていきます。

Link Fault Signaling

いきなり話がかわりますが、今日は”Link Fault Signaling”(以下:LFS)について書きます。

Brocade(旧Foundary)のスイッチをoperationする機会が増えて、
LFSに対応していることをしりました。

LFSは10GE(802.3ae)で標準化されています。
Ethernetはもともと物理Layerの障害を検知する仕組みをもっていません。
この場合、なにが問題になるかというと、Fiberの片Link障害によるパケlossです。

SW#1             SW#2
TX ------①---- > RX
RX <-----②------ TX

①で断が起こるとSW#1ではRX受信していてLinkUp
SW#2ではLinkDownとなりLinkStateに相違ができてしまいlossが生まれます。

LFSではこのとき、
LF (Local Fault)
RF (Remote Fault)
信号を対向に送信して、伝送障害を知らせます。

--configは-- Brocade(config)# interface ethernet 1/4 Brocade(config-if)# link-fault-signaling

*両端LFS-ONでないと効果発揮しません。 ○2012/10/17 訂正 FiberでのLag接続はLACPがほぼ必須でした。(片Link障害対応のため) LACPだとkeepaliveの処理がControl Plainに回るので、 10GEのLagだと、LFS+static がよいのでは、と思います。 よくよめば1Gのautonegoとほぼ同じ耐性でした。スイマセン。 サイレント障害の耐性はないので、lacpは必要です。 <参考> MLX config guide * 少しの間、Ethernet周りを中心に書こうとおもいます。 Ethernet FablicがFieldで動き出してきているので、過去の技術もふくめまとめておこうかと。


cisco simulator – mpls-te

○cisco simulatorの続き
最終回?はMPLS-TEを設定します。FRR(Fast ReRoute)までやってしまいたいと思います。
とっても分かりやすいので、参考資料のlinkをのせておきます。
SB松嶋さん・IW2006の資料

node構成は前回設定して、L2-VPNをそのまま使用します。
R1 <-> R3 のtrafficを
R1 -> R2 -> R3
をプライマリLSPに設定
R1 -> R4 -> R3
をFRRのバックアップLSPに設定します。

Point
・すべのLSRでMPLS-TEを有効にし、OSPFのMPLS拡張を設定。
・すべのLSRのMPLS-intefaceにMPLS-TE tunnelの明示と、RSVPを設定。
・入力PEにtunnel interfaceを作成し、MPLS-TEを明示と、RSVPを設定。
・入力PEにpath-selectionを設定。
・multi-pathとなる、R1にbackup-pathを設定。
* path-selectionなので、片方向の設定です。戻りpacketもpath明示したい場合には同じ設定が戻りpathでも必要です。

すべてのLSRに以下の設定をします。

** MPLS-TEをglobalでenableにします。 (config)# mpls traffic-eng tunnels ** mpls-interfaceでTEを有効にします。 (config)# interface serial1/○ (config-if)# mpls traffic-eng tunnels (config-if)# mpls traffic-eng administrative-weight 1 (config-if)# ip rsvp bandwidth 512 ** ospfでMPLS拡張を有効にします。 (config)# router ospf 100 (conf-router)# mpls traffic-eng router-id Loopback0 (conf-router)# mpls traffic-eng area 0

入力PEとなるR1にtunnelとpathを設定します。

** まずはpathから R1(config)# ip explicit-path name tunnel13 R1(cfg-ip-expl-path)# next-address 10.10.10.2 Explicit Path name tunnel13: 1: next-address 10.10.10.2 R1(cfg-ip-expl-path)# next-address 10.10.10.3 Explicit Path name tunnel13: 1: next-address 10.10.10.2 2: next-address 10.10.10.3 ** 次にtunnel interfaceを R1(config)# interface tunnel 13 R1(config-if)# description R1->R3 R1(config-if)# ip unnumbered loopback 0 R1(config-if)# tunnel destination 10.10.10.3 R1(config-if)# tunnel mode mpls traffic-eng R1(config-if)# tunnel mpls traffic-eng path-option 10 explicit name tunnel13 R1(config-if)# tunnel mpls traffic-eng record-route R1(config-if)# tunnel mpls traffic-eng autoroute announce * R1でRSPV-TE tunnelの状態を確認します。 R1#show mpls traffic-eng tunnels Name: R1->R3 (Tunnel13) Destination: 10.10.10.3 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit tunnel13 (Basis for Setup, path weight 2) Config Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based auto-bw: disabled Active Path Option Parameters: State: explicit path option 10 is active BandwidthOverride: disabled LockDown: disabled Verbatim: disabled InLabel : - OutLabel : Serial1/1, 22 RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 13, Tun_Instance 34 RSVP Path Info: My Address: 192.168.12.1 Explicit Route: 192.168.12.2 192.168.23.3 10.10.10.3 Record Route: Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits RSVP Resv Info: Record Route: 192.168.23.2 192.168.23.3 Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits History: Tunnel: Time since created: 13 minutes, 43 seconds Time since path change: 1 minutes, 32 seconds Number of LSP IDs (Tun_Instances) used: 34 Current LSP: Uptime: 1 minutes, 32 seconds * R1でRSPV-TE topologyの状態を確認します。 R1#show mpls traffic-eng topology My_System_id: 10.10.10.1 (ospf 100 area 0) Signalling error holddown: 10 sec Global Link Generation 9 IGP Id: 10.10.10.1, MPLS TE Id:10.10.10.1 Router Node (ospf 100 area 0) link[0]: Point-to-Point, Nbr IGP Id: 10.10.10.2, nbr_node_id:3, gen:2 frag_id 4, Intf Address:192.168.12.1, Nbr Intf Address:192.168.12.2 TE metric:1, IGP metric:64, attribute flags:0x0 SRLGs: None physical_bw: 1544 (kbps), max_reservable_bw_global: 512 (kbps) max_reservable_bw_sub: 0 (kbps) Global Pool Sub Pool Total Allocated Reservable Reservable BW (kbps) BW (kbps) BW (kbps) --------------- ----------- ---------- bw[0]: 0 512 0 bw[1]: 0 512 0 bw[2]: 0 512 0 bw[3]: 0 512 0 bw[4]: 0 512 0 bw[5]: 0 512 0 bw[6]: 0 512 0 bw[7]: 0 512 0 link[1]: Point-to-Point, Nbr IGP Id: 10.10.10.4, nbr_node_id:4, gen:2 frag_id 3, Intf Address:192.168.14.1, Nbr Intf Address:192.168.14.4 TE metric:1, IGP metric:64, attribute flags:0x0 SRLGs: None physical_bw: 1544 (kbps), max_reservable_bw_global: 512 (kbps) max_reservable_bw_sub: 0 (kbps) Global Pool Sub Pool Total Allocated Reservable Reservable BW (kbps) BW (kbps) BW (kbps) --------------- ----------- ---------- bw[0]: 0 512 0 bw[1]: 0 512 0 bw[2]: 0 512 0 bw[3]: 0 512 0 bw[4]: 0 512 0 bw[5]: 0 512 0 bw[6]: 0 512 0 bw[7]: 0 512 0 <以下省略>

次にFRR(Fast ReRoute)を設定してみます。

* この状態から、R2<->R3のinterface-linkをきります。 R3# conf t R3(config)# interface serial 1/0 R3(config-if)# shutdown * すると、RSVP-TE tunnel13がdownとなります。 R1#show mpls traffic-eng tunnels Name: R1->R3 (Tunnel13) Destination: 10.10.10.3 Status: Admin: up Oper: down Path: not valid Signalling: Down path option 10, type explicit tunnel13 Config Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based auto-bw: disabled History: Tunnel: Time since created: 41 minutes, 31 seconds Time since path change: 26 seconds Number of LSP IDs (Tun_Instances) used: 39 Prior LSP: ID: path option 10 [34] Removal Trigger: label reservation removed Last Error: PCALC:: No addresses to connect 10.10.10.2 to 10.10.10.3 ^^^^^^^^^^^^^^^^^^^^^^^^ * topolgyを知っているので、どこで切断されているかも教えてくれました。

いったん、R2<->R3のlinkをもどしてから、FRRの設定をします。 FRRは、R1<->R2のlinkがきれたときに、R1 ->R4 ->R3に迂回するよう、R1に設定します。

** R1 ->R4 ->R3のbackup-pathを登録します。 R1(config)# ip explicit-path name tunnel13-bk R1(cfg-ip-expl-path)# next-address 10.10.10.4 Explicit Path name tunnel13-bk: 1: next-address 10.10.10.4 R1(cfg-ip-expl-path)# next-address 10.10.10.3 Explicit Path name tunnel13-bk: 1: next-address 10.10.10.4 2: next-address 10.10.10.3 ** backup-route用のtunnel-interfaceを作成します。 R1(config)# interface tunnel 143 R1(config-if)# ip unnumbered loopback 0 R1(config-if)# description R1->R4->R3 R1(config-if)# tunnel mode mpls traffic-eng R1(config-if)# tunnel mpls traffic-eng path-option 10 explicit name tunnel13-bk R1(config-if)# tunnel mpls traffic-eng record-route ** tunnel13が切断されたときにbackup-route が選択されるよう設定します。 R1(config)# interface serial 1/1 R1(config-if)# mpls traffic-eng backup-path tunnel143 ** tunnel13にfast rerouteを有効にします。 R1(config)# interface tunnel 13 R1(config-if)# tunnel mpls traffic-eng fast-reroute * この状態でtunnelを確認します。FRRが設定されています。 R1# show mpls traffic-eng tunnels Name: R1->R3 (Tunnel13) Destination: 10.10.10.3 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit tunnel13 (Basis for Setup, path weight 2) path option 10, delayed clean in progress Currently Signalled Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) Config Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based auto-bw: disabled Active Path Option Parameters: State: explicit path option 10 is active BandwidthOverride: disabled LockDown: disabled Verbatim: disabled InLabel : - OutLabel : Serial1/1, 24 FRR OutLabel : Tunnel143, explicit-null <----ここ!! RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 13, Tun_Instance 126 RSVP Path Info: My Address: 192.168.12.1 Explicit Route: 192.168.12.2 192.168.23.3 10.10.10.3 Record Route: Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits RSVP Resv Info: Record Route: 10.10.10.2(24) 192.168.23.2(24) 10.10.10.3(0) 192.168.23.3(0) Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits History: Tunnel: Time since created: 2 hours, 1 minutes Time since path change: 6 minutes, 1 seconds Number of LSP IDs (Tun_Instances) used: 126 Current LSP: Uptime: 19 seconds Selection: reoptimization Prior LSP: ID: path option 10 [115] Removal Trigger: re-route path verification failed Name: R1->R4->R3 (Tunnel143) Destination: 10.10.10.3 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit tunnel13-bk (Basis for Setup, path weight 2) Config Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: disabled LockDown: disabled Loadshare: 0 bw-based auto-bw: disabled Active Path Option Parameters: State: explicit path option 10 is active BandwidthOverride: disabled LockDown: disabled Verbatim: disabled InLabel : - OutLabel : Serial1/0, 22 RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 143, Tun_Instance 7 RSVP Path Info: My Address: 192.168.14.1 Explicit Route: 192.168.14.4 192.168.34.3 10.10.10.3 Record Route: Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits RSVP Resv Info: Record Route: 192.168.34.4 192.168.34.3 Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits History: Tunnel: Time since created: 6 minutes, 31 seconds Time since path change: 4 minutes, 43 seconds Number of LSP IDs (Tun_Instances) used: 7 Current LSP: Uptime: 4 minutes, 43 seconds * R1<->R2のintefaceを切断してみます。 R2(config)# interface serial 1/0 R2(config-if)# shutdown * もう一度R1でtunnelを確認します。FRRが"in-use"されています。 R1# show mpls traffic-eng tunnels Name: R1->R3 (Tunnel13) Destination: 10.10.10.3 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit tunnel13 (Basis for Setup, path weight 0) Change in required resources detected: reroute pending Currently Signalled Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) Config Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based auto-bw: disabled Active Path Option Parameters: State: explicit path option 10 is active BandwidthOverride: disabled LockDown: disabled Verbatim: disabled InLabel : - OutLabel : Serial1/1, 23 FRR OutLabel : Tunnel143, explicit-null (in use) <---ここ!! RSVP Signalling Info: Src 10.10.10.1, Dst 10.10.10.3, Tun_Id 13, Tun_Instance 138 RSVP Path Info: My Address: 192.168.12.1 Explicit Route: 10.10.10.3 10.10.10.3 Record Route: Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits RSVP Resv Info: Record Route: 10.10.10.3(0) 192.168.34.3(0) Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits History: Tunnel: Time since created: 2 hours, 9 minutes Time since path change: 14 minutes, 35 seconds Number of LSP IDs (Tun_Instances) used: 138 Current LSP: Uptime: 16 seconds Selection: reoptimization Last Error: PCALC:: No addresses to connect 10.10.10.1 to 10.10.10.2 Prior LSP: ID: path option 10 [126] Removal Trigger: re-route path verification failed Last Error: PCALC:: No addresses to connect 10.10.10.1 to 10.10.10.2 <以下省略>

ここまでのconfig-sampleを PE-R1 P-R2 PE-R3 P-R4 ラボでできるMPLSはこのあたりまでかと思いますので、 simulatorはいったん終了します。 multiprotocolをOverRayできる(L2,L3を簡単にVPNできる)MPLSはとても便利です。 が、ある程度大きなCareer以外では、運用面、費用面でのデメリットも大きいように感じます。 ・OverRayすることで、NWの面が2重になる運用負担 ・MPLS利用によるSoftwareライセンス費用 VPNなんてのは終端のrouterでなんとでもできます。 単発案件のために、CoreをMPLSに更新する気になれないですよねー。

cisco simulator – mpls-vpn(L2)

○cisco simulatorの続き
次はL2-VPNということで、EoMPLSを設定していきます。
node構成は前回とおなじです。
赤と青でそれぞれ繋がれた、R5 <-> R6, R7 <-> R8でそれぞれL2-VPN接続したいと思います。
Point
・入力PEではプリアンブル,SFD,FCSを削除してEthernetFrameをカプセル化します。
・入力PEでVCラベルをはり,point-to-pointのコネクションを確立します。

R5とR6の設定をします。お互いをdefault-gatewayに設定します。 R5の設定

<省略> interface Loopback0 ip address 10.10.10.5 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.11 255.255.255.255 ! ! interface FastEthernet0/0 description To:R1 ip address 192.168.100.5 255.255.255.0 duplex auto speed auto ! ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.100.6

R6の設定

<省略> interface Loopback0 ip address 10.10.10.6 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.22 255.255.255.255 ! ! interface FastEthernet0/0 description To:R1 ip address 192.168.100.6 255.255.255.0 < -- R5と同じsubnetアドレス duplex auto speed auto ! ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.100.5

で、R7とR8の設定intafaceはR5,R6とおなじ、192.168.100/24で設定します。 R7の設定

<省略> interface Loopback0 ip address 10.10.10.7 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.11 255.255.255.255 ! ! <省略> interface Serial1/0 ip address 192.168.100.7 255.255.255.0 serial restart-delay 0 ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.100.8

R8の設定

<省略> interface Loopback0 ip address 10.10.10.8 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.22 255.255.255.255 ! ! <省略> interface Serial1/0 ip address 192.168.100.8 255.255.255.0 serial restart-delay 0 ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.100.7

CEであるR5-R8はすべておなじsubnetですがが、 R5 <-> R6,R7 <-> R8を これをまざらないように、ehternetでそれぞれ接続させます。 ○R1の設定 ここでは、CE R5 <-> R6でのVPN設定について記述していきます。

** R1のinterfaceにVC labelを設定します。 R1(config)# interface FastEthernet 0/1 R1(config-if)# xconnect 10.10.10.3 56 encapsulation mpls ** R3のinterfaceにVC labelを設定します。 R3(config)# interface fastEthernet 0/1 R3(config-if)# xconnect 10.10.10.1 56 encapsulation mpls PEの設定は以上です。 * R1のVC情報を確認します。 R1#show mpls l2transport vc Local intf Local circuit Dest address VC ID Status ------------- -------------------------- --------------- ---------- ---------- Fa0/1 Ethernet 10.10.10.3 56 UP * EtherFrameがカプセル化されているので、cdpもみえています。 R5#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Local Intrfce Holdtme Capability Platform Port ID CE-R6 Fas 0/0 155 R 7206VXR Fas 0/0 PE-R1 Fas 0/0 169 R 7206VXR Fas 0/1 * EtherFrameがカプセル化されているので、arpもみえています。 R5#show ip arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.100.5 - ca04.1fa8.0008 ARPA FastEthernet0/0 Internet 192.168.100.6 24 ca05.1fa8.0008 ARPA FastEthernet0/0

* 対向のCE同士で、pingを実行してみる。

** R6のinterfaceとloopbackに R5#ping 192.168.100.6 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.100.6, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 48/93/212 ms R5#ping 10.10.10.6 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.6, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 44/84/168 ms CE-R5#ping 10.10.10.22 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.22, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 44/50/60 ms ** R7とR8にはとおらない R5#ping 192.168.100.7 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.100.7, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R5#ping 192.168.100.8 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.100.8, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)

すべての設定を完了して、EtherFrameがまざらないか確認してみてください。 ここまでのconfig-sampleを PE-R1 PE-R3 PC-R5 PC-R6 PC-R7 PC-R8 今回は設定は比較的簡単でしたね。 次回はMPLS-TEに挑戦したいと思います。

cisco simulator – mpls-vpn(L3)

○cisco simulatorの続き
ここからが本番
MPLSの肝であるVPNを設定します。
VPNということは、Customerの経路(L3)がまざらないようにしないといけないので、
PE配下のCEを2組用意しました。構成図はこちら
赤と青でそれぞれ繋がれた、R5 <-> R6, R7 <-> R8でそれぞれL3-VPN接続したいと思います。
Point
・PEで経路がまざらないようにVRFで各customerの経路情報を分割します。
・PE-PE間で”MP-BGP”でpeerを張り,customer同士の経路を交換します。

まずは、CEである、R5の設定から

<省略> interface Loopback0 ip address 10.10.10.5 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.11 255.255.255.255 ! ! interface FastEthernet0/0 description To:R1 ip address 192.168.100.5 255.255.255.0 duplex auto speed auto ! ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.100.1

で、R7の設定

<省略> interface Loopback0 ip address 10.10.10.7 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.11 255.255.255.255 < -- R5と同じlo200アドレス ! ! <省略> interface Serial1/0 ip address 192.168.100.7 255.255.255.0 < -- R5と同じsubnetアドレス serial restart-delay 0 ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.100.1

次にR6の設定も

<省略> interface Loopback0 ip address 10.10.10.6 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.22 255.255.255.255 ! ! interface FastEthernet0/0 description To:R1 ip address 192.168.200.6 255.255.255.0 duplex auto speed auto ! ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.200.3

最後、R8の設定

<省略> interface Loopback0 ip address 10.10.10.8 255.255.255.255 ! ! interface Loopback200 ip address 10.10.10.22 255.255.255.255 < -- R6と同じlo200アドレス ! ! <省略> interface Serial1/0 ip address 192.168.200.8 255.255.255.0 < -- R5と同じsubnetアドレス serial restart-delay 0 ! <省略> ip route 0.0.0.0 0.0.0.0 192.168.200.3

PEであるR1には、CEであるR5,R7が接続され、それぞれ、 10.10.10.11/32 192.168.100.0/24 の同一経路を保持しています。(R2も同じ様子) これをまざらないように、それぞれのCEに転送する仕組みが必要です。 これをPEで実現していきます。(VRF & MP-BGP) ○R1の設定 ここでは、CE R7 <->R8でのVPN設定について記述していきます。 1.VRF編

** VPN用のVRFを作成します。 R1(config)# ip vrf VPN002_BLUE R1(config-vrf)# rd 100:700 * route-targetは該当VRF上でexp/impする経路を識別するためのIDです。 BGPで経路交換する場合には、communityにsetされます。 R1(config-vrf)# route-target export 100:2100 R1(config-vrf)# route-target import 100:2100 * CEと接続しているinterfaceを該当のvrfにentryさせます R1(config-if)# ip vrf forwarding VPN002_BLUE % Interface Serial1/2 IPv4 disabled and address(es) removed due to disabling VRF VPN002_BLUE * ip addressがremoveされるので再設定する必要があります。 R1(config-if)# ip address 192.168.100.1 255.255.255.0 * customer経路を追加(今回はstaticで) R1(config)# ip route vrf VPN002_BLUE 10.10.10.7 255.255.255.255 Serial1/2 R1(config)# ip route vrf VPN002_BLUE 10.10.10.11 255.255.255.255 Serial1/2 * vrf VPN002_BLUEの情報を確認します。 PE-R1#show ip vrf detail VPN002_BLUE VRF VPN002_BLUE (VRF Id = 4); default RD 100:700; default VPNID Interfaces: Se1/2 VRF Table ID = 4 Export VPN route-target communities RT:100:2100 Import VPN route-target communities RT:100:2100 No import route-map No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix * vrf VPN002_BLUEの経路情報を確認します。 PE-R1#show ip route vrf VPN002_BLUE Routing Table: VPN002_BLUE 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, + - replicated route Gateway of last resort is not set 10.0.0.0/32 is subnetted, 4 subnets S 10.10.10.7 is directly connected, Serial1/2 S 10.10.10.11 is directly connected, Serial1/2 C 192.168.100.0/24 is directly connected, Serial1/2 L 192.168.100.1/32 is directly connected, Serial1/2

2.MP-BGP編

** PE-PEのVPN-BGPの設定を作成します。 R1(config)# router bgp 100 * bpgセッションをはるのは、vpnv4なので、ipv4をdisableにします。 R1(config-router)# no bgp default ipv4-unicast * bgp-peerを張るRouter。対向のPEとはるので、対向PEのLoで R1(config-router)# neighbor 10.10.10.3 remote-as 100 R1(config-router)# neighbor 10.10.10.3 update-source loopback 0 * vpnv4でbgpセッションを張ることを宣言して、neighborをactiveに設定します。 R1(config-router)# address-family vpnv4 R1(config-router-af)# neighbor 10.10.10.3 activate R1(config-router-af)# exit * address-familyでvrf-tableを指定して、交換する経路情報を設定します。 R1(config-router)# address-family ipv4 vrf VPN002_BLUE R1(config-router)# redistribute connected R1(config-router)# redistribute static ** ここまで同じ内容の設定を対向PEであるR3にも作成します。 ** BGPの状態と経路を確認していきます。 * neighborの状態 R1# show ip bgp all neighbors 10.10.10.3 For address family: IPv4 Unicast For address family: VPNv4 Unicast BGP neighbor is 10.10.10.3, remote AS 100, internal link BGP version 4, remote router ID 10.10.10.3 BGP state = Established, up for 02:59:19 Last read 00:00:47, last write 00:00:30, hold time is 180, keepalive interval is 60 seconds Neighbor sessions: 1 active, is multisession capable Neighbor capabilities: Route refresh: advertised and received(new) Four-octets ASN Capability: advertised and received Address family VPNv4 Unicast: advertised and received < -- vpnv4でadv,revしています Multisession Capability: advertised and received Message statistics, state Established: InQ depth is 0 OutQ depth is 0 * bgp tableを確認します。 R1# show ip bgp vpnv4 vrf VPN002_BLUE BGP table version is 24, local router ID is 10.10.10.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 100:700 (default for vrf VPN002_BLUE) *> 10.10.10.7/32 0.0.0.0 0 32768 ? *>i10.10.10.8/32 10.10.10.3 0 100 0 ? *> 10.10.10.11/32 0.0.0.0 0 32768 ? *>i10.10.10.22/32 10.10.10.3 0 100 0 ? *> 192.168.100.0 0.0.0.0 0 32768 ? *>i192.168.200.0 10.10.10.3 0 100 0 ? * vrfのrouting-tableを確認します。BGPの経路がentryされていることです。 R1# show ip route vrf VPN002_BLUE Routing Table: VPN002_BLUE 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, + - replicated route Gateway of last resort is not set 10.0.0.0/32 is subnetted, 4 subnets S 10.10.10.7 is directly connected, Serial1/2 B 10.10.10.8 [200/0] via 10.10.10.3, 00:19:52 S 10.10.10.11 is directly connected, Serial1/2 B 10.10.10.22 [200/0] via 10.10.10.3, 00:19:52 192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.100.0/24 is directly connected, Serial1/2 L 192.168.100.1/32 is directly connected, Serial1/2 B 192.168.200.0/24 [200/0] via 10.10.10.3, 00:18:14

対向のCE同士で、pingとtracerouteを実行してみる

R8# ping 10.10.10.11 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.11, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 56/70/88 ms R8# ping 10.10.10.7 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.7, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 60/149/260 ms R8# traceroute 10.10.10.11 Type escape sequence to abort. Tracing the route to 10.10.10.11 1 192.168.200.3 160 msec 56 msec 20 msec 2 192.168.34.4 [MPLS: Labels 18/28 Exp 0] 1104 msec 128 msec 76 msec 3 192.168.100.1 [MPLS: Label 28 Exp 0] 744 msec 136 msec 48 msec 4 192.168.100.7 964 msec 52 msec * * これだとmpls網の経路が見えてしまうので、PEに R1(config)#n no mpls ip propagate-ttl * もう一度trace R8# traceroute 10.10.10.11 Type escape sequence to abort. Tracing the route to 10.10.10.11 1 192.168.200.3 228 msec 24 msec 24 msec 2 192.168.100.1 [MPLS: Label 28 Exp 0] 268 msec 132 msec 36 msec 3 192.168.100.7 240 msec 32 msec *

ここまでで基本の設定は完了です。 VPN001_REDとVPN001_BLUEのパケットがまざらずに、routingされるか。 ここまでのconfig-sampleを PE-R1 PE-R3 PC-R5 PC-R6 PC-R7 PC-R8 次回はL2-tunnelに挑戦したいと思います。