NSX-T VRFの作成

スポンサーリンク

T0ゲートウェイのVRFの使い方をまとめます。NSX-TにはVRFの機能が備わっており、ルーティングテーブルを分割することができます。NSX Edgeは1台のT0ゲートウェイしか作成することができないため、「環境ごとに独立したネットワークを構築して欲しい」という要件が発生したときにNSX Edgeを増設せずに(言い換えれば、大きなリソース消費なしに)ルーティングテーブルを増やすことができます。

正確に言えば、NSX Edgeに複数のT0ゲートウェイの作成は可能です。「物理ネットワークに接続された複数のT0ゲートウェイを作成できない」が正確な言い方で、NSX-T内部に閉じた通信ならばT0ゲートウェイの複数作成は可能です。

想定シナリオ

実践的な要件

VRFの使い所のひとつとしてよく見られるのが複数環境の構築です。例えば、「結合試験を2並行で実施したい。全く独立したテスト環境が2つ欲しい。でも、物理リソースの追加予算はない。」のような要件が挙げられます。他には、「検証環境とバックアップ環境」「商用環境と移行過渡期環境」など、移行計画の仕事に携わったことがある人ならば、容易に利用局面は想像できるでしょう。

論理的な構成を示すと以下のようになります。

実践でよく見られる構成

検証シナリオ

このページでは、自宅の廉価構成でも動作確認できるよう、1台のESXiで検証できる構成を紹介します。NSX-T外部に存在するネットワーク機器は、どのメーカーの仮想ルータでも差し支えございません。このページではArista vEOSのログを掲載していますが、BGPがしゃべれるルータならばどのメーカーでも差し支えございません。

以下に検証構成を示します。

仮想ルータの種類によってはプロミスキャスモードを有効にする必要があることに注意ください。

自宅構成

前提条件

vlanタグはNSX-Tのセグメント機能で付与します。従って、ポートグループやトランスポートゾーンではvlanタグを付与しないように注意ください。

ポートグループの設定例は以下の通りです。VSS(標準仮想スイッチ)の場合は、vlan 4095を指定するとvlanタグを通すようになります。

ポートグループの設定

アップリンクプロファイルはvlan0(vlanタグ)を付与しない設定になっていることを確認します。

アップリンクプロファイルの設定

アップリンクプロファイルの設定全文は以下の通りです。

アップリンクプロファイル
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/api/v1/host-switch-profiles/ddedf839-2b5b-41b5-98cc-4f5a765d1a6a
{
  "teaming" : {
    "policy" : "FAILOVER_ORDER",
    "active_list" : [ {
      "uplink_name" : "uplink1",
      "uplink_type" : "PNIC"
    } ]
  },
  "transport_vlan" : 0,
  "overlay_encap" : "GENEVE",
  "resource_type" : "UplinkHostSwitchProfile",
  "id" : "ddedf839-2b5b-41b5-98cc-4f5a765d1a6a",
  "display_name" : "prof-edge-single-01",
  "_create_user" : "admin",
  "_create_time" : 1619881224931,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1619881224931,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 0
}

VRF検証構成作成

T0ゲートウェイの作成

「T0ゲートウェイ」「ゲートウェイの追加」「Tier-0」の順に押下します。

Tier-0 gatewayの作成 01

「名前」など最小限のパラメタを入力し、T0ゲートウェイを作成します。

Tier-0 gatewayの作成 02

T0ゲートウェイの設定全文は以下の通りです。

T0ゲートウェイ
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/t0-router
{
  "transit_subnets" : [ "100.64.0.0/16" ],
  "internal_transit_subnets" : [ "169.254.0.0/24" ],
  "ha_mode" : "ACTIVE_ACTIVE",
  "failover_mode" : "NON_PREEMPTIVE",
  "ipv6_profile_paths" : [ "/infra/ipv6-ndra-profiles/default", "/infra/ipv6-dad-profiles/default" ],
  "force_whitelisting" : false,
  "default_rule_logging" : false,
  "disable_firewall" : false,
  "advanced_config" : {
    "forwarding_up_timer" : 0,
    "connectivity" : "ON"
  },
  "resource_type" : "Tier0",
  "id" : "t0-router",
  "display_name" : "t0-router",
  "path" : "/infra/tier-0s/t0-router",
  "relative_path" : "t0-router",
  "parent_path" : "/infra",
  "unique_id" : "8fa21e7e-7e9c-451e-8842-15d3d8d613f2",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620456678629,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620456678640,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 0
}

ループバックアドレス

T0ゲートウェイに最小限のパラメタを入力すると、その後はT0ゲートウェイにより詳細なパラメタを指定できるようになります。

そのVRFが所属するT0ゲートウェイにinterfaceが付与されてないと、VRFにinterfaceを作成できない制約があります。この制約を回避するために、T0ゲートウェイにinterfaceを作成します。

よくあるネットワーク機器の仕様を想像すれば、このNSX-Tの制約は至極納得ができる挙動です。多くのBGPプロセスはデフォルトでvrf defaultに所属するIPv4アドレスをルータIDとして選出します。もし、vrf defaultでIPv4アドレスが指定されてなければ、ルータIDを定義することができずにBGPプロセスは起動できないでしょう。

ループバックアドレスの付与 01

「インターフェースの追加」を押下します。

ループバックアドレスの付与 02

NSX-T外と通信するinterfaceではないので、タイプは「ループバック」とします。IPアドレスもどこかと通信するIPアドレスではないため、最も影響が少ないAPIPA(169.254.0.0/16)から採番しています。

このIPアドレスはBGPルータIDとして使用されます。advertiseされることはありませんが、ルータIDは物理のBGPルータ含めて、IDがバッティングしないように採番ください。

ループバックアドレスの付与 03

同様の操作を繰り返し、全てのNSX Edgeにループバックアドレスを付与します。

ループバックアドレスの付与 04

T0ゲートウェイのインターフェースの設定全文は以下の通りです。

T0ゲートウェイのインターフェース
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/t0-router/locale-services/default/interfaces
{
  "results" : [ {
    "urpf_mode" : "STRICT",
    "edge_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/b3716a17-115c-4e83-ac91-e3f6e0c53456/edge-nodes/0",
    "type" : "LOOPBACK",
    "resource_type" : "Tier0Interface",
    "id" : "loopback-131",
    "display_name" : "loopback-131",
    "path" : "/infra/tier-0s/t0-router/locale-services/default/interfaces/loopback-131",
    "relative_path" : "loopback-131",
    "parent_path" : "/infra/tier-0s/t0-router/locale-services/default",
    "unique_id" : "da3367b6-60e0-4c76-aeed-b264c3946270",
    "marked_for_delete" : false,
    "overridden" : false,
    "subnets" : [ {
      "ip_addresses" : [ "169.254.200.131" ],
      "prefix_len" : 32
    } ],
    "_create_user" : "admin",
    "_create_time" : 1620456723492,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620456723494,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  }, {
    "urpf_mode" : "STRICT",
    "edge_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/b3716a17-115c-4e83-ac91-e3f6e0c53456/edge-nodes/1",
    "type" : "LOOPBACK",
    "resource_type" : "Tier0Interface",
    "id" : "loopback-132",
    "display_name" : "loopback-132",
    "path" : "/infra/tier-0s/t0-router/locale-services/default/interfaces/loopback-132",
    "relative_path" : "loopback-132",
    "parent_path" : "/infra/tier-0s/t0-router/locale-services/default",
    "unique_id" : "d8a066ab-9838-4884-8255-0fe1ded96b73",
    "marked_for_delete" : false,
    "overridden" : false,
    "subnets" : [ {
      "ip_addresses" : [ "169.254.200.132" ],
      "prefix_len" : 32
    } ],
    "_create_user" : "admin",
    "_create_time" : 1620456741625,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620456741625,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  } ],
  "result_count" : 2,
  "sort_by" : "display_name",
  "sort_ascending" : true
}

外部セグメント

「セグメントの追加」を押下します。

セグメント追加 01

VRFを使用する場合は、NSX Edgeで共通の仮想NICを使うことになりますので、セグメントの設定でvlanタグを付与します。NSX-T 3.1.2 最小限構成のインストール方法 (5/7) 」で紹介した設定ではvlanタグを付与しませんでしたが、VRFを使用する時はvlanタグの付与が必要になることに注意ください。

セグメント追加 02

同様の操作を繰り返し、複数のセグメントを作成します。

セグメント追加 03

セグメントの設定全文は以下の通りです。

セグメント
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/segments
{
  "results" : [ {
    "type" : "DISCONNECTED",
    "vlan_ids" : [ "3" ],
    "transport_zone_path" : "/infra/sites/default/enforcement-points/default/transport-zones/a0afeb99-074e-49c8-a614-605c05bb3768",
    "advanced_config" : {
      "address_pool_paths" : [ ],
      "hybrid" : false,
      "inter_router" : false,
      "local_egress" : false,
      "urpf_mode" : "STRICT",
      "connectivity" : "ON"
    },
    "admin_state" : "UP",
    "replication_mode" : "MTEP",
    "resource_type" : "Segment",
    "id" : "external-vlan3",
    "display_name" : "external-vlan3",
    "path" : "/infra/segments/external-vlan3",
    "relative_path" : "external-vlan3",
    "parent_path" : "/infra",
    "unique_id" : "49daf6a5-207f-4735-9dc9-00d7617a43d1",
    "marked_for_delete" : false,
    "overridden" : false,
    "_create_user" : "admin",
    "_create_time" : 1620458302938,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620458302939,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  }, {
    "type" : "DISCONNECTED",
    "vlan_ids" : [ "4" ],
    "transport_zone_path" : "/infra/sites/default/enforcement-points/default/transport-zones/a0afeb99-074e-49c8-a614-605c05bb3768",
    "advanced_config" : {
      "address_pool_paths" : [ ],
      "hybrid" : false,
      "inter_router" : false,
      "local_egress" : false,
      "urpf_mode" : "STRICT",
      "connectivity" : "ON"
    },
    "admin_state" : "UP",
    "replication_mode" : "MTEP",
    "resource_type" : "Segment",
    "id" : "external-vlan4",
    "display_name" : "external-vlan4",
    "path" : "/infra/segments/external-vlan4",
    "relative_path" : "external-vlan4",
    "parent_path" : "/infra",
    "unique_id" : "635a551f-39d8-43a8-a80d-26f8bf2a68dd",
    "marked_for_delete" : false,
    "overridden" : false,
    "_create_user" : "admin",
    "_create_time" : 1620458321594,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620458321596,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  } ],
  "result_count" : 2,
  "sort_by" : "display_name",
  "sort_ascending" : true
}

VRF

「T0ゲートウェイ」「ゲートウェイの追加」「VRF」の順に押下します。

VRFの追加 01

「名前」や「Tier-0ゲートウェイに接続」などパラメタを入力し、VRFを作成します。

VRFの追加 02

同様の操作を繰り返し、複数のVRFを作成します。

VRFの追加 03

VRFの設定全文は以下の通りです。

VRF
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf03
{
  "transit_subnets" : [ "100.64.0.0/16" ],
  "internal_transit_subnets" : [ "169.254.0.0/24" ],
  "ha_mode" : "ACTIVE_ACTIVE",
  "failover_mode" : "NON_PREEMPTIVE",
  "ipv6_profile_paths" : [ "/infra/ipv6-ndra-profiles/default", "/infra/ipv6-dad-profiles/default" ],
  "force_whitelisting" : false,
  "default_rule_logging" : false,
  "disable_firewall" : false,
  "vrf_config" : {
    "tier0_path" : "/infra/tier-0s/t0-router"
  },
  "advanced_config" : {
    "forwarding_up_timer" : 0,
    "connectivity" : "ON"
  },
  "resource_type" : "Tier0",
  "id" : "vrf03",
  "display_name" : "vrf03",
  "path" : "/infra/tier-0s/vrf03",
  "relative_path" : "vrf03",
  "parent_path" : "/infra",
  "unique_id" : "d4f4f995-713f-4bf4-851f-d0d1fbd728a1",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620459733987,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620459734016,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 0
}[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf04
{
  "transit_subnets" : [ "100.64.0.0/16" ],
  "internal_transit_subnets" : [ "169.254.0.0/24" ],
  "ha_mode" : "ACTIVE_ACTIVE",
  "failover_mode" : "NON_PREEMPTIVE",
  "ipv6_profile_paths" : [ "/infra/ipv6-ndra-profiles/default", "/infra/ipv6-dad-profiles/default" ],
  "force_whitelisting" : false,
  "default_rule_logging" : false,
  "disable_firewall" : false,
  "vrf_config" : {
    "tier0_path" : "/infra/tier-0s/t0-router"
  },
  "advanced_config" : {
    "forwarding_up_timer" : 0,
    "connectivity" : "ON"
  },
  "resource_type" : "Tier0",
  "id" : "vrf04",
  "display_name" : "vrf04",
  "path" : "/infra/tier-0s/vrf04",
  "relative_path" : "vrf04",
  "parent_path" : "/infra",
  "unique_id" : "4c68ab11-9f2f-4268-8f83-f3e9bb5df9c8",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620460508366,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620460508387,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 0
}

BGP有効化

T0ゲートウェイはデフォルトでBGPが有効ですが、VRFはデフォルトでBGPが無効です。まずはBGPを「有効」に変更し「保存」を押下します。

必ず「保存」を押下した後に「BGPネイバー」の設定をしてください。

BGP 有効化 01

設定が反映されたことを確認します。

BGP 有効化 02

BGPの設定全文は以下の通りです。

BGP
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf03/locale-services/default/bgp
{
  "enabled" : true,
  "ecmp" : true,
  "resource_type" : "BgpRoutingConfig",
  "id" : "bgp",
  "display_name" : "bgp",
  "path" : "/infra/tier-0s/vrf03/locale-services/default/bgp",
  "relative_path" : "bgp",
  "parent_path" : "/infra/tier-0s/vrf03/locale-services/default",
  "unique_id" : "9b32198b-3a2d-4312-a85d-392153fdbc6b",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620459734052,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620462594557,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 3
}[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf04/locale-services/default/bgp
{
  "enabled" : true,
  "ecmp" : true,
  "resource_type" : "BgpRoutingConfig",
  "id" : "bgp",
  "display_name" : "bgp",
  "path" : "/infra/tier-0s/vrf04/locale-services/default/bgp",
  "relative_path" : "bgp",
  "parent_path" : "/infra/tier-0s/vrf04/locale-services/default",
  "unique_id" : "de459c00-7c4c-4a81-a15d-4d84960c6948",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620460508425,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620462790654,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 1
}

BGPネイバー

「(BGPネイバー)設定」を押下します。

BGP ネイバーの確立 01

「BGPネイバーの追加」を押下します。

BGP ネイバーの確立 02

ネイバーのIPアドレスやAS番号を入力します。

BGP ネイバーの確立 03

必要あれば、タイマーなどを変更します。

BGP ネイバーの確立 04

同様の設定を必要なだけ繰り返します。

BGP ネイバーの確立 05

BGPネイバーの設定全文は以下の通りです。

BGPネイバー
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf03/locale-services/default/bgp/neighbors
{
  "results" : [ {
    "source_addresses" : [ "192.168.3.131", "192.168.3.132" ],
    "neighbor_address" : "192.168.3.111",
    "remote_as_num" : "65000",
    "route_filtering" : [ {
      "enabled" : true,
      "address_family" : "IPV4"
    } ],
    "keep_alive_time" : 3,
    "hold_down_time" : 10,
    "bfd" : {
      "enabled" : false,
      "interval" : 500,
      "multiple" : 3
    },
    "allow_as_in" : false,
    "maximum_hop_limit" : 1,
    "resource_type" : "BgpNeighborConfig",
    "id" : "3ae41f58-aa35-4fb3-b8eb-696e39d2bc48",
    "display_name" : "3ae41f58-aa35-4fb3-b8eb-696e39d2bc48",
    "path" : "/infra/tier-0s/vrf03/locale-services/default/bgp/neighbors/3ae41f58-aa35-4fb3-b8eb-696e39d2bc48",
    "relative_path" : "3ae41f58-aa35-4fb3-b8eb-696e39d2bc48",
    "parent_path" : "/infra/tier-0s/vrf03/locale-services/default/bgp",
    "unique_id" : "04bf2197-efd1-4b12-b229-9c4494aa34b3",
    "marked_for_delete" : false,
    "overridden" : false,
    "_create_user" : "admin",
    "_create_time" : 1620462632011,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620462632015,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  }, {
    "source_addresses" : [ "192.168.3.131", "192.168.3.132" ],
    "neighbor_address" : "192.168.3.112",
    "remote_as_num" : "65000",
    "route_filtering" : [ {
      "enabled" : true,
      "address_family" : "IPV4"
    } ],
    "keep_alive_time" : 3,
    "hold_down_time" : 10,
    "bfd" : {
      "enabled" : false,
      "interval" : 500,
      "multiple" : 3
    },
    "allow_as_in" : false,
    "maximum_hop_limit" : 1,
    "resource_type" : "BgpNeighborConfig",
    "id" : "4632225b-ff0e-458c-93cb-99b92dbbb5b3",
    "display_name" : "4632225b-ff0e-458c-93cb-99b92dbbb5b3",
    "path" : "/infra/tier-0s/vrf03/locale-services/default/bgp/neighbors/4632225b-ff0e-458c-93cb-99b92dbbb5b3",
    "relative_path" : "4632225b-ff0e-458c-93cb-99b92dbbb5b3",
    "parent_path" : "/infra/tier-0s/vrf03/locale-services/default/bgp",
    "unique_id" : "abbf5c25-ba6c-42bc-a764-932438d13800",
    "marked_for_delete" : false,
    "overridden" : false,
    "_create_user" : "admin",
    "_create_time" : 1620462649280,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620462649286,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  } ],
  "result_count" : 2,
  "sort_by" : "display_name",
  "sort_ascending" : true
}[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf04/locale-services/default/bgp/neighbors
{
  "results" : [ {
    "source_addresses" : [ "192.168.4.131", "192.168.4.132" ],
    "neighbor_address" : "192.168.4.112",
    "remote_as_num" : "65000",
    "route_filtering" : [ {
      "enabled" : true,
      "address_family" : "IPV4"
    } ],
    "keep_alive_time" : 3,
    "hold_down_time" : 10,
    "bfd" : {
      "enabled" : false,
      "interval" : 500,
      "multiple" : 3
    },
    "allow_as_in" : false,
    "maximum_hop_limit" : 1,
    "resource_type" : "BgpNeighborConfig",
    "id" : "9a549b3c-f6c6-4196-bcdf-ce0051d3ee08",
    "display_name" : "9a549b3c-f6c6-4196-bcdf-ce0051d3ee08",
    "path" : "/infra/tier-0s/vrf04/locale-services/default/bgp/neighbors/9a549b3c-f6c6-4196-bcdf-ce0051d3ee08",
    "relative_path" : "9a549b3c-f6c6-4196-bcdf-ce0051d3ee08",
    "parent_path" : "/infra/tier-0s/vrf04/locale-services/default/bgp",
    "unique_id" : "5c486f3a-133b-4abc-b403-12d122307b33",
    "marked_for_delete" : false,
    "overridden" : false,
    "_create_user" : "admin",
    "_create_time" : 1620463061453,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620463061457,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  }, {
    "source_addresses" : [ "192.168.4.131", "192.168.4.132" ],
    "neighbor_address" : "192.168.4.111",
    "remote_as_num" : "65000",
    "route_filtering" : [ {
      "enabled" : true,
      "address_family" : "IPV4"
    } ],
    "keep_alive_time" : 3,
    "hold_down_time" : 10,
    "bfd" : {
      "enabled" : false,
      "interval" : 500,
      "multiple" : 3
    },
    "allow_as_in" : false,
    "maximum_hop_limit" : 1,
    "resource_type" : "BgpNeighborConfig",
    "id" : "f409536c-fdcc-41be-955e-f1e1106fb8d4",
    "display_name" : "f409536c-fdcc-41be-955e-f1e1106fb8d4",
    "path" : "/infra/tier-0s/vrf04/locale-services/default/bgp/neighbors/f409536c-fdcc-41be-955e-f1e1106fb8d4",
    "relative_path" : "f409536c-fdcc-41be-955e-f1e1106fb8d4",
    "parent_path" : "/infra/tier-0s/vrf04/locale-services/default/bgp",
    "unique_id" : "98db212c-764a-4e25-b82d-fa4f63e2ada5",
    "marked_for_delete" : false,
    "overridden" : false,
    "_create_user" : "admin",
    "_create_time" : 1620462902437,
    "_last_modified_user" : "admin",
    "_last_modified_time" : 1620462902441,
    "_system_owned" : false,
    "_protection" : "NOT_PROTECTED",
    "_revision" : 0
  } ],
  "result_count" : 2,
  "sort_by" : "display_name",
  "sort_ascending" : true
}

ネットワーク機器側にログインし、BGP neighborが確立されたことを確認します。

arista111#show ip bgp summary vrf all 
BGP summary information for VRF default
Router identifier 169.254.200.111, local AS number 65000
Neighbor Status Codes: m - Under maintenance
  Neighbor         V  AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
BGP summary information for VRF vrf03
Router identifier 192.168.3.111, local AS number 65000
Neighbor Status Codes: m - Under maintenance
  Neighbor         V  AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  192.168.3.131    4  65000           1170      1190    0    0 00:57:13 Estab   0      0
  192.168.3.132    4  65000           1170      1190    0    0 00:57:13 Estab   0      0
BGP summary information for VRF vrf04
Router identifier 192.168.4.111, local AS number 65000
Neighbor Status Codes: m - Under maintenance
  Neighbor         V  AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  192.168.4.131    4  65000           1057      1062    0    0 00:52:43 Estab   0      0
  192.168.4.132    4  65000           1057      1062    0    0 00:52:44 Estab   0      0
arista111#
arista112#show ip bgp summary vrf all
BGP summary information for VRF default
Router identifier 169.254.200.112, local AS number 65000
Neighbor Status Codes: m - Under maintenance
  Neighbor         V  AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
BGP summary information for VRF vrf03
Router identifier 192.168.3.112, local AS number 65000
Neighbor Status Codes: m - Under maintenance
  Neighbor         V  AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  192.168.3.131    4  65000           1109      1125    0    0 00:55:19 Estab   0      0
  192.168.3.132    4  65000           1109      1125    0    0 00:55:19 Estab   0      0
BGP summary information for VRF vrf04
Router identifier 192.168.4.112, local AS number 65000
Neighbor Status Codes: m - Under maintenance
  Neighbor         V  AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  192.168.4.131    4  65000            972       979    0    0 00:48:28 Estab   0      0
  192.168.4.132    4  65000            972       979    0    0 00:48:28 Estab   0      0
arista112#

内部セグメントの作成

「セグメントの追加」を押下します。

内部セグメント 01

「セグメント名」や「トランスポートゾーン」を指定します。「接続されたゲートウェイ」はT0ゲートウェイではなくVRFを指定します。

内部セグメント 02

同様の設定を必要なだけ繰り返します。

内部セグメント 03

セグメントの設定は以下の通りです。

内部セグメント
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/segments/seg50
{
  "type" : "ROUTED",
  "subnets" : [ {
    "gateway_address" : "192.168.50.1/24",
    "network" : "192.168.50.0/24"
  } ],
  "connectivity_path" : "/infra/tier-0s/vrf03",
  "transport_zone_path" : "/infra/sites/default/enforcement-points/default/transport-zones/62cc23e5-ff6b-40b2-abaa-2322c71d6c13",
  "advanced_config" : {
    "address_pool_paths" : [ ],
    "hybrid" : false,
    "inter_router" : false,
    "local_egress" : false,
    "urpf_mode" : "STRICT",
    "connectivity" : "ON"
  },
  "admin_state" : "UP",
  "replication_mode" : "MTEP",
  "resource_type" : "Segment",
  "id" : "seg50",
  "display_name" : "seg50",
  "path" : "/infra/segments/seg50",
  "relative_path" : "seg50",
  "parent_path" : "/infra",
  "unique_id" : "b69f3641-e757-4b90-bf3b-033f0186fc09",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620466618422,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620466618424,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 0
}[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/segments/seg51
{
  "type" : "ROUTED",
  "subnets" : [ {
    "gateway_address" : "192.168.51.1/24",
    "network" : "192.168.51.0/24"
  } ],
  "connectivity_path" : "/infra/tier-0s/vrf04",
  "transport_zone_path" : "/infra/sites/default/enforcement-points/default/transport-zones/62cc23e5-ff6b-40b2-abaa-2322c71d6c13",
  "advanced_config" : {
    "address_pool_paths" : [ ],
    "hybrid" : false,
    "inter_router" : false,
    "local_egress" : false,
    "urpf_mode" : "STRICT",
    "connectivity" : "ON"
  },
  "admin_state" : "UP",
  "replication_mode" : "MTEP",
  "resource_type" : "Segment",
  "id" : "seg51",
  "display_name" : "seg51",
  "path" : "/infra/segments/seg51",
  "relative_path" : "seg51",
  "parent_path" : "/infra",
  "unique_id" : "8fc33854-0d62-46f1-9434-6c3bd933b9be",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620466650326,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620466650329,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 0
}

再配送

対象のVRFを選び、「編集」します。

再配送の設定01

「ルート再配分」の「設定」を押下します。

再配送の設定02

「ルート再配分の追加」を押下します。

再配送の設定03

「名前」を入力し、「設定」を押下します。

再配送の設定04

再配送の対象を選び、「適用」を押下します。

再配送の設定05

再配送の設定は以下の通りです。

再配送
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf03/locale-services/default
{
  "route_redistribution_config" : {
    "bgp_enabled" : true,
    "ospf_enabled" : false,
    "redistribution_rules" : [ {
      "name" : "01",
      "route_redistribution_types" : [ "TIER0_CONNECTED" ],
      "destinations" : [ "BGP" ]
    } ]
  },
  "edge_cluster_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/b3716a17-115c-4e83-ac91-e3f6e0c53456",
  "bfd_profile_path" : "/infra/bfd-profiles/default",
  "resource_type" : "LocaleServices",
  "id" : "default",
  "display_name" : "default",
  "path" : "/infra/tier-0s/vrf03/locale-services/default",
  "relative_path" : "default",
  "parent_path" : "/infra/tier-0s/vrf03",
  "unique_id" : "37709396-6e49-4f7b-bfca-ebe17ad85e1f",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620459734044,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620466719680,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 3
}[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# 
[root@centos221 ~]# curl --request GET \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/policy/api/v1/infra/tier-0s/vrf04/locale-services/default
{
  "route_redistribution_config" : {
    "bgp_enabled" : true,
    "ospf_enabled" : false,
    "redistribution_rules" : [ {
      "name" : "01",
      "route_redistribution_types" : [ "TIER0_CONNECTED" ],
      "destinations" : [ "BGP" ]
    } ]
  },
  "edge_cluster_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/b3716a17-115c-4e83-ac91-e3f6e0c53456",
  "bfd_profile_path" : "/infra/bfd-profiles/default",
  "resource_type" : "LocaleServices",
  "id" : "default",
  "display_name" : "default",
  "path" : "/infra/tier-0s/vrf04/locale-services/default",
  "relative_path" : "default",
  "parent_path" : "/infra/tier-0s/vrf04",
  "unique_id" : "a357cd22-3451-450b-ae78-da805a18fa76",
  "marked_for_delete" : false,
  "overridden" : false,
  "_create_user" : "admin",
  "_create_time" : 1620460508416,
  "_last_modified_user" : "admin",
  "_last_modified_time" : 1620466746154,
  "_system_owned" : false,
  "_protection" : "NOT_PROTECTED",
  "_revision" : 1
}

ネットワーク機器側のルーティングテーブルを確認します。確かにvrf03に所属するseg50(192.168.50.0/24)とvrf04に所属するseg51(192.168.51.0/24)が分離されていることを確認します。

arista111#show ip route vrf vrf03

VRF: vrf03
Codes: C - connected, S - static, K - kernel, 
       O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type2, B - BGP, B I - iBGP, B E - eBGP,
       R - RIP, I L1 - IS-IS level 1, I L2 - IS-IS level 2,
       O3 - OSPFv3, A B - BGP Aggregate, A O - OSPF Summary,
       NG - Nexthop Group Static Route, V - VXLAN Control Service,
       DH - DHCP client installed default route, M - Martian,
       DP - Dynamic Policy Route, L - VRF Leaked,
       RC - Route Cache Route

Gateway of last resort is not set

 C        192.168.3.0/24 is directly connected, Vlan3
 B I      192.168.50.0/24 [200/0] via 192.168.3.131, Vlan3

arista111#
arista111#
arista111#show ip route vrf vrf04

VRF: vrf04
Codes: C - connected, S - static, K - kernel, 
       O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type2, B - BGP, B I - iBGP, B E - eBGP,
       R - RIP, I L1 - IS-IS level 1, I L2 - IS-IS level 2,
       O3 - OSPFv3, A B - BGP Aggregate, A O - OSPF Summary,
       NG - Nexthop Group Static Route, V - VXLAN Control Service,
       DH - DHCP client installed default route, M - Martian,
       DP - Dynamic Policy Route, L - VRF Leaked,
       RC - Route Cache Route

Gateway of last resort is not set

 C        192.168.4.0/24 is directly connected, Vlan4
 B I      192.168.51.0/24 [200/0] via 192.168.4.131, Vlan4

arista111#
タイトルとURLをコピーしました