Dell Networking SONiC: Konfigurowanie routingu opartego na zasadach

摘要: W tym artykule na prostym przykładzie wyjaśniono, jak skonfigurować routing oparty na zasadach w systemie SONiC sieci firmy Dell.

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

说明

Wymagania wstępne

Używamy standardowego nazewnictwa interfejsów, aby zademonstrować koncepcje. Zapoznaj się z artykułem Dell Networking z serii S: Podstawowa konfiguracja interfejsu — SONiC 4.0 , aby uzyskać więcej informacji na temat nazewnictwa interfejsów


Indeks

 

Co to jest routing oparty na zasadach?

Routing oparty na zasadach (PBR) zapewnia metodę przesyłania dalej pakietów przez zastąpienie informacji dostępnych w tabeli routingu IP. Można zaimplementować zasady, które selektywnie powodują, że pakiety obierają różne ścieżki. Tradycyjny routing IP przekazuje pakiety tylko na podstawie docelowego adresu IP w pakiecie. PBR można skonfigurować do przekazywania pakietów na podstawie innych kryteriów, takich jak numery portów TCP/UDP, źródłowy adres IP, wartość DSCP i flagi TCP. Usługa Dell SONiC używa zasad usług opartych na przepływach do routingu opartego na zasadach. Zasady przekazywania składają się z map klas, które wybierają pakiety i ustawiają akcje, które powodują, że pakiet jest przekazywany do z góry określonego następnego przeskoku lub interfejsu, z pominięciem ścieżki określonej przez tabele routingu i przekazywania. W tych samych zasadach można zdefiniować wiele wartości interfejsu dopasowania i ruchu wychodzącego lub następnego przeskoku. Zasady przekazywania można zastosować do ruchu przełączanego lub kierowanego. Ruch może być kierowany do tego samego VRF, który jest używany przez interfejs ruchu przychodzącego, lub do innego VRF.

Użyj routingu opartego na zasadach, aby zapewnić równy dostęp, routing wrażliwy na protokół, routing wrażliwy na źródło, routing oparty na interaktywnym porównaniu z ruchem wsadowym i routing oparty na dedykowanych linkach. Routing oparty na zasadach jest bardziej elastycznym mechanizmem routingu pakietów niż routing docelowy.
 

Etapy konfigurowania routingu opartego na zasadach

Technologia Dell SONiC implementuje PBR, udostępniając modułową strukturę do klasyfikowania ruchu i stosowania działań przekazywania, takich jak ustawienie następnego przeskoku adresu IP dla wybranego ruchu.

Aby skonfigurować PBR:

  1. Klasyfikowanie (wybieranie) ruchu na potrzeby routingu opartego na zasadach przy użyciu list ACL lub pól L2, L3 lub L4 w nagłówkach pakietów.
  2. Na mapie zasad skonfiguruj akcje przekazywania, które mają być wykonywane w każdym sklasyfikowanym przepływie.
  3. Stosowanie zasad przekazywania na interfejsach przychodzących — globalnie na wszystkich interfejsach przełącznika, określonym interfejsie, sieci VLAN lub kanale portów
W skrócie:

Etapy konfiguracji routingu opartego na regułach


UWAGA: W systemie Dell SONiC:
  • Jeśli ruch przychodzący nie znajdzie dopasowania w żadnej z instrukcji zastosowanych w mapie zasad w interfejsie/vlan/portchannel/globally, przekaże dalej zgodnie z tabelą tras standardowych.
  • Zasady przekazywania są obsługiwane tylko na interfejsach ruchu przychodzącego.
  • Zasady przekazywania mogą przekazywać tylko wybrany ruch; nie mogą przechwytywać, przełączać ani kierować ruchu do procesora.
  • Zasady przekazywania z akcjami następnego przeskoku i następnej grupy mają zastosowanie tylko do kierowanego ruchu L3.
  • Zasady przekazywania korzystające z interfejsu wychodzącego Ethernet lub kanału portów mają zastosowanie tylko do przełączanego ruchu L2.
  • Zasady przekazywania nie mają zastosowania do ruchu kierowanego do procesora (docelowy adres IP jest taki sam jak adres przełącznika) ani ruchu, który jest uwięziony w procesorze.
  • W przypadku stosowania zasad przekazywania globalnie na wszystkich interfejsach następne przeskoki muszą znajdować się w domyślnym VRF, chyba że ustawiono niedomyślny VRF za pomocą polecenia set {ip | ipv6} next-hop ip-address vrf vrf-name na mapie zasad.

 

Składnia konfiguracji

Konfigurowanie mapy klas w celu klasyfikowania ruchu

Możemy sklasyfikować (dopasować) ruch przychodzący za pomocą metod na mapie klas.

  1. Korzystanie z IPv4, IPv6 lub MAC Lista dostępu
  2. Korzystanie z pól nagłówka L2–L4

Składnia poleceń podczas korzystania z listy programu Access w celu dopasowania ruchu na mapie klas.

Jeśli konfigurujemy listę dostępu tak, aby odpowiadała ruchowi na mapie klas, pamiętaj o skonfigurowaniu listy dostępu.

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}

Składnia polecenia podczas korzystania z pól nagłówka 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

 

Konfiguracja mapy zasad

Zasady przekazywania PBR określają akcje przekazywania, które mają być wykonywane w przypadku pasowania ruchu do routingu opartego na zasadach. Zasady przekazywania obsługują następujące akcje:

  • Ustaw następny przeskok — kieruje ruch IPv4 do następnego przeskoku IPv4; kieruje ruch IPv6 do następnego przeskoku IPv6.
  • Ustaw grupę następnego przeskoku — określa grupę, z której jest wybierany najlepszy adres IPv4 lub IPv6 następnego przeskoku.
  • Ustawianie interfejsu — przekazywanie ruchu L2 do określonego interfejsu ruchu wychodzącego.
  • Set interface null — porzuca pasujący ruch, jeśli interfejs o wartości null jest ustawiony lub jeśli żaden z określonych następnych przeskoków nie jest osiągalny lub jeśli określony interfejs ruchu wychodzącego nie jest L2 i łączy się.
  • Ustawianie grupy replikacji — służy do replikowania ruchu do serwerów emisji dowolnej w celu rozwiązania problemu z mieszaniem zgodnie z opisem w RFC7690.

Składnia polecenia

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}

 

Konfiguracja zasad serwisowych (stosowanie mapy zasad w interfejsie)

W interfejsie lub podinterfejsie:

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}

Na interfejsach 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}

Interfejsy kanałów portowych,

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

Globalnie na wszystkich interfejsach przełącznika

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}

 

Weryfikacja

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

 

Przykładowa konfiguracja

Rozważmy następującą topologię.

Topologii

Nie mamy trasy do 50.0.0.0/24 i 60.0.0.0/24 w systemie 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

 

Cel:

Ruch do farmy serwerów 50.0.0.0/24 ma być kierowany do następnego przeskoku 20.0.0.2. Ruch do farmy serwerów 60.0.0.0/24 ma być kierowany do następnego przeskoku 30.0.0.2.
 

Konfiguracja

Skonfigurujmy mapę klas. Tutaj klasyfikujemy ruch na podstawie różnych parametrów.
Mapa klas MATCH_IP_OF_SERVER-1 Kryterium dopasowania to DST-IP 50.0.0.0/24.
Na mapie klasy MATCH_IP_OF_SERVER-2, kryteria dopasowania to 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#

Skonfigurujmy mapę zasad.
W tym miejscu określamy, jaka jest następna akcja, która ma zostać podjęta, jeśli ruch spełnia warunek. W takim przypadku, jeśli ruch jest zgodny z określonym docelowym adresem IP, przekaż do określonego adresu IP następnego przeskoku.

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

Zastosujmy mapę polityki jako politykę usługi do interfejsu 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


Weryfikacja konfiguracji

Sprawdźmy konfigurację mapy klas. Tutaj możemy zobaczyć dla MATCH_IP_OF_SERVER-1 Kryteria dopasowania to: DST-IP 50.0.0.0/24. Na mapie klasy MATCH_IP_OF_SERVER-2, kryteria dopasowania to 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 zasad definiuje, jaki jest następny przeskok dla ruchu sklasyfikowanego w ramach mapy klas.

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#

Zasady usługi definiują miejsce, w którym ma zostać zastosowana mapa zasad.

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 zrobić, jeśli następny przeskok to Down.

Weź pod uwagę, że następny przeskok 20.0.0.2 nie działa. Zobacz poniższe dane wyjściowe. Możemy zobaczyć z show interfejs service-policy Eth 1/1 i show service-policy policy-map FORWARD_TO_SERVER. W wersji 20.0.0.2 brakuje "(selected)", a w wersji 30.0.0.2, która jest osiągalna, brakuje "(selected)".

Tutaj liczniki (dopasowanie pakietu i ramka) będą się zwiększać, jednak pakiet zostanie odrzucony, ponieważ następny przeskok nie jest osiągalny.

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

Wersja 30.0.0.2 jest osiągalna i wybrana. Wersja 20.0.0.2 jest nieosiągalna i dlatego brakuje wybranych.

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