Назад | Перейти на главную страницу

Ограничить пропускную способность в маршрутизаторе cisco с помощью карты политик не работает

У меня проблема с моим сценарием ограничения пропускной способности ПК ubuntu в GNS3 с помощью карты классов и карты политик. это моя топология в GNS3:

             -----------cisco-3725-router----------->Internet
            |
            |
            |
            |      
            |
         Switch
            |
          |   |
       |         |
    |               |
UBUNTU-PC         XP-PC

R1 - это маршрутизатор cisco 3725 с образом c3725-adventerprisek9-mz.124-25d.bin, и это моя конфигурация:

!

!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
!
resource policy
!
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
ip tcp synwait-time 5
!
!
no ip domain lookup
!
!
class-map match-all UBUNTU_DW
 match access-group name UBUNTU_DW
class-map match-all UBUNTU_UP
 match access-group name UBUNTU_UP
!
!
policy-map UP
 class UBUNTU_UP
  police cir 32000 bc 4000 be 4000
    conform-action transmit 
    exceed-action drop 
    violate-action drop 
policy-map DW
 class UBUNTU_DW
  police cir 32000 bc 4000 be 4000
    conform-action transmit 
    exceed-action drop 
    violate-action drop 
!
!
interface FastEthernet0/0
 ip address 10.0.0.254 255.255.255.0
 ip nat inside
 ip virtual-reassembly
 duplex auto
 speed auto
!
interface Serial0/0
 no ip address
 shutdown
 clock rate 2000000
!
interface FastEthernet0/1
 ip address 216.65.200.143 255.255.255.0
 ip nat outside
 ip virtual-reassembly
 duplex auto
 speed auto
 service-policy input DW
 service-policy output UP
!
interface FastEthernet1/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Serial2/0
 no ip address
 shutdown
 serial restart-delay 0
 no dce-terminal-timing-enable
!
interface Serial2/1
 no ip address
 shutdown
 serial restart-delay 0
 no dce-terminal-timing-enable
!
interface Serial2/2
 no ip address
 shutdown
 serial restart-delay 0
 no dce-terminal-timing-enable
!
interface Serial2/3
 no ip address
 shutdown
 serial restart-delay 0
 no dce-terminal-timing-enable
!
ip route 0.0.0.0 0.0.0.0 216.65.200.3
!
ip flow-top-talkers
 top 10
 sort-by bytes
!
no ip http server
no ip http secure-server
ip nat inside source list 1 interface FastEthernet0/1 overload
!
ip access-list extended UBUNTU_DW
 permit ip any host 10.0.0.51
ip access-list extended UBUNTU_UP
 permit ip host 10.0.0.51 any
!
access-list 1 permit 10.0.0.0 0.0.0.255
no cdp log mismatch duplex
!
!
control-plane
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
!
!
end

Проблема в том, что ограничение на 32 кбит / с для ubuntu не работает.

R1#sh policy-map interface fastEthernet 0/1
 FastEthernet0/1

  Service-policy input: DW

    Class-map: UBUNTU_DW (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: access-group name UBUNTU_DW
      police:
          cir 32000 bps, bc 4000 bytes, be 4000 bytes
        conformed 0 packets, 0 bytes; actions:
          transmit
        exceeded 0 packets, 0 bytes; actions:
          drop
        violated 0 packets, 0 bytes; actions:
          drop
        conformed 0 bps, exceed 0 bps, violate 0 bps

    Class-map: class-default (match-any)
      905 packets, 812409 bytes
      5 minute offered rate 27000 bps, drop rate 0 bps
      Match: any

  Service-policy output: UP

    Class-map: UBUNTU_UP (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: access-group name UBUNTU_UP
      police:
          cir 32000 bps, bc 4000 bytes, be 4000 bytes
        conformed 0 packets, 0 bytes; actions:
          transmit
        exceeded 0 packets, 0 bytes; actions:
          drop
        violated 0 packets, 0 bytes; actions:
          drop
        conformed 0 bps, exceed 0 bps, violate 0 bps

    Class-map: class-default (match-any)
      979 packets, 154180 bytes
      5 minute offered rate 7000 bps, drop rate 0 bps
      Match: any

Есть ли неправильная конфигурация? Как я могу применить эту политику?

К сожалению, я считаю, что NAT происходит раньше, чем охрана; таким образом, весь трафик отображается как NAT-адрес вместо внутреннего адреса, указанного в вашем ACL / карте классов.

Одна из идей состоит в том, чтобы пометить входящий на FA0 / 0 трафик, соответствующий серверу Ubuntu, значением DSCP. Затем полиция на основе этого значения DSCP. Это решит вашу проблему с исходящим трафиком.

Что касается нисходящего потока, я не совсем уверен, почему эта политика отсутствует. Я подозреваю, что проблема с NAT снова, хотя порядок операций, кажется, указывает, что это не должно быть фактором. http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/6209-5.html

Если выясняется, что это проблема NAT и для нисходящего потока, то вы можете использовать ограничитель исходящего трафика на fa0 / 0 и иметь такой же эффект подавления потока вниз.

Как сказал Джейсон, NAT, похоже, вступает в игру. Я бы посоветовал вместо этого попробовать политику обслуживания на f0 / 0 и изменить направление.

Это должно вступить в силу до / после срабатывания NAT, что должно исключить проблему с NAT.

interface FastEthernet0/1
 .
 .
 service-policy output DW
 service-policy input UP

Надеюсь это поможет!