Dell Networking SONiC: Jak nakonfigurovat směrování na základě zásad

摘要: Tento článek na jednoduchém příkladu vysvětluje, jak nakonfigurovat směrování na základě zásad v systému Dell Networking SONiC.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

Požadavky

K demonstraci konceptů používáme standardní pojmenování rozhraní. Viz článek Dell Networking řady S: Základní konfigurace rozhraní – SONiC 4.0 , kde najdete další informace o pojmenování rozhraní


Rejstřík

 

Co je směrování založené na zásadách?

Služba PBR (Policy-Based Routing) poskytuje metodu předávání paketů přepsáním informací dostupných ve směrovací tabulce IP. Můžete implementovat zásady, které selektivně způsobí, že pakety budou mít různé cesty. Tradiční směrování protokolu IP předává pakety pouze na základě cílové adresy IP v paketu. PBR lze nakonfigurovat tak, aby předávalo pakety na základě dalších kritérií, jako jsou čísla portů TCP/UDP, zdrojová IP adresa, hodnota DSCP a příznaky TCP. Systém Dell SONiC používá pro směrování na základě zásad zásady služeb založené na toku. Zásady předávání se skládají z map tříd, které vybírají pakety a nastavují akce, které způsobí, že paket bude předán předem určenému dalšímu segmentu směrování nebo rozhraní, čímž se obchází cesta určená tabulkami směrování a předávání. Ve stejné zásadě můžete definovat více hodnot rozhraní shody a výstupu nebo dalšího segmentu směrování. Zásady přesměrování můžete použít na přepínaný nebo směrovaný provoz. Provoz lze směrovat do stejného VRF, který používá rozhraní příchozího přenosu dat, nebo do jiného VRF.

Pomocí směrování založeného na zásadách můžete zajistit rovný přístup, směrování citlivé na protokoly, směrování závislé na zdroji, směrování založené na interaktivním porovnání s dávkovým provozem a směrování založené na vyhrazených odkazech. Směrování založené na zásadách je flexibilnější mechanismus pro směrování paketů než směrování cílů.
 

Postup konfigurace směrování založeného na zásadách

Dell SONiC implementuje PBR tak, že poskytuje modulární rámec pro klasifikaci provozu a použití akcí předávání, jako je například nastavení dalšího segmentu směrování IP, na vybraný provoz.

Konfigurace PBR:

  1. Klasifikujte (vyberte) provoz pro směrování založené na zásadách pomocí seznamů ACL nebo polí L2, L3 nebo L4 v hlavičkách paketů.
  2. V mapě zásad nakonfigurujte akce předávání tak, aby se prováděly u každého klasifikovaného toku.
  3. Použijte zásady přesměrování na rozhraní příchozího přenosu dat – globálně na všechna rozhraní přepínačů, zadané rozhraní, síť VLAN nebo kanál portu.
Ani náhodou:

Postup konfigurace směrování založeného na zásadách


POZNÁMKA: V aplikaci Dell SONiC:
  • Pokud příchozí provoz nenajde shodu v žádném z příkazů použitých v mapě zásad v rozhraní/vlan/portchannel/globálně, bude se předávat podle standardní směrovací tabulky.
  • Zásady předávání jsou podporovány pouze u rozhraní příchozího přenosu dat.
  • Zásady předávání mohou přesměrovávat pouze vybraný provoz. nemohou zachycovat, přepínat ani směrovat provoz na procesor.
  • Zásady předávání s akcemi dalšího segmentu směrování a skupiny dalšího segmentu směrování se vztahují pouze na směrovaný provoz L3.
  • Zásady přesměrování, které používají výstupní rozhraní ethernetového nebo portového kanálu, platí pouze pro přepínaný provoz L2.
  • Zásady předávání se nevztahují na provoz směřující do procesoru (cílová IP adresa je stejná jako adresa přepínače) ani na přenos, který je zachycen na procesoru.
  • Použijete-li zásadu předávání globálně na všech rozhraních, musí být další směrování ve výchozím VRF, pokud nenastavíte jiný než výchozí VRF pomocí příkazu set {ip | ipv6} next-hop ip-address vrf vrf-name v mapě zásad.

 

Syntaxe konfigurace

Konfigurace mapy tříd pro klasifikaci provozu

Příchozí provoz můžeme klasifikovat (spárovat) pomocí následujících metod v mapě tříd.

  1. Použití IPv4 nebo IPv6 nebo MAC Access list
  2. Použití polí záhlaví L2-L4

Syntaxe příkazu při použití seznamu Access, aby odpovídala provozu v mapě tříd.

Pokud konfigurujeme seznam přístupu tak, aby odpovídal provozu v mapě tříd, nezapomeňte nakonfigurovat seznam přístupu.

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# class-map {CLASSMAP-NAME} match-type acl 
DELLSONiC(config-class-map)# match access-group {ip, ipv6, mac} {Access-List-name}

Syntaxe příkazu při použití polí záhlaví L2-L4

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# class-map {CLASSMAP-NAME} match-type fields match-all
DELLSONiC(config-class-map)# match {MATCH-CRITERIA}
 
The following is the Match Criteria

  dei                  Match packets using DEI value
  destination-address  Match packets using destination address
  dscp                 Match packets using DSCP value
  ethertype            Match packets using ethertype
  ip                   Match packets using IP/IPv6 protocol
  l4-port              Match packets using TCP/UDP port
  pcp                  Match packets using PCP
  source-address       Match packets using source address
  tcp-flags            Match packets using TCP flags
  vlan                 Match packets using VLAN ID

 

Konfigurace mapy zásad

Zásady předávání PBR určují akce předávání, které se mají provést při porovnávání provozu pro směrování založené na zásadách. Zásady předávání podporují následující akce:

  • Nastavit další směrování – směruje provoz IPv4 na další segment směrování IPv4; směruje provoz IPv6 na další segment směrování IPv6.
  • Nastavit skupinu dalšího segmentu směrování – Určuje skupinu, ze které je vybrána nejlepší adresa IPv4 nebo IPv6 dalšího směrování.
  • Nastavit rozhraní – přesměruje provoz L2 na zadané výstupní rozhraní.
  • Nastavit rozhraní null – Zahodí odpovídající provoz, pokud je nastaveno nulové rozhraní nebo pokud není dosažitelný žádný ze zadaných dalších segmentů směrování nebo pokud zadané výstupní rozhraní není L2 a propojí se.
  • Nastavit skupinu replikace – slouží k replikaci provozu na servery libovolného vysílání za účelem vyřešení problému hash, jak je popsáno v RFC7690.

Syntax příkazu

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# policy-map {POLICYMAP-NAME} type forwarding  
DELLSONiC(config-policy-map)# 
DELLSONiC(config-policy-map)# class {CLASS-MAP-NAME} priority {Priority-value}

Enter a priority number (0-4095) to specify the order in which a class map is applied in the policy map to match traffic in the flow. A higher priority class map is processed before a lower priority.


If next hop is a IP address

DELLSONiC(config-policy-map-flow)# set ip next-hop {IP-ADDRESS}


If next hop is a IPv6 address

DELLSONiC(config-policy-map-flow)# set ipv6 next-hop {IPv6 Address}


If we need a specific interface where the traffic is to be forwarded

DELLSONiC(config-policy-map-flow)# set interface {Eth, Null, PortChannel } {interface number}


If we have a IPv4/IPv6 Next Hop Group

DELLSONiC(config-policy-map-flow)# set ip next-hop-group {IPv4 Next Hop Group}
DELLSONiC(config-policy-map-flow)# set ipv6 next-hop-group {IPv6 Next Hop Group}


If we have a IPv4/IPv6 Replication Group

DELLSONiC(config-policy-map-flow)# set ip replication-group {Ipv4 Replication Group}
DELLSONiC(config-policy-map-flow)# set ipv6 replication-group {Ipv4 Replication Group}

 

Konfigurace zásad služby (použití mapy zásad v rozhraní)

Na rozhraní nebo dílčím rozhraní:

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# interface {Eth slot/port[/breakout-port] [.subinterface]}
DELLSONiC(config-if-Eth)# service-policy type forwarding in {policy-map-name}

U rozhraní VLAN:

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# interface Vlan {vlan-id}
DELLSONiC(conf-if-Vlan)# service-policy type forwarding in {policy-map-name}

Na rozhraních portových kanálů,

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# interface PortChannel {portchannel-number}
DELLSONiC(conf-if-po)# service-policy type forwarding in {policy-map-name}

Globálně na všech rozhraních přepínačů

When you apply a forwarding policy globally on all interfaces, the next-hops must be in the default VRF unless you set a non-default VRF using the set {ip | ipv6} next-hop ip-address vrf vrf-name command in the policy map.

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# service-policy type forwarding in {policy-map-name}

 

Ověření

Use the Following commands to verify Class Map

DELLSONiC# show class-map {class-map-name}

Use the Following commands to verify policy map

DELLSONiC# show policy-map {POLICY-MAP-NAME}


Use the Following commands to service Policy

DELLSONiC# show policy-map type forwarding

DELLSONiC# show service-policy interface {Interface}

DELLSONiC# show service-policy summary

 

Ukázková konfigurace

Podívejme se na následující topologii.

Topologie

V softwaru DELLSONiC nemáme trasu k verzím 50.0.0.0/24 a 60.0.0.0/24.

DELLSONiC# show ip route 
Codes:  K - kernel route, C - connected, S - static, B - BGP, O - OSPF
        > - selected route, * - FIB route, q - queued route, r - rejected route
       Destination        Gateway                                                                    Dist/Metric   Last Update 
--------------------------------------------------------------------------------------------------------------------------------
 C>*   1.1.1.1/32         Direct                          Loopback0                                  0/0           09:18:16 ago
 C>*   10.0.0.0/24        Direct                          Eth1/1                                     0/0           09:17:56 ago
 C>*   20.0.0.0/24        Direct                          Eth1/2                                     0/0           01:58:41 ago
 C>*   30.0.0.0/24        Direct                          Eth1/3                                     0/0           09:14:38 ago

 

Účel:

Provoz na serverovou farmu 50.0.0.0/24 se má směrovat na další segment směrování 20.0.0.2. Provoz na serverovou farmu 60.0.0.0/24 se má směrovat na další segment směrování 30.0.0.2.
 

Konfigurace

Pojďme nakonfigurovat mapu tříd. Zde klasifikujeme provoz na základě různých parametrů.
Mapa tříd MATCH_IP_OF_SERVER-1 Kritérium shody je DST-IP 50.0.0.0/24.
V mapě třídy MATCH_IP_OF_SERVER-2, kritéria shody jsou DST-IP 60.0.0.0/24.

admin@DELLSONiC:~$ sonic-cli
DELLSONiC#
DELLSONiC# configure
DELLSONiC(config)# class-map MATCH_IP_OF_SERVER-1 match-type fields match-all
DELLSONiC(config-class-map)# description "MATCH IP ADDRESS of SERVER FARM 1"
DELLSONiC(config-class-map)# match destination-address ip 50.0.0.0/24
DELLSONiC(config-class-map)# exit
DELLSONiC(config)#
DELLSONiC(config)# class-map MATCH_IP_OF_SERVER-2 match-type fields match-all
DELLSONiC(config-class-map)# description "MATCH IP ADDRESS of SERVER FARM 2"
DELLSONiC(config-class-map)# match destination-address ip 60.0.0.0/24
DELLSONiC(config-class-map)# exit
DELLSONiC(config)# exit
DELLSONiC#

Teď nakonfigurujeme mapu zásad.
Zde definujeme, jaká je další akce, která se má provést, pokud provoz odpovídá podmínce. V takovém případě, pokud provoz odpovídá konkrétní cílové IP adrese, přesměrujte na konkrétní IP adresu dalšího směrování.

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# policy-map FORWARD_TO_SERVER type forwarding
DELLSONiC(config-policy-map)# class MATCH_IP_OF_SERVER-2 priority 100
DELLSONiC(config-policy-map-flow)# set ip next-hop 30.0.0.2
DELLSONiC(config-policy-map-flow)# exit
DELLSONiC(config-policy-map-flow)#
DELLSONiC(config-policy-map)# class MATCH_IP_OF_SERVER-1 priority 100
DELLSONiC(config-policy-map-flow)# set ip next-hop 20.0.0.2
DELLSONiC(config-policy-map-flow)# exit
DELLSONiC(config-policy-map)# exit
DELLSONiC(config)#

Aplikujme zásadu Policy Map as Service na rozhraní Eth 1/1.

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# interface Eth 1/1
DELLSONiC(config-if-Eth1/1)# service-policy type forwarding in FORWARD_TO_SERVER
DELLSONiC(config-if-Eth1/1)# end


Ověření konfigurace

Podívejme se na konfiguraci mapy tříd. Zde vidíme MATCH_IP_OF_SERVER-1 Kritéria shody jsou DST-IP 50.0.0.0/24. V mapě třídy MATCH_IP_OF_SERVER-2, kritéria shody jsou DST-IP 60.0.0.0/24.

DELLSONiC# show class-map MATCH_IP_OF_SERVER-1
Class-map MATCH_IP_OF_SERVER-1 match-type fields
  Description: "MATCH IP ADDRESS of SERVER FARM 1"
  Match:
    dst-ip 50.0.0.0/24
  Referenced in flows:
    policy FORWARD_TO_SERVER at priority 100
DELLSONiC#

 

DELLSONiC# show class-map MATCH_IP_OF_SERVER-2
Class-map MATCH_IP_OF_SERVER-2 match-type fields
  Description: "MATCH IP ADDRESS of SERVER FARM 2"
  Match:
    dst-ip 60.0.0.0/24
  Referenced in flows:
    policy FORWARD_TO_SERVER at priority 100
DELLSONiC#

Mapa zásad definuje, jaký je další segment směrování pro provoz klasifikovaný v mapě tříd.

DELLSONiC# show policy-map type forwarding
Policy FORWARD_TO_SERVER Type forwarding
  Description:
  Flow MATCH_IP_OF_SERVER-2 at priority 100
    Description:
    set ip nexthop 30.0.0.2
  Flow MATCH_IP_OF_SERVER-1 at priority 100
    Description:
    set ip nexthop 20.0.0.2
  Applied to:
    Eth1/1 at Ingress

 

DELLSONiC# show policy-map FORWARD_TO_SERVER
Policy FORWARD_TO_SERVER Type forwarding
  Description:
  Flow MATCH_IP_OF_SERVER-2 at priority 100
    Description:
    set ip nexthop 30.0.0.2
  Flow MATCH_IP_OF_SERVER-1 at priority 100
    Description:
    set ip nexthop 20.0.0.2
  Applied to:
    Eth1/1 at Ingress
DELLSONiC#

Zásady služby definují, kde se má mapa zásad použít.

DELLSONiC# show service-policy summary
Eth1/1
    forwarding policy FORWARD_TO_SERVER at ingress
CtrlPlane
    qos policy oob-qos-policy at ingress

 

DELLSONiC# show service-policy interface Eth 1/1
Eth1/1
  Policy FORWARD_TO_SERVER type forwarding at ingress
  Description:
    Flow MATCH_IP_OF_SERVER-2 at priority 100 (Active)
      Description:
      set ip nexthop 30.0.0.2 (Selected)
      Packet matches: 616 frames 62832 bytes
    Flow MATCH_IP_OF_SERVER-1 at priority 100 (Active)
      Description:
      set ip nexthop 20.0.0.2 (Selected)
      Packet matches: 50 frames 5100 bytes
DELLSONiC#

 

DELLSONiC# show service-policy policy-map FORWARD_TO_SERVER
Eth1/1
  Policy FORWARD_TO_SERVER type forwarding at ingress
  Description:
    Flow MATCH_IP_OF_SERVER-2 at priority 100 (Active)
      Description:
      set ip nexthop 30.0.0.2 (Selected)
      Packet matches: 616 frames 62832 bytes
    Flow MATCH_IP_OF_SERVER-1 at priority 100 (Active)
      Description:
      set ip nexthop 20.0.0.2 (Selected)
      Packet matches: 50 frames 5100 bytes
DELLSONiC#

 

Co když je další skok dolů.

Vezměte v úvahu, že další segment směrování 20.0.0.2 je Down. Viz výstup níže. Můžeme vidět z show rozhraní service-policy Eth 1/1 a show service-policy-map FORWARD_TO_SERVER. Ve verzi 20.0.0.2 chybí "(selected)", zatímco ve verzi 30.0.0.2, která je k dispozici, chybí "(selected)".

Zde se čítače (shoda paketů a rámec) zvýší, ale paket zapadne, protože další skok není dostupný.

DELLSONiC# show service-policy policy-map FORWARD_TO_SERVER
Eth1/1
  Policy FORWARD_TO_SERVER type forwarding at ingress
  Description:
    Flow MATCH_IP_OF_SERVER-2 at priority 100 (Active)
      Description:
      set ip nexthop 30.0.0.2 (Selected)
      Packet matches: 616 frames 62832 bytes
    Flow MATCH_IP_OF_SERVER-1 at priority 100 (Active)
      Description:
      set ip nexthop 20.0.0.2                          ====>Selected missing
      Packet matches: 50 frames 5100 bytes

30.0.0.2 je dosažitelná a vybraná. Verze 20.0.0.2 není dostupná, a proto chybí vybrána.

DELLSONiC# show service-policy interface Eth 1/1
Eth1/1
  Policy FORWARD_TO_SERVER type forwarding at ingress
  Description:
    Flow MATCH_IP_OF_SERVER-2 at priority 100 (Active)
      Description:
      set ip nexthop 30.0.0.2 (Selected)
      Packet matches: 616 frames 62832 bytes
    Flow MATCH_IP_OF_SERVER-1 at priority 100 (Active)
      Description:
      set ip nexthop 20.0.0.2                          ====>Selected missing
      Packet matches: 50 frames 5100 bytes

受影响的产品

Enterprise SONiC Distribution, PowerSwitch S5212F-ON, PowerSwitch S5224F-ON, PowerSwitch S5232F-ON, PowerSwitch S5248F-ON, PowerSwitch S5296F-ON, PowerSwitch Z9264F-ON, PowerSwitch Z9432F-ON
文章属性
文章编号: 000222385
文章类型: How To
上次修改时间: 07 3月 2024
版本:  4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。