日本語フォーラム

 View Only
last person joined: 7 days ago 

HPE Aruba Networking のソリューション、ネットワークマーケットに関する日本語ディスカッションフォーラム

VRF間のルートリーク設定方法

This thread has been viewed 7 times
  • 1.  VRF間のルートリーク設定方法

    EMPLOYEE
    Posted 28 days ago
      |   view attached

    【はじめに】

    CXシリーズスイッチでは、1台のスイッチ上で独立した複数のルーティングテーブルを保持できるVRF機能に対応しています(CX6200F以上)

    VRFは、多数のテナントを収用するデータセンターや、組織の統廃合完了までに一時的にネットワークを独立させて利用・運用する際に利用されたりしますが、

    論理的に分割されているため、互いのネットワークの一部セグメントにアクセスしたいようなケースでは、経路制御やアクセスを、どのように実現させるのか悩ましいケースも出てきます。

    IVRFInter-Virtual Router Forwarding)と呼ばれるルートリーク機能を利用することで、VRF間での通信を実現することができます。

    本投稿では、ルートリークの設定方法について紹介をします。

    スタティックルートを利用した設定

    [動作確認時の構成]

    • CX1上でVRFを利用し、テナント1用とテナント2用のルーティングテーブルを論理的に分割します。
      CX3と接続される側をテナント1CX2と接続される側をテナント2とします。
    • CX2CX3では、ループバックアドレスと、CX1をネクストホップとしたルーティング設定(スタティックルート)を事前に設定済みの状態です。

    [CX1設定前のルーティングテーブルと通信確認]

    テナント1とテナント2VRFのルーティングテーブルは、以下のようになっています。

    show ip routeコマンドのオプションで、vrf <vrf>を指定します。

    ------------------------------------------------------------------------------------------

    CX1# show ip route vrf tenant1

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.2/32, vrf tenant1

                  via  1/1/2[vrf tenant2],  [1/0],  static

    192.168.1.0/24, vrf tenant1

                  via  1/1/1,  [0/0],  connected

    192.168.1.1/32, vrf tenant1

                  via  1/1/1,  [0/0],  local

    CX1#

    CX1#show ip route vrf tenant2

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.3/32, vrf tenant2

                  via  1/1/1[vrf tenant1],  [1/0],  static

    192.168.2.0/24, vrf tenant2

                  via  1/1/2,  [0/0],  connected

    192.168.2.1/32, vrf tenant2

                  via  1/1/2,  [0/0],  local

    CX1#

    ------------------------------------------------------------------------------------------

    ルートリークの設定前は、CX2CX3それぞれから対向スイッチのループバックアドレス宛に通信しようとしても失敗しています。

    ------------------------------------------------------------------------------------------

    CX2# ping 10.1.1.3 source 10.1.1.2

    PING 10.1.1.3 (10.1.1.3) from 10.1.1.2 : 100(128) bytes of data.

    --- 10.1.1.3 ping statistics ---

    5 packets transmitted, 0 received, 100% packet loss, time 4132ms

    CX2#

    CX3# ping 10.1.1.2 source 10.1.1.3

    PING 10.1.1.2 (10.1.1.2) from 10.1.1.3 : 100(128) bytes of data.

    From 10.1.1.3 icmp_seq=4 Destination Host Unreachable

    --- 10.1.1.2 ping statistics ---

    5 packets transmitted, 0 received, +1 errors, 100% packet loss, time 4082ms

    CX3#

    ------------------------------------------------------------------------------------------

    [CX1への設定追加]

    それぞれのVRFで以下の設定を追加します。

    • テナント1側VRF

    CX1(config)# ip route 10.1.1.2/32 1/1/2 vrf tenant1

    • テナント2側VRF

    CX1(config)# ip route 10.1.1.3/32 1/1/1 vrf tenant2

    [CX1設定後のルーティングテーブルと通信確認]

    設定追加後、テナント1とテナント2VRFのルーティングテーブルは以下のようになっています。

    showコマンド出力箇所の赤字部分が、設定追加前との差分箇所になります。

    ------------------------------------------------------------------------------------------

    CX1# show ip route vrf tenant1

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.2/32, vrf tenant1

                  via  1/1/2[vrf tenant2],  [1/0],  static

    10.1.1.3/32, vrf tenant1

                  via  192.168.1.3,  [1/0],  static

    192.168.1.0/24, vrf tenant1

                  via  1/1/1,  [0/0],  connected

    192.168.1.1/32, vrf tenant1

                  via  1/1/1,  [0/0],  local

    CX1#

    CX1# show ip route vrf tenant2

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.2/32, vrf tenant2

                  via  192.168.2.2,  [1/0],  static

    10.1.1.3/32, vrf tenant2

                  via  1/1/1[vrf tenant1],  [1/0],  static

    192.168.2.0/24, vrf tenant2

                  via  1/1/2,  [0/0],  connected

    192.168.2.1/32, vrf tenant2

                  via  1/1/2,  [0/0],  local

    CX1#

    ------------------------------------------------------------------------------------------

    CX2CX3それぞれから対向スイッチのループバックアドレス宛に通信できるようになります。

    ------------------------------------------------------------------------------------------

    CX2# ping 10.1.1.3 source 10.1.1.2

    PING 10.1.1.3 (10.1.1.3) from 10.1.1.2 : 100(128) bytes of data.

    108 bytes from 10.1.1.3: icmp_seq=1 ttl=62 time=8.00 ms

    108 bytes from 10.1.1.3: icmp_seq=2 ttl=62 time=8.19 ms

    108 bytes from 10.1.1.3: icmp_seq=3 ttl=62 time=8.60 ms

    108 bytes from 10.1.1.3: icmp_seq=4 ttl=62 time=13.7 ms

    108 bytes from 10.1.1.3: icmp_seq=5 ttl=62 time=2.02 ms

    --- 10.1.1.3 ping statistics ---

    5 packets transmitted, 5 received, 0% packet loss, time 4146ms

    rtt min/avg/max/mdev = 2.024/8.115/13.754/3.719 ms

    CX2#

    CX3# ping 10.1.1.2 source 10.1.1.3

    PING 10.1.1.2 (10.1.1.2) from 10.1.1.3 : 100(128) bytes of data.

    108 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=9.13 ms

    108 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=7.32 ms

    108 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=7.97 ms

    108 bytes from 10.1.1.2: icmp_seq=4 ttl=62 time=7.61 ms

    108 bytes from 10.1.1.2: icmp_seq=5 ttl=62 time=7.39 ms

    --- 10.1.1.2 ping statistics ---

    5 packets transmitted, 5 received, 0% packet loss, time 4005ms

    rtt min/avg/max/mdev = 7.322/7.886/9.131/0.669 ms

    CX3#

    ------------------------------------------------------------------------------------------

    【route-taregetとBGPを利用した動的設定】

    [動作確認時の構成]

    構成は、先のスタティックの設定と同様ですが、CX1CX2CX3OSPFを利用して、ループバックのアドレスをOSPFでアドバタイズさせるように変更しています。

    [CX1設定前のルーティングテーブルと通信確認]

    テナント1とテナント2VRFのルーティングテーブルは、以下のようになっています。

    テナント1側では、CX3のループバックアドレス、テナント2側では、CX2のループバックアドレスの経路が、OSPFを経路学習元としてルーティングテーブルに登録されています。

    ------------------------------------------------------------------------------------------

    CX1# show ip route vrf tenant1

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.1/32, vrf tenant1

                  via  loopback1,  [0/0],  local

    10.1.1.3/32, vrf tenant1

                  via  192.168.1.3,  [110/100],  ospf

    192.168.1.0/24, vrf tenant1

                  via  1/1/1,  [0/0],  connected

    192.168.1.1/32, vrf tenant1

                  via  1/1/1,  [0/0],  local

    CX1# show ip route vrf tenant2

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.1/32, vrf tenant2

                  via  loopback2,  [0/0],  local

    10.1.1.2/32, vrf tenant2

                  via  192.168.2.2,  [110/100],  ospf

    192.168.2.0/24, vrf tenant2

                  via  1/1/2,  [0/0],  connected

    192.168.2.1/32, vrf tenant2

                  via  1/1/2,  [0/0],  local

    CX1#

    ------------------------------------------------------------------------------------------

    スタティックルート設定の時と同様に、ルートリークの設定前は、CX2CX3それぞれから対向スイッチのループバックアドレス宛に通信しようとしても失敗しています。

    [CX1への設定追加]

    テナント1とテナント2のVRFで、RDRoute Distinguisher)とRTRoute Target)を指定します。

    route-targetでは、importexportを指定しますが、exportは自身のRD値を、importでは対向のVRFRD値(テナント1は、64531:2を、テナント2は、64531:1 を)指定します。

    BGPの設定を新規に行い、OSPF経路を再配送します。

    OSPFの設定にBGP経路を再配送する設定を追加します。

    ------------------------------------------------------------------------------------------

    CX1(config)#

    !

    vrf tenant1

        rd 64531:1

        address-family ipv4 unicast

            route-target export 64531:1

            route-target import 64531:2

        exit-address-family

    vrf tenant2

        rd 64531:2

        address-family ipv4 unicast

            route-target export 64531:2

            route-target import 64531:1

        exit-address-family

    !

    router bgp 64531

    !

        vrf tenant1

            address-family ipv4 unicast

                redistribute ospf

            exit-address-family

    !

        vrf tenant2

            address-family ipv4 unicast

                redistribute ospf

            exit-address-family

    !

    router ospf 1 vrf tenant1

        redistribute bgp

    router ospf 2 vrf tenant2

        redistribute bgp

    !

    CX1(config)#

    ------------------------------------------------------------------------------------------

    [CX1設定後のルーティングテーブルと通信確認]

    設定追加後、テナント1とテナント2VRFのルーティングテーブルは以下のようになっています。

    showコマンド出力箇所の赤字部分が、設定追加前との差分箇所になります。

    ------------------------------------------------------------------------------------------

    CX1# show ip route vrf tenant1

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.1/32, vrf tenant1

                  via  loopback1,  [0/0],  local

    10.1.1.2/32, vrf tenant1

                  via  192.168.2.2[vrf tenant2],  [200/0],  bgp

    10.1.1.3/32, vrf tenant1

                  via  192.168.1.3,  [110/100],  ospf

    192.168.1.0/24, vrf tenant1

                  via  1/1/1,  [0/0],  connected

    192.168.1.1/32, vrf tenant1

                  via  1/1/1,  [0/0],  local

    192.168.2.0/24, vrf tenant1

                  via  1/1/2[vrf tenant2],  [200/0],  bgp

    CX1#

    CX1# show ip route vrf tenant2

    Displaying ipv4 routes selected for forwarding

    '[x/y]' denotes [distance/metric]

    10.1.1.1/32, vrf tenant2

                  via  loopback2,  [0/0],  local

    10.1.1.2/32, vrf tenant2

                  via  192.168.2.2,  [110/100],  ospf

    10.1.1.3/32, vrf tenant2

                  via  192.168.1.3[vrf tenant1],  [200/0],  bgp

    192.168.1.0/24, vrf tenant2

                  via  1/1/1[vrf tenant1],  [200/0],  bgp

    192.168.2.0/24, vrf tenant2

                  via  1/1/2,  [0/0],  connected

    192.168.2.1/32, vrf tenant2

                  via  1/1/2,  [0/0],  local

    CX1#

    ------------------------------------------------------------------------------------------

    CX2CX3それぞれから対向スイッチのループバックアドレス宛に通信できるようになります。

    ------------------------------------------------------------------------------------------

    CX2# ping 10.1.1.3 source 10.1.1.2

    PING 10.1.1.3 (10.1.1.3) from 10.1.1.2 : 100(128) bytes of data.

    108 bytes from 10.1.1.3: icmp_seq=1 ttl=63 time=9.67 ms

    108 bytes from 10.1.1.3: icmp_seq=2 ttl=63 time=7.14 ms

    108 bytes from 10.1.1.3: icmp_seq=3 ttl=63 time=7.76 ms

    108 bytes from 10.1.1.3: icmp_seq=4 ttl=63 time=7.16 ms

    108 bytes from 10.1.1.3: icmp_seq=5 ttl=63 time=6.43 ms

    --- 10.1.1.3 ping statistics ---

    5 packets transmitted, 5 received, 0% packet loss, time 4004ms

    rtt min/avg/max/mdev = 6.434/7.636/9.670/1.102 ms

    CX2#

    CX3# ping 10.1.1.2 source 10.1.1.3

    PING 10.1.1.2 (10.1.1.2) from 10.1.1.3 : 100(128) bytes of data.

    108 bytes from 10.1.1.2: icmp_seq=1 ttl=63 time=5.38 ms

    108 bytes from 10.1.1.2: icmp_seq=2 ttl=63 time=1.83 ms

    108 bytes from 10.1.1.2: icmp_seq=3 ttl=63 time=6.42 ms

    108 bytes from 10.1.1.2: icmp_seq=4 ttl=63 time=6.32 ms

    108 bytes from 10.1.1.2: icmp_seq=5 ttl=63 time=6.06 ms

    --- 10.1.1.2 ping statistics ---

    5 packets transmitted, 5 received, 0% packet loss, time 4005ms

    rtt min/avg/max/mdev = 1.833/5.207/6.428/1.726 ms

    CX3#

    ------------------------------------------------------------------------------------------

    【終わりに】

    CXシリーズスイッチは、認証機能やAruba Centralを利用したクラウド設定・管理に注目されていますが、他にも実用十分な機能をサポートしており、お客様での採用が増えてきております。

    今回の設定例については、紹介を主にしておりますので、詳細な制限などについては、各シリーズの設定ガイドを確認ください。

    #Blog #Wired

    Attachment(s)

    zip
    test-log-file.zip   15 KB 1 version