Dell Networking SONiC: Politika tabanlı yönlendirmeyi yapılandırma

摘要: Bu makalede, basit bir örnekle Dell Networking SONIC te Politika Tabanlı Yönlendirmenin nasıl yapılandırılacağı açıklanmaktadır.

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

说明

Önkoşullar

Kavramları göstermek için standart arabirim adlandırmaları kullanıyoruz. Dell Networking S Serisi: Arayüz adlandırma hakkında daha fazla bilgi için Temel Arayüz Yapılandırması - SONiC 4.0


Dizin

 

Politika Tabanlı Yönlendirme Nedir?

İlke Tabanlı Yönlendirme (PBR), IP yönlendirme tablosunda bulunan bilgileri geçersiz kılarak paketleri iletmek için bir yöntem sağlar. Paketlerin farklı yollar izlemesine seçici olarak neden olan ilkeler uygulayabilirsiniz. Geleneksel IP yönlendirme, paketleri yalnızca paketteki hedef IP adresine göre iletir. PBR, TCP/UDP bağlantı noktası numaraları, kaynak IP adresi, DSCP değeri ve TCP bayrakları gibi diğer kriterlere göre paketleri iletmek üzere yapılandırılabilir. Dell SONiC, ilke tabanlı yönlendirme için akış tabanlı servis ilkeleri kullanır. İletme ilkeleri, paketleri seçen ve yönlendirme ve iletme tabloları tarafından belirlenen yolu atlayarak bir paketin önceden belirlenmiş bir sonraki atlama veya arabirime iletilmesine neden olan eylemleri ayarlayan sınıf eşlemelerinden oluşur. Aynı politikada birden fazla eşleşme ve çıkış arayüzü veya sonraki atlama değeri tanımlayabilirsiniz. Yönlendirilen veya yönlendirilen trafiğe yönlendirme politikaları uygulayabilirsiniz. Trafik, giriş arayüzü tarafından kullanılan aynı VRF'ye veya farklı bir VRF'ye yönlendirilebilir.

Eşit erişim, protokole duyarlı yönlendirme, kaynağa duyarlı yönlendirme, toplu trafikle etkileşimli karşılaştırmaya dayalı yönlendirme ve özel bağlantılara dayalı yönlendirme sağlamak için ilke tabanlı yönlendirmeyi kullanın. İlke tabanlı yönlendirme, paketleri yönlendirmek için hedef yönlendirmeye göre daha esnek bir mekanizmadır.
 

Politika Tabanlı Yönlendirmeyi yapılandırma adımları

Dell SONiC, trafiği sınıflandırmak ve seçilen trafiğe IP sonraki atlamayı ayarlama gibi iletme eylemleri uygulamak için modüler bir çerçeve sağlayarak PBR yi uygular.

PBR'yi yapılandırmak için:

  1. Paket başlıklarında ACL'leri veya L2, L3 veya L4 alanlarını kullanarak politika tabanlı yönlendirme için trafiği sınıflandırın (seçin).
  2. Bir ilke haritasında, sınıflandırılmış her akış üzerinde gerçekleştirilecek iletme eylemlerini yapılandırın.
  3. İletim politikasını giriş arayüzlerine - genel olarak tüm anahtar arayüzlerinde, belirli bir arayüzde, bir VLAN veya bir bağlantı noktası kanalında uygulayın
Kısaca:

Politika Tabanlı Yönlendirmeyi yapılandırma adımları


NOT: Dell SONiC'de:
  • Gelen trafik, interface/vlan/portchannel/global içindeki bir politika haritasında uygulanan ifadelerin hiçbirinde eşleşme bulamazsa standart yönlendirme tablosuna göre iletir.
  • İletim politikası yalnızca giriş arayüzlerinde desteklenir.
  • Yönlendirme politikaları yalnızca seçili trafiği yönlendirebilir; CPU'ya giden trafiği yakalayamaz, değiştiremez veya yönlendiremezler.
  • Sonraki atlama ve sonraki atlama grubu işlemlerine sahip yönlendirme politikaları yalnızca yönlendirilmiş L3 trafiğinde geçerlidir.
  • Ethernet veya bağlantı noktası kanalı çıkış arayüzü kullanan yönlendirme politikaları yalnızca anahtarlamalı L2 trafiğinde geçerlidir.
  • İletme ilkeleri, CPU'yu hedefleyen trafiğe (hedef IP adresi, anahtar adresiyle aynıdır) veya CPU'ya hapsolmuş trafiğe uygulanmaz.
  • Bir iletme ilkesini tüm arayüzlere genel olarak uyguladığınızda ilke eşlemesinde set {ip | ipv6} next-hop ip-address vrf vrf-name komutunu kullanarak varsayılan olmayan bir VRF ayarlamadığınız sürece, sonraki atlamalar varsayılan VRF'de olmalıdır.

 

Yapılandırma Söz Dizimi

Trafiği sınıflandırmak için sınıf eşlemesini yapılandırma

Gelen trafiği bir sınıf haritasında aşağıdaki yöntemlerle sınıflandırabiliriz (eşleştirebiliriz).

  1. IPv4 veya IPv6 veya MAC Erişim listesini kullanma
  2. L2-L4 başlık alanlarını kullanma

Sınıf haritasındaki trafikle eşleştirmek için Access listesini kullanırken komut söz dizimi.

Erişim listesini Sınıf haritasındaki trafikle eşleşecek şekilde yapılandırıyorsak erişim listesini yapılandırdığımızdan emin olun.

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}

L2-L4 başlık alanlarını kullanırken komut söz dizimi

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

 

Politika Eşlemesini Yapılandırma

PBR iletme politikası, politika tabanlı yönlendirme için eşleşen trafik üzerinde gerçekleştirilecek iletme eylemlerini belirtir. İletim politikası aşağıdaki eylemleri destekler:

  • Sonraki atlamayı ayarla - IPv4 trafiğini bir IPv4 sonraki atlamaya yönlendirir; IPv6 trafiğini bir IPv6 sonraki atlamaya yönlendirir.
  • Sonraki atlama grubunu ayarla - En iyi sonraki atlama IPv4 veya IPv6 adresinin seçildiği grubu belirtir.
  • Arayüzü ayarla - L2 trafiğini belirli bir çıkış arayüzüne iletir.
  • Set interface null - Null arabirim ayarlanmışsa veya belirtilen sonraki atlamalardan hiçbirine erişilemiyorsa ya da belirtilen çıkış arayüzü L2 ve bağlantı çalışmıyorsa eşleşen trafiği bırakır.
  • Çoğaltma grubunu ayarla - RFC7690'de açıklandığı gibi karma sorununu çözmek için tasarlanmış, herhangi bir noktaya yayın sunucularına giden trafiği çoğaltmak için kullanılır.

Komut Söz Dizimi

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}

 

Servis İlkesini Yapılandırma (Politika eşlemesini arayüzde uygulama)

Bir arayüzde veya alt arayüzde:

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}

VLAN arayüzlerinde:

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

Port kanalı arayüzlerinde,

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

Global olarak tüm anahtar arayüzlerinde

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}

 

Doğrulama

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

 

Örnek Yapılandırma

Aşağıdaki topolojiyi ele alalım.

Topoloji

DELLSONiC'de 50.0.0.0/24 ve 60.0.0.0/24 için bir rotamız yok.

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

 

Amaç:

50.0.0.0/24 sunucu grubuna gelen trafik, bir sonraki atlama 20.0.0.2'ye yönlendirilmelidir. 60.0.0.0/24 sunucu grubuna gelen trafik, bir sonraki atlama 30.0.0.2'ye yönlendirilmelidir.
 

Yapılandırma

Sınıf Haritasını yapılandıralım. Burada trafiği çeşitli parametrelere göre sınıflandırıyoruz.
Sınıf Haritası MATCH_IP_OF_SERVER-1 Eşleşme kriterleri DST-IP 50.0.0.0/24'tür.
Sınıf haritasında MATCH_IP_OF_SERVER-2, eşleşme kriterleri DST-IP 60.0.0.0/24'tür.

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#

Politika Haritasını yapılandıralım.
Burada, trafik bir koşulla eşleşirse yapılacak bir sonraki eylemin ne olduğunu tanımlarız. Bu durumda, trafik belirli bir hedef IP adresiyle eşleşiyorsa belirli bir sonraki atlama IP'sine iletin.

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

Eth 1/1 arayüzünü oluşturmak için Policy map'i hizmet politikası olarak uygulayalım.

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


Yapılandırma Doğrulama

Sınıf eşlemesi yapılandırmasını kontrol edelim. Burada şunları görebiliriz MATCH_IP_OF_SERVER-1 Eşleşme kriterleri DST-IP 50.0.0.0/24'tür. Sınıf haritasında MATCH_IP_OF_SERVER-2, eşleşme kriterleri DST-IP 60.0.0.0/24'tür.

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#

İlke haritası, bir sınıf haritası altında sınıflandırılan bir trafik için bir sonraki atlamanın ne olduğunu tanımlar.

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#

Hizmet politikası, politika eşlemesinin uygulanacağı yeri tanımlar.

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#

 

Bir sonraki atlama Down ise ne olur?

Bir sonraki atlama 20.0.0.2'nin Aşağı olduğunu düşünün. Aşağıdaki çıktıya bakın. service-policy interface Eth 1/1 ve show service-policy policy-map bölümlerinden bunu görebiliriz FORWARD_TO_SERVER. 20.0.0.2'de "(seçili)" eksikken, ulaşılabilir olan 30.0.0.2'de "(seçili)" ifadesi var.

Burada sayaçlar (paket eşleşmesi ve çerçeve) artar, ancak bir sonraki atlamaya ulaşılamadığı için paket düşer.

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'ye ulaşılabilir ve seçilebilir. 20.0.0.2'ye ulaşılamıyor ve bu nedenle seçili eksik.

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