思科ACL不连续通配符掩码的计算
access-list 120 permit ip 10.0.0.0 0.0.0.191 any
这条ACL看似简单,却又复杂,因为正常我们见到的通配符掩码都是诸如0.0.0.255(255.255.255.0)/0.0.255.255(255.255.0.0)/0.0.0.127(255.255.255.128)等等,那这个0.0.0.191又是什么鬼?
要知道0.0.0.191匹配到了什么地址,这就要从通配符掩码说起,在ACL语句中,当使用地址作为条件时,地址后面跟的都是通配符掩码,通配符掩码决定了地址中哪些位是需要精确匹配,哪些位不需要匹配。通配符掩码是一个32位数,采用点分十进制方式书写,匹配时,“0”表示检查的位、“1”表示不检查的位。
由此我们可以先进行通配符的二进制转换,由此可以看出这个通配符必须匹配1-24位和26位。
0.0.0.191--》0000 0000.0000 0000.0000 0000.1011 1111
而IP地址由于是10.0.0.0,所以二进制就是:
10.0.0.0---》0000 1010.0000 0000.0000 0000.0000 0000
由此我们可以看出,通配符必须匹配以下标红位数
0000 1010.0000 0000.0000 0000.0000 0000
而不标红位数第一个0可以有两种可能0/1,当第25位为0时,后六位的范围是000000-111111
0000 1010.0000 0000.0000 0000.0000 0000=10.0.0.0
0000 1010.0000 0000.0000 0000.0011 1111=10.0.0.63
当第25位为1时,后六位的范围是000000-111111
0000 1010.0000 0000.0000 0000.1000 0000=10.0.0.128
0000 1010.0000 0000.0000 0000.1011 1111=10.0.0.191
所以,10.0.0.0 0.0.0.191匹配了两个网段的IP地址,分别是10.0.0.0-10.0.0.63和10.0.0.128-10.0.0.191。
思科ACL不连续通配符掩码的计算的更多相关文章
- 关于ACL中通配符掩码(反掩码)认识
ACL(Access Control List) 访问控制列表在作为数据包的过滤器以及在对指定的某种类型的数据包的优先级,起到了对某些数据包的优先级起到了限制流量的作用,减少了网络的拥塞. ...
- 思科ACL阻止勒索病毒
如何在思科的3700系列交换机上配置ACL阻止勒索病毒的传播? 勒索病毒主要是微软的锅,通过TCP/UDP的135.137.138.139.445端口攻陷用户的计算机加密用户的文件达到勒索比特币的目的 ...
- JAVA中IP和整数相互转化(含有掩码的计算)
import java.net.InetAddress;/** * 用于IP和整数之间的相互转换 * @author Andy.Wang * */public class IPv4Util { ...
- H3C 通配符掩码的应用示例
- H3C 通配符掩码
- 思科设备ACL与NAT技术
ACL 访问控制列表(Access Control Lists),是应用在路由器(或三层交换机)接口上的指令列表,用来告诉路由器哪些数据可以接收,哪些数据是需要被拒绝的,ACL的定义是基于协议的,它适 ...
- CCNA网络工程师学习进程(8)访问控制列表ACL
前面几节我们介绍了路由器的路由配置,接下来几节我们将介绍路由器的高级配置应用,包括ACL.NAT.DHCP.PPP.VPN和远程连接等的配置. (1)ACL概述: ACL(Access C ...
- Cisco VLAN ACL配置
什么是ACL? ACL全称访问控制列表(Access Control List),主要通过配置一组规则进行过滤路由器或交换机接口进出的数据包, 是控制访问的一种网络技术手段, ACL适用于所有的被路由 ...
- NAT转换、VLAN与Trunk(特典:ACL初步)
一.NAT(网络地址转换) 即公有地址转换为私有地址 私有地址段(非公网地址,即公网不识别) A 10.0.0.0 10.255.255.255 B 17 ...
随机推荐
- iOS:视图切换的第二种方式:UINavigationController导航栏控制器
UINavigationController:一个以栈的形式管理多视图的容器,负责子控制器之间的跳转.由于以栈的方式管理视图,各个视图的切换就是压栈和出栈操作,所以出栈后的视图会立即销毁. 介绍: & ...
- go语言基础之字符串类型 和 字符与字符串类型的区别
1.字符串类型 示例1: package main //必须有一个main包 import "fmt" func main() { var str1 string str1 = & ...
- c# 滚动字幕的实现
在c#中其实滚动屏幕的实现很简单,只需要用到Graphics.DrawString方法. Graphics.DrawString (String s, Font font, Brush brush, ...
- 类的const和非const成员函数的重载
我们从一个例子说起,来看上一篇文章中的String类, 我们为它提供一个下标操作符([ ])以读写指定位置的字符(char). 只要了解过C++的操作符重载的语法,很快就可以写出下面这个[]操作符重载 ...
- 分治算法——Karastsuba算法
分治(Divide and Conquer)算法:问题能够分解为子问题,每一个问题是能够独立的解决的,从子问题的解能够构建原问题. Divide:中间分.随机分.奇偶分等,将问题分解成独立的子问题 C ...
- @Autowired注入了dao,为什么还要写getDao(){return userDao}这个方法?有什么作用?
Autowired private UserDao userDao; @Override public BaseDao<User> getDao() { return userDao; } ...
- (剑指Offer)面试题44:扑克牌的顺子
题目: 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这五张牌是不是连续的,2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字. 思路: 把5张牌看成一个数组,就看排序 ...
- 真人测试网站用户体验的超棒在线服务 - Peek by UserTesting
闲逛的过程中找到的这个工具网站,它可以帮助你测试你的网站用户体验,而且会发送给你一个5分钟的视频来展示一个实际的用户(不是机器,是人哦)如何操作你的网站的,这个服务目前免费,大家如果有兴趣了解你的网站 ...
- mysql查找数据库中是否已经存在某张表
Sql: select count(*) from information_schema.TABLES t where t.TABLE_SCHEMA ="数据库名" and t.T ...
- ArcGIS Add-In调试无法重新生成
在调试ArcGIS Add-In时,出现错误:无法注册程序集"……\Projects\ArcGISAddIn\ArcGISAddIn\bin\Debug\ArcGISAddIn.dll&qu ...