使用策略映射限制 cisco 路由器中的带宽不起作用

网络工程 路由器 思科-ios 服务质量 带宽
2021-07-28 15:49:40

我的场景在使用类映射和策略映射限制 GNS3 中的 ubuntu PC 带宽时遇到问题。这是我在 GNS3 中的拓扑: 在此处输入图片说明

R1 是带有 c3725-adventerprisek9-mz.124-25d.bin 映像的 cisco 3725 路由器,这是我的配置:

访问列表

ip access-list extended UBUNTU_DW
  permit ip any host 10.0.0.51
ip access-list extended UNUNTU_UP
  permit ip host 10.0.0.51 any

类别和政策地图

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 

接口 FastEthernet0/1

interface FastEthernet0/1
  ip address 192.168.10.254 255.255.255.0
  ip nat outside
  ip virtual-reassembly
  duplex auto
  speed auto
  service-policy input DW
  service-policy output UP

问题是 ubuntu 的 32kbps 限制不起作用。

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

有没有错误的配置?如何应用此政策?

2个回答

我用dscp包标记解决了这个问题。这里是下载流的配置。

类映射如前:

class-map match-all UBUNTU_DW  match access-group name UBUNTU_DW

在 dscp 的帮助下,新政策是:

  Policy-Map DW
    Class UBUNTU_DW
     police cir 32000 bc 1500 pir 64000 be 2000
       conform-action set-dscp-transmit af21
       exceed-action set-dscp-transmit default
       violate-action drop

然后我将策略应用于 int fa 0/0

service-policy output DW

它有效:)

R1#sh policy-map interface fa 0/0 output
 FastEthernet0/0

  Service-policy output: DW

    Class-map: UBUNTU_DW (match-all)
      1699 packets, 2075517 bytes
      5 minute offered rate 20000 bps, drop rate 8000 bps
      Match: access-group name UBUNTU_DW
      police:
          cir 32000 bps, bc 1500 bytes
          pir 64000 bps, be 2000 bytes
        conformed 964 packets, 1063157 bytes; actions:
          set-dscp-transmit af21
        exceeded 336 packets, 440593 bytes; actions:
          set-dscp-transmit default
        violated 399 packets, 571767 bytes; actions:
          drop
        conformed 10000 bps, exceed 3000 bps, violate 8000 bps

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

ip 访问列表扩展 UNUNTU_UP

看起来你有一个错字。

编辑:

我不知道 NAT 配置的其余部分是什么样的,但如果 10.0.0.51 只是本地的,您的策略可能不匹配,因为 ACL 看到的是全局地址。

我想对此进行测试以确定,但我相信 QoS 操作都包含在 NAT 顺序的 ACL 检查步骤中。

如果是,则在翻译后评估 UP,而在翻译前评估 DW。

这将使您可以选择匹配全局地址并确保它是静态的,或者在 F0/0 上应用策略(更安全的选项)。在野外,您更有可能看到单独的路由器进行 NAT 和 WAN 切换。