设为首页 收藏本站
查看: 1600|回复: 0

[经验分享] 华为ACL应用及实例

[复制链接]

尚未签到

发表于 2018-7-23 08:34:24 | 显示全部楼层 |阅读模式
  1、ACL应用范围
  小编总结了一下,ACL应用的业务模块非常多,但主要分为以下四类:
  业务分类
  应用场景
  涉及业务模块
  登录控制
  对交换机的登录权限进行控制,允许合法用户登录,拒绝非法用户登录,从而有效防止未经授权用户的非法接入,保证网络安全性。
  例如,一般情况下交换机只允许管理员登录,非管理员用户不允许随意登录。这时就可以在Telnet中应用ACL,并在ACL中定义哪些主机可以登录,哪些主机不能。
  Telnet、SNMP、FTP
  TFTP、SFTP、HTTP
  对转发的报文进行过滤
  对转发的报文进行过滤,从而使交换机能够进一步对过滤出的报文进行丢弃、修改优先级、重定向、IPSEC保护等处理。
  例如,可以利用ACL,降低P2P下载、网络视频等消耗大量带宽的数据流的服务等级,在网络拥塞时优先丢弃这类流量,减少它们对其他重要流量的影响。
  QoS流策略、NAT、IPSEC
  对上送CPU处理的报文进行过滤
  对上送CPU的报文进行必要的限制,可以避免CPU处理过多的协议报文造成占用率过高、性能下降。
  例如,发现某用户向交换机发送大量的ARP***报文,造成交换机CPU繁忙,引发系统中断。这时就可以在本机防***策略的黑名单中应用ACL,将该用户加入黑名单,使CPU丢弃该用户发送的报文。
  黑名单、白名单、
  用户自定义流
  路由过滤
  ACL可以应用在各种动态路由协议中,对路由协议发布和接收的路由信息进行过滤。
  例如,可以将ACL和路由策略配合使用,禁止交换机将某网段路由发给邻居路由器。
  BGP、IS-IS、OSPF
  OSPFv3、RIP、RIPng
  组播协议
  
2、ACL业务模块的处理机制
  业务模块
  匹配上了permit规则
  匹配上了deny规则
  ACL中配置了规则,但未匹配上任何规则
  ACL中没有配置规则
  ACL未创建
  Telnet
  permit(允许登录)
  deny(拒绝登录)
  deny(拒绝登录)
  permit(允许登录)
  permit(允许登录)
  HTTP
  permit(允许登录)
  deny(拒绝登录)
  deny(拒绝登录)
  permit(允许登录)
  permit(允许登录)
  SNMP
  permit(允许登录)
  deny(拒绝登录)
  deny(拒绝登录)
  permit(允许登录)
  permit(允许登录)
  FTP
  permit(允许登录)
  deny(拒绝登录)
  deny(拒绝登录)
  permit(允许登录)
  permit(允许登录)
  TFTP
  permit(允许登录)
  deny(拒绝登录)
  deny(拒绝登录)
  permit(允许登录)
  permit(允许登录)
  SFTP
  permit(允许登录)
  deny(拒绝登录)
  deny(拒绝登录)
  permit(允许登录)
  permit(允许登录)
  流策略
  流行为是permit时:permit(允许通过)
  流行为是deny时:deny(丢弃报文)
  deny(丢弃报文)
  permit(功能不生效,按照原转发方式进行转发)
  permit(功能不生效,按照原转发方式进行转发)
  permit(功能不生效,按照原转发方式进行转发)
  NAT
  permit(进行NAT转换)
  permit(功能不生效,按照原转发方式进行转发)
  permit(功能不生效,按照原转发方式进行转发)
  permit(功能不生效,按照原转发方式进行转发)
  permit(功能不生效,按照原转发方式进行转发)
  IPSEC
  permit(数据流经过IPSec处理后再转发)
  不允许出现此情况
  permit(功能不生效,按照原转发方式进行转发)
  不允许出现此情况
  不允许出现此情况
  本机防***策略
  白名单
  permit(CPU优先处理)
  deny(丢弃报文)
  permit (功能不生效,正常上送报文)
  permit(功能不生效,正常上送报文)
  permit(功能不生效,正常上送报文)
  黑名单
  deny(丢弃报文)
  deny(丢弃报文)
  permit (功能不生效,正常上送报文)
  permit (功能不生效,正常上送报文)
  permit (功能不生效,正常上送报文)
  用户自定义流
  用户自定义流的处理动作是deny时:deny(丢弃报文)
  动作是car时:permit(进行CAR限速)
  deny(丢弃报文)
  permit (功能不生效,按照原转发方式进行转发)
  permit (功能不生效,正常上送报文)
  permit (功能不生效,正常上送报文)
  路由
  Route Policy
  匹配模式是permit时:permit(允许执行路由策略)
  匹配模式是deny时:
  deny(不允许执行路由策略)
  deny(功能不生效,不允许执行路由策略)
  deny(功能不生效,不允许执行路由策略)
  permit(对经过的所有路由生效)
  deny(功能不生效,不允许执行路由策略)
  Filter Policy
  permit(过滤路由)
  deny(不过滤该路由)
  deny(不过滤该路由)
  permit(过滤所有路由)
  deny(功能不生效,不过滤路由)
  组播
  igmp-snooping ssm-policy
  permit(允许加入SSM组播组范围)
  deny(禁止加入SSM组地址范围)
  deny(禁止加入SSM组地址范围)
  deny(禁止加入SSM组地址范围,所有组都不在SSM组地址范围内)
  deny(禁止加入SSM组地址范围,只有临时组地址范围232.0.0.0~232.255.255.255在SSM组地址范围内)
  igmp-snooping group-policy
  配置了default-permit时:permit(允许加入组播组)
  未配置default-permit: permit(允许加入组播组)
  配置了default-permit时:deny(禁止加入组播组)
  未配置default-permit:deny (禁止加入组播组)
  配置了default-permit时:permit(允许加入组播组)
  未配置default-permit:deny(禁止加入组播组)
  配置了default-permit时:permit(允许加入组播组)
  未配置default-permit:deny(禁止加入组播组)
  配置了default-permit时:permit(允许加入组播组)
  未配置default-permit:deny(禁止加入组播组)
3、ACL应用方式
  业务模块
  ACL应用方式
  可使用的ACL编号范围
  Telnet
  方式一:
  系统视图下执行命令telnet [ ipv6 ] server acl acl-number
  方式二:
  a、执行命令user-interface vty first-ui-number[ last-ui-number ],进入VTY用户界面视图
  b、执行命令acl [ ipv6 ] acl-number { inbound | outbound}
  2000~3999
  HTTP
  系统视图下执行命令http acl acl-number
  2000~3999
  SNMP
  SNMPv1和SNMPv2c:
  系统视图下执行命令snmp-agent acl acl-number
  或snmp-agent community { read | write } { community-name | cipher community-name } [ mib-view view-name| acl acl-number ] *
  SNMPv3:
  系统视图下执行命令snmp-agent acl acl-numbersnmp-agent group v3 group-name {authentication | privacy | noauthentication } [ read-viewread-view | write-view write-view | notify-view notify-view]* [ acl acl-number ]或snmp-agent usm-user v3 user-name [ group group-name | acl acl- number ] *
  2000~2999
  FTP
  系统视图下执行命令ftp [ipv6 ]acl acl-number
  2000~3999
  TFTP
  系统视图下执行命令tftp-server [ipv6 ]acl acl-number
  2000~3999
  SFTP
  方式一:
  系统视图下执行命令ssh [ ipv6 ] server acl acl-number
  方式二:
  a、执行命令user-interface vty first-ui-number[ last-ui-number ],进入VTY用户界面视图
  b、执行命令acl [ ipv6 ] acl-number { inbound | outbound}
  2000~3999
  流策略
  a、  系统视图下执行命令traffic> classifier-name [ operator { and | or } ] [ precedenceprecedence-value ],进入流分类视图。
  b、执行命令if-match acl { acl-number | acl-name },配置ACL应用于流分类。
  c、 系统视图下执行命令traffic behavior behavior–name,定义流行为并进入流行为视图。
  d、配置流动作。报文过滤有两种流动作:deny或permit。
  e、 系统视图下执行命令traffic policy policy-name [match-order { auto | config } ],定义流策略并进入流策略视图。
  f、 执行命令classifier classifier-name behaviorbehavior-name,在流策略中为指定的流分类配置所需流行为,即绑定流分类和流行为。在系统视图、接口视图或VLAN视图下,执行命令traffic-policy policy-name { inbound | outbound },应用流策略。
  ACL:2000~5999
  ACL6:2000~3999
  NAT
  方式一:
  a、   系统视图下执行命令nat address-group group-index start-address end-address,配置公网地址池。
  b、   执行命令interface interface-type interface-number.subnumber,进入子接口视图。
  c、   执行命令nat outboundacl-number address-groupgroup-index [no-pat ],,配置带地址池的NAT Outbound。
  方式二:
  a、   系统视图下执行命令interface interface-typeinterface-number.subnumber,进入子接口视图。
  b、   执行命令nat outbound acl-number,配置Easy IP。
  2000~3999
  IPSEC
  方式一:
  a、   系统视图下执行命令ipsec policy policy-name seq-number manual,创建手工方式安全策略,并进入手工方式安全策略视图。
  b、   执行命令security acl acl-number,在安全策略中引用ACL。
  方式二:
  a、   系统视图下执行命令ipsec policypolicy-name seq-number isakmp,创建IKE动态协商方式安全策略,并进入IKE动态协商方式安全策略视图。
  b、   执行命令security acl acl-number,在安全策略中引用ACL。
  方式三:
  a、   系统视图下执行命令ipsec policy-templatetemplate-name seq-number,创建策略模板,并进入策略模板视图。
  b、   执行命令security acl acl-number,在安全策略中引用ACL。
  c、   系统视图下执行命令ipsec policy policy-name seq-number isakmp template template-name,在安全策略中引用策略模板。
  3000~3999
  本机防***策略
  白名单
  a、   系统视图下执行命令cpu-defend policypolicy-name,创建防***策略并进入防***策略视图。
  b、   执行命令whitelist whitelist-id acl acl-number,创建自定义白名单。
  c、   系统视图下执行命令cpu-defend-policy policy-name[ global ],或槽位视图下执行命令cpu-defend-policypolicy-name,应用防***策略。
  2000~4999
  黑名单
  a、   系统视图下执行命令cpu-defend policypolicy-name,创建防***策略并进入防***策略视图。
  b、   执行命令blacklist blacklist-id acl acl-number,创建黑名单。
  c、   系统视图下执行命令cpu-defend-policy policy-name[ global ],或槽位视图下执行命令cpu-defend-policypolicy-name,应用防***策略。
  2000~4999
  用户自定义流
  a、   系统视图下执行命令cpu-defend policypolicy-name,创建防***策略并进入防***策略视图。
  b、   执行命令user-defined-flowflow-id acl acl-number,配置用户自定义流。
  c、   系统视图下执行命令cpu-defend-policy policy-name[ global ],或槽位视图下执行命令cpu-defend-policypolicy-name,应用防***策略。
  2000~4999
  路由
  Route Policy
  a、   系统视图下执行命令route-policy route-policy-name{ permit | deny } node node,创建Route-Policy,并进入Route-Policy视图。
  b、   执行命令if-match acl{ acl-number | acl-name },配置基于ACL的匹配规则;或者配置apply子句为路由策略指定动作,如执行命令apply cost [ + | - ] cost,设置路由的开销值等。
  c、   应用路由策略。路由协议不同,命令行不同。例如针对OSPF协议,可以在OSPF视图下,执行命令import-route { limit limit-number | { bgp [ permit-ibgp ] | direct | unr | rip [ process-id-rip ] | static |isis [ process-id-isis ] | ospf [ process-id-ospf ] } [cost cost | type type | tag tag | route-policy route-policy-name ]* },引入其他路由协议学习到的路由信息;针对RIP协议,可以在RIP视图下,执行命令import-route { { static | direct | unr } | { { rip | ospf |isis } [ process-id ] } } [ cost cost | route-policyroute-policy-name ] *。
  2000~2999
  Filter Policy
  路由协议不同,过滤方向不同,命令行不同。例如针对RIP协议,对引入的路由进行过滤,可以在RIP视图下执行命令filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name [ gateway ip-prefix-name ] }import [ interface-type interface-number ];对发布的路由进行过滤,可以在RIP视图下执行命令filter-policy {acl-number | acl-name acl-name | ip-prefix ip-prefix-name } export [ protocol [ process-id ] | interface-type interface-number ] 。
  2000~2999
  组播
  igmp-snooping ssm-policy
  VLAN视图下执行命令igmp-snooping ssm-policybasic-acl-number
  2000~2999
  igmp-snooping group-policy
  VLAN视图下执行命令igmp-snooping group-policyacl-number [ version version-number ] [ default-permit ]
  2000~3999
4、ACL应用案例
  案例1:使用ACL限制Telnet访问权限
  为了保障远程维护网络设备的安全性,现要求只有管理员(源地址是10.1.1.1/32)才能telnet登录交换机,其他人不允许登录。

  要实现这个需求,一定是在Telnet模块中应用ACL。那么该如何配置ACL规则呢?大家是不是认为应该先配置一条permit规则允许10.1.1.1/32登录,然后再配置多条deny规则拒绝其他地址登录呢?其实大可不必。
  业务模块
  匹配上了permit规则
  匹配上了deny规则
  ACL中配置了规则,但未匹配上任何规则
  ACL中没有配置规则
  ACL未创建
  Telnet
  permit(允许登录)
  deny(拒绝登录)
  deny(拒绝登录)
  permit(允许登录)
  permit(允许登录)
  因此,我们仅需配置一条允许10.1.1.1/32地址通过的permit规则即可,10.1.1.1/32以外的地址的报文因匹配不上任何规则会被拒绝登录。
  案例1关键配置的配置文件如下:
  #
  telnet server port 1025
  #
  acl number 2001    //创建基本ACL,编号为2001
  rule 5 permit source 10.1.1.1 0   //仅允许10.1.1.1/32登录
  #
  aaa
  local-user admin1234 password irreversible-cipher ******  //登录密码用******代替,请根据实际情况配置
  local-user admin1234 privilege level 3
  local-user admin1234 service-type telnet
  #
  user-interface maximum-vty 8
  user-interface vty 0 7
  acl 2001 inbound    //对通过用户界面的登录进行限制
  案例2:使用基于时间的ACL限制用户访问服务器权限
  某企业禁止市场部门和研发部门在上班时间(8:00至17:30)访问工资查询服务器(IP地址为10.10.4.9/32),而总裁办公室不受限制,可以随时访问。

  分析上述需求,实际上就是要对源IP=10.10.1.0/24访问目的IP=10.10.4.9/32的转发流量、以及源IP=10.10.2.0/24访问目的IP=10.10.4.9/32的转发流量,在特定时间内进行限制,其他访问流量则不受限制,所以我们可以通过在流策略中应用ACL来解决。
  1)     首先,查阅流策略模块的ACL处理机制参照表,为需要过滤的报文配置ACL规则。
  当ACL中存在规则的情况下,如果报文匹配上deny规则,则被拒绝通过;如果未匹配上,则会被正常转发。因此,根据上述需求,我们只需要针对两类需限制的流量,分别配置deny规则即可。其他地址访问服务器的报文因匹配不上任何规则而被正常转发,不受限制。
  业务模块
  匹配上了permit规则
  匹配上了deny规则
  ACL中配置了规则,但未匹配上任何规则
  ACL中没有配置规则
  ACL未创建
  流策略
  流行为是permit时:
  permit(允许通过)
  流行为是deny时:
  deny(丢弃报文)
  deny(丢弃报文)
  permit(功能不生效,按照原转发方式进行转发)
  permit(功能不生效,按照原转发方式进行转发)
  permit(功能不生效,按照原转发方式进行转发)
  2)    其次,我们需要注意,需求中强调了是在一定时间范围内进行流量限制,所以仅仅进行流量控制是不可行的,还必须在规则中引入生效时间段。
  我们定义一个时间段名称为control-time,并配置该时间段为8:00至17:30,然后在规则中指定time- name参数为control-time,即把生效时间段与ACL关联起来了。
  3)    最后,我们再查阅流策略ACL应用方式参照表,将ACL应用到流策略中。
  根据上述需求,我们为市场部和研发部分别配置两个流分类c_market、c_rd,然后将配置的两条deny规则对应的ACL应用到两个流分类中,并配置两个流行为动作为deny。同时为市场部和研发部分别创建流策略p_market和p_ rd,并将流分类和流行为与流策略绑定,最后再在接口上应用流策略。
  案例2关键配置的配置文件如下:
  time-range control-time 08:00 to 17:30 working-day  //配置生效时间段,工作日8:00至17:30
  #
  acl number 3002
  rule 5 deny ip source 10.10.1.0 0.0.0.255 destination 10.10.4.9 0 time-range control-time     //限制市场部人员在上班时间不能访问工资服务器
  #
  acl number 3003
  rule 5 deny ip source 10.10.2.0 0.0.0.255 destination 10.10.4.9 0 time-range control-time    //限制研发部人员在上班时间不能访问工资服务器
  #

  traffic>  if-match acl 3002  //对匹配ACL 3002的报文(即源地址是市场部IP的报文)进行分类

  traffic>  if-match acl 3003  //对匹配ACL 3003的报文(即源地址是研发部IP的报文)进行分类
  #
  traffic behavior b_market
  deny  //配置流行为,拒绝匹配上规则的报文通过
  traffic behavior b_rd
  deny  //配置流行为,拒绝匹配上规则的报文通过
  #
  traffic policy p_market match-order config   //为市场部配置流策略
  classifier c_market behavior b_market    //在流策略中绑定流分类和流行为
  traffic policy p_rd match-order config    //为研发部配置流策略
  classifier c_rd behavior b_rd  //在流策略中绑定流分类和流行为
  #
  interface GigabitEthernet1/0/0
  port link-type access
  port default vlan 10
  traffic-policy p_market inbound   //接口下应用流策略(市场部从接口GE1/0/0接入)
  #
  interface GigabitEthernet1/0/1
  port link-type access
  port default vlan 20
  traffic-policy p_rd inbound  //接口下应用流策略(研发部从接口GE1/0/1接入)
  转(http://support.huawei.com/ecommunity/bbs/10223479.html)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-539928-1-1.html 上篇帖子: [华为] 交换机配置划分VLAN实验 下篇帖子: DHCP、UDP、华为ACL-Mr
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表