如何为 NBAR 策略实施指定某些 IP 或 MAC 地址?

网络工程 思科 路由器 服务质量 cisco-isr
2021-07-16 20:10:46

在办公环境中,如果我想使用 Cisco ISR 路由器阻止 youtube,我将使用NBAR进行以下设置

class-map match-all YOUTUBE
 match protocol http host "*youtube.com*"
!
policy-map DROP_YOUTUBE
 class YOUTUBE
   drop
!
interface FastEthernet0/0
 description TO INTERNET
 service-policy output DROP_YOUTUBE

这是一个全局配置,但如何调整它以使其仅适用于某些工作站(通过 IP 或 MAC 地址)?

4个回答

您可以在类映射中创建第二个匹配条件,以匹配要阻止的所有源 IP 网络(使用 ACL)。来自与此 ACL 不匹配的源 IP 对 youtube.com 的任何请求都不会被丢弃。

关键是类映射的“全部匹配”或“匹配任何”部分。您可以通过任何一种方式配置类映射。

class-map {match-any | match-all} *class-map name*

如果您执行“全部匹配”类映射,则所有匹配条件都必须为真,以便流量匹配。正如 Jeremy 所提到的,创建一个匹配特定用户的 ACL 并匹配将执行您想要的操作。

ip access-list extended acl-block-users
permit ip 10.25.25.0 0.0.0.255 any
!
class-map match-all YOUTUBE
 match protocol http host "*youtube.com*"
 match access-group name acl-block-users
!
policy-map DROP_YOUTUBE
 class YOUTUBE
   drop
!
interface FastEthernet0/0
 description TO INTERNET
 service-policy output DROP_YOUTUBE

升级 cisco 交换机固件以更新 ip nbar 的协议

已经有一个专门为 YouTube.com 准备的协议,因为它只匹配 http 协议而不是 ssl,并且你不能对 YouTube 使用 ssl 协议,因为它都用于 google.com,阻止它也会阻止谷歌

class-map match-any youtube-site
  match protocol YouTube
!
policy-map block-youtube
  class youtube-site
   drop
!
int Gig0/N
 service-policy output block-youtube
!

请注意,命令与设备版本不同

我不相信您可以再使用路由器阻止 youtube.com。YouTube.com 现在通过 HTTPS 运行,这将禁止路由器检查数据包。最好的办法是阻止对 youtube.com 的 DNS 请求,这样它们就无法访问实际的 youtube 服务器。