Dell Networking SONiC: Op beleid gebaseerde routering configureren

摘要: In dit artikel wordt aan de hand van een eenvoudig voorbeeld uitgelegd hoe u op beleid gebaseerde routering in Dell Networking SONiC kunt configureren.

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

说明

Vereisten

We gebruiken standaard interface-naamgevingen om de concepten te demonstreren. Lees het artikel Dell Networking S-serie: Basic Interface Configuration - SONiC 4.0 voor meer informatie over interfacenaamgeving


Index

 

Wat is op beleid gebaseerde routering?

Policy-Based Routing (PBR) biedt een methode om pakketten door te sturen door de informatie in de IP-routeringstabel te overschrijven. U kunt beleidsregels implementeren die er selectief voor zorgen dat pakketten verschillende paden nemen. Traditionele IP-routering stuurt pakketten alleen door op basis van het doel-IP-adres in het pakket. PBR kan worden geconfigureerd om pakketten door te sturen op basis van andere criteria, zoals TCP/UDP-poortnummers, bron-IP-adres, DSCP-waarde en TCP-vlaggen. Dell SONiC maakt gebruik van op stromen gebaseerd servicebeleid voor op beleid gebaseerde routering. Doorstuurbeleid bestaat uit klassetoewijzingen die pakketten selecteren en acties instellen die ervoor zorgen dat een pakket wordt doorgestuurd naar een vooraf bepaalde volgende hop of interface, waarbij het pad wordt omzeild dat wordt bepaald door routerings- en doorstuurtabellen. U kunt meerdere overeenkomende interface- en uitgangsinterface- of next-hop-waarden in hetzelfde beleid definiëren. U kunt doorstuurbeleid toepassen op omgeschakeld of gerouteerd verkeer. Verkeer kan worden gerouteerd naar dezelfde VRF die wordt gebruikt door de ingangsinterface of naar een andere VRF.

Gebruik op beleid gebaseerde routering om gelijke toegang, protocolgevoelige routering, brongevoelige routering, routering op basis van interactieve vergelijking met batchverkeer en routering op basis van speciale koppelingen te bieden. Op beleid gebaseerde routering is een flexibeler mechanisme voor het routeren van pakketten dan bestemmingsroutering.
 

Stappen voor het configureren van op beleid gebaseerde routering

Dell SONiC implementeert PBR door een modulair framework te bieden voor het classificeren van verkeer en het toepassen van doorstuuracties, zoals IP next hop instellen, op geselecteerd verkeer.

PBR configureren:

  1. Classificeer (selecteer) verkeer voor op beleid gebaseerde routering met behulp van ACL's of de L2-, L3- of L4-velden in pakketkoppen.
  2. Configureer in een beleidskaart de doorstuuracties die moeten worden uitgevoerd voor elke geclassificeerde stroom.
  3. Pas het doorstuurbeleid toe op inkomende interfaces - globaal op alle switchinterfaces, een opgegeven interface, een VLAN of een poortkanaal
In een notendop:

Stappen voor het configureren van op beleid gebaseerde routering


OPMERKING: In Dell SONiC:
  • Als binnenkomend verkeer geen overeenkomst vindt in een van de instructies die worden toegepast in een beleidskaart in een interface/vlan/portchannel/globaal, wordt het doorgestuurd volgens de standaardroutetabel.
  • Een doorstuurbeleid wordt alleen ondersteund op ingangsinterfaces.
  • Doorstuurbeleid kan alleen geselecteerd verkeer doorsturen; ze kunnen geen verkeer vangen, schakelen of routeren naar de CPU.
  • Doorstuurbeleid met acties voor volgende hop- en volgende hopgroep is alleen van toepassing op gerouteerd L3-verkeer.
  • Doorstuurbeleid dat gebruikmaakt van een ethernet- of poortkanaalinterface is alleen van toepassing op geschakeld L2-verkeer.
  • Het doorstuurbeleid is niet van toepassing op verkeer dat bestemd is voor de CPU (het doel-IP-adres is hetzelfde als het switchadres) of verkeer dat vastzit aan de CPU.
  • Wanneer u een doorstuurbeleid globaal toepast op alle interfaces, moeten de volgende hops in de standaard VRF staan, tenzij u een niet-standaard VRF instelt met behulp van de opdracht set {ip | ipv6} next-hop ip-address vrf vrf-name in de beleidskaart.

 

Configuratiesyntaxis

Klassenkaart configureren om verkeer te classificeren

We kunnen het inkomende verkeer classificeren (matchen) door methoden in een klassenkaart te volgen.

  1. IPv4-, IPv6- of MAC-toegangslijst gebruiken
  2. L2-L4-headervelden gebruiken

Voer de syntaxis van de opdracht tijdens het gebruik van de toegangslijst uit om overeen te komen met het verkeer in de klassenkaart.

Als we de toegangslijst configureren zodat deze overeenkomt met het verkeer in de klassenkaart, moet u ervoor zorgen dat de toegangslijst wordt geconfigureerd.

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}

Opdrachtsyntaxis bij gebruik van L2-L4-headervelden

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

 

Beleidskaart configureren

Een PBR-doorstuurbeleid specificeert de doorstuuracties die moeten worden uitgevoerd bij overeenkomend verkeer voor op beleid gebaseerde routering. Een doorstuurbeleid ondersteunt de volgende acties:

  • Volgende hop instellen - Routeert IPv4-verkeer naar een IPv4 volgende hop; routeert IPv6-verkeer naar een IPv6 next-hop.
  • Next-Hop-groep instellen - Specificeert de groep waaruit het beste Next-Hop IPv4- of IPv6-adres wordt gekozen.
  • Interface instellen - Stuur L2-verkeer door naar een gespecificeerde uitgangsinterface.
  • Interface null instellen: hiermee wordt overeenkomend verkeer verwijderd als de null-interface is ingesteld of als geen van de opgegeven next-hops bereikbaar is of als de opgegeven uitgangsinterface niet L2 is en verbinding maakt.
  • Set replication group - Wordt gebruikt om verkeer naar anycast-servers te repliceren, ontworpen om het hashing-probleem op te lossen zoals beschreven in RFC7690.

Opdrachtsyntaxis

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}

 

Servicebeleid configureren (beleidskaart toepassen in interface)

Op een interface of subinterface:

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}

Op VLAN-interfaces:

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

Kanaalinterfaces op de poort,

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

Wereldwijd op alle switchinterfaces

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}

 

Verifiëren

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

 

Voorbeeldconfiguratie

Laten we eens kijken naar de volgende topologie.

Topologie

We hebben geen route naar 50.0.0.0/24 en 60.0.0.0/24 in DELLSONiC.

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

 

Doelstelling:

Het verkeer naar serverfarm 50.0.0.0/24 moet worden gerouteerd naar de volgende hop 20.0.0.2. Het verkeer naar serverfarm 60.0.0.0/24 moet worden gerouteerd naar de volgende hop 30.0.0.2.
 

Configuratie

Laten we de klassenkaart configureren. Hier classificeren we het verkeer op basis van verschillende parameters.
Plattegrond van de klasse MATCH_IP_OF_SERVER-1 De overeenkomstcriteria zijn DST-IP 50.0.0.0/24.
In het klassenoverzicht MATCH_IP_OF_SERVER-2, zijn de matchcriteria 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#

Laten we de beleidskaart configureren.
Hier definiëren we wat de volgende actie is die moet worden ondernomen als het verkeer overeenkomt met een conditie. In dit geval, als het verkeer overeenkomt met een specifiek doel-IP-adres, wordt het doorgestuurd naar een specifiek IP-adres voor de volgende hop.

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)#

Laten we de Policy map als servicebeleid toepassen op interface 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


Configuratie controleren

Laten we de configuratie van de klassenkaart controleren. Hier kunnen we zien voor MATCH_IP_OF_SERVER-1 De overeenkomstcriteria zijn DST-IP 50.0.0.0/24. In het klassenoverzicht MATCH_IP_OF_SERVER-2, zijn de matchcriteria 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#

De beleidskaart definieert wat de volgende hop is voor een verkeer dat is geclassificeerd onder een klassekaart.

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#

Het servicebeleid definieert waar de beleidskaart moet worden toegepast.

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#

 

Wat als de volgende hop Down is.

Bedenk dat de volgende hop 20.0.0.2 down is. Zie onderstaande uitvoer. We kunnen zien van toon de service-beleid-interface Eth 1/1 en toon service-policy policy-map FORWARD_TO_SERVERte installeren. In 20.0.0.2 ontbreekt '(geselecteerd)', terwijl 30.0.0.2, dat bereikbaar is, '(geselecteerd)' heeft.

Hier zullen de tellers (packet match en frame) toenemen, maar het pakket zal dalen omdat de volgende hop niet bereikbaar is.

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 is bereikbaar en geselecteerd. 20.0.0.2 is niet bereikbaar en daarom ontbreekt de selectie.

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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。