①分类:标示流量进行特殊处理,通过过滤经过路由的数据包来管理IP流量②抓取路由
分类:
标准ACL:检查源地址,通常允许或者拒绝整个协议族
扩展ACL:检查源地址和目的地址,通常允许或拒绝特定协议和应用程序
标准ACL和扩展ACL的两种标示方法:
编号ACL使用编号进行标示
命名ACL使用描述性名称或者编号进行标示
命名的ACL用字母数字字符串(名称)标识IP标准ACL和扩展ACL
命名访问控制列表可以单独删除某条语句而不破坏整个列表的顺序;也可以在新添加的语句前面写入编号,把语句插入到指定的位置,当没有写入编号的时候默认添加到最末行。
标准ACL格式
R1(config)#access-list access-list-number {remark|permit|deny} source source-wildcard [log]
R1(config)#access-list 表号 策略 源地址
表号:标准ACL范围,1-99、1300-1999。
策略:permit(允许);deny(拒绝)。
源地址:指定IP网段:IP地址+通配符掩码;单个主机地址:host;任意地址:any。
说明:
①“remark”选项:用于给访问控制列表添加备注,增强列表的可读性。
②源地址字段中:any选项表示任何IP地址,等同于0.0.0.0 255.255.255.255;host选项可代替掩码0.0.0.0。
③可选参数“log”:用于对匹配的数据包生成信息性日志消息,并发送到控制台上。
扩展ACL格式
R1(config)#access-list access-list-number {remark|permit|deny} protocol source [source-mask]
[operator operand] destination [destination-mask] [operator operand] [established] [log]
R1(config)#access-list 表号 策略 协议 源地址 源端口 目的地址 目的端口
表号:扩展ACL范围,100-199、2000-2699。
策略:permit(允许);deny(拒绝)。
协议:检查特定协议的数据包,如TCP、UDP、ICMP、IP等。
源地址:指定IP网段:IP地址+通配符掩码;单个主机地址:host;任意地址:any。
源端口:可省略不写,lt、gt、eq、neq(小于、大于、等于、不等于)。
目的地址:指定IP网段:IP地址+通配符掩码;单个主机地址:host;任意地址:any。
目的端口:可省略不写,lt、gt、eq、neq(小于、大于、等于、不等于)。
说明:“establishe”选项用于TCP协议,指示已建立的连接。
1、隐式拒绝所有,在列表中不可见
2、ACL匹配从上到下
3、ACL如果被匹配了后面就不会再管了
ACL可以限制网络流量、提高网络性能;提供网络安全访问的基本手段;可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞,应用范围很广,如:路由过滤、Qos、NAT、Router-map、VTY等。
3P原则:
每种协议(Per Protocol)的每个接口(Per Interface)的每个方向(Per Direction)只能配置一个ACL。
每种协议一个ACL:要控制接口上的流量,必须为接口上启用的每种协议定义相应的ACL。
每个方向一个ACL:一个ACL只能控制接口上一个方向的流量。要控制入站和出站流量,必须分别定义两个ACL。
每个接口一个ACL:一个ACL只能控制一个接口(如快速以太网F0/0)上的流量。
方向:in 对所有入站的数据匹配;out 对所有出站的数据进行匹配。
根据下面网络图配置好IP:
首先要使整个网络互通。前面讲过的多种方法都可以实现互通。
1、rip
2、eigrp
3、ospf
4、静态路由
配个静态路由比较省事。
R1#
ip route 0.0.0.0 0.0.0.0 fa 0/0静态路由指定fa 0/0端口
或(ip route 0.0.0.0 0.0.0.0 12.1.1.2默认路由下一跳12.1.1.2)
当然也可以把需要访问的网段192.160.4.0 5.0 6.0 23.1.1.0 都做静态路由,
这样比较复杂,因为只有一个出口,直接做一个就可以了。
R3#
ip route 0.0.0.0 0.0.0.0 fa 1/0
或(ip route 0.0.0.0 0.0.0.0 23.1.1.2)
R2#
ip route 192.160.4.0 255.255.255.0 23.1.1.3
要访问192.160.4.0网段就交给23.1.1.3路由.
ip route 192.160.5.0 255.255.255.0 23.1.1.3
ip route 192.160.6.0 255.255.255.0 23.1.1.3
ip route 192.160.1.0 255.255.255.0 12.1.1.1
ip route 192.160.2.0 255.255.255.0 12.1.1.1
ip route 192.160.3.0 255.255.255.0 12.1.1.1
这样的话全网就可以通了。
例1:拒绝特定主机如192.160.1.2
R3#
access-list 1 deny 192.160.1.2 0.0.0.0
(access-list 1 deny host 192.160.1.2)
拒绝1.2主机访问路同
access-list 1 permit 0.0.0.0 255.255.255.255
(access-list 1 permit any)隐式拒绝所有,在列表中不可见、所以必须加上允许所有主机访问.
interface fa 1/0
ip access-group 1 in
发现192.160.1.2被拒绝了,无法ping 通4.0 5.0 6.0网段,而192.160.1.1还可以连通。
例2:拒绝特定子网192.160.2.0
R3#
access-list 1 deny 192.160.2.0 0.0.0.255反掩码
access-list 1 permit any
interface fa 1/0
ip access-group 1 in
发现192.160.2.0网段被拒绝了,无法ping 通4.0 5.0 6.0网段,而192.160.1.1等还可以连通。
例3:拒绝从192.160.3.0网段到192.160.4.0网段访问的telnet流量,允许所有其它流量
R3#
no access-list 1删除上面的list 1 所有ACL规则
access-list 101 deny tcp 192.160.3.0 0.0.0.255 192.160.4.0 0.0.0.255 eq 23
access-list 101 permit ip any any
interface fa 1/0
ip access-group 101 in
发现3.0网段无法访问4.0网段的telnet服务了,但是可以ping 通。
而其它网段可以。
例4:拒绝从192.160.2.0网段ping通192.160.4.0网段,允许所有其它服务
access-list 102 deny icmp 192.160.1.0 0.0.0.255 192.160.4.0 0.0.0.255
access-list 102 permit ip any any
interface fa 1/0
ip access-group 102 in
例5:拒绝192.160.4.0网段访问外部网络,允许访问特定主机192.160.1.2.
R3#
configure terminal
ip access-list extended deny4.0创建扩展ACL命名为deny4.0
permit ip 192.160.4.0 0.0.0.255 192.160.1.2 0.0.0.0允许4.0访问1.2
deny ip 192.160.4.0 0.0.0.255 any拒绝4.0访问外面所有
permit ip any any 允许所有所有
interface fa 1/0进入端口
ip access-group deny4.0 out 对deny4.0 出站数据进行匹配
end
show ip access-list 查看ACL表
现在要3.1可以ping通4.0、而不能有其它服务;3.2可以telnet 4.0但不能有其它服务;3.0网段其它均不能访问,允许1.2 可以telnet 4.0网段,但不允许其它服务.
R3#
show ip access-list 查看ACL表
Router#show ip access-list
Extended IP access list deny4.0
10 permit ip 192.160.4.0 0.0.0.255 host 192.160.1.2 (8 match(es))
20 deny ip 192.160.4.0 0.0.0.255 any (20 match(es))
30 permit ip any any
configure terminal
ip access-list extended deny4.0进入名为deny4.0的ACL
no 10删除序列号为10的这一条
Router#show ip access-lists
Extended IP access list deny4.0
20 deny ip 192.160.4.0 0.0.0.255 any (187 match(es))
30 permit ip any any (1 match(es))
configure terminal
ip access-list extended deny4.0进入名为deny4.0的ACL
5 permit icmp 192.160.4.0 0.0.0.255 host 192.160.3.1 允许3.1能ping通4.0网段,序号为5
10 permit tcp 192.160.4.0 0.0.0.255 eq 23 host 192.160.3.2允许3.2能telnet 4.0网段,序号为10
15 permit tcp 192.160.4.0 0.0.0.255 eq 23 host 192.160.1.2允许1.2能telnet 4.0网段,序号为15
Router#show access-lists
Extended IP access list deny4.0
5 permit icmp 192.160.4.0 0.0.0.255 host 192.160.3.1
10 permit tcp 192.160.4.0 0.0.0.255 eq telnet host 192.160.3.2
15 permit tcp 192.160.4.0 0.0.0.255 eq telnet host 192.160.1.2 (2 match(es))
20 deny ip 192.160.4.0 0.0.0.255 any (216 match(es))
30 permit ip any any (1 match(es))
发现己经重新加入了ACL
R3#
ip access-list resequence deny4.0 100 20
100开始,20递增法重新排列序号
Router#show access-lists
Extended IP access list deny4.0
100 permit icmp 192.160.4.0 0.0.0.255 host 192.160.3.1
120 permit tcp 192.160.4.0 0.0.0.255 eq telnet host 192.160.3.2
140 permit tcp 192.160.4.0 0.0.0.255 eq telnet host 192.160.1.2 (2 match(es))
160 deny ip 192.160.4.0 0.0.0.255 any (216 match(es))
180 permit ip any any (1 match(es))
<<删除ACL 条目备注:
show ip access-lists 查看ACL表
ip access-list standard(extended) 102进入ACL标准或扩展102
no 10删除第10(前面数字序列号)条
no 20删除第20(前面数字序列号)条>>
现在检测刚配置的情况,发现都是按照要求来的,3.1可以ping通4.200,但是无法远程连接;而3.2、1.2可以远程连接4.200,但无法ping通;其它没有配置的IP 和网
段均无法访问4.0网段。而其它网段都是正常的。
用标准的ACL控制vty访问
#access-list access-list-number {in|out}
限定特定的VTY与ACL地址之间的入站或出站
#access-list 10 permit 192.168.4.0 0.0.0. 255
隐式拒绝所有
#line vty 0 4
#access-class 10 in
仅允许网络192.168.4.0 0.0.0.255 中的主机连接到路由器的VTY
#show IPaccess-lists
ip access-group用在接口下;access-class用在VTY线下
access-class命令前面没有“ip”
Router(config)#line vty 0 4
Router(config-line)#password xxwj
Router(config-line)#enable secret xxwj
Router(config)#line vty 0 4
Router(config-line)#login
Router(config-line)#exit
Router(config)#acc
Router(config)#access-list 10 permit 192.160.4.0 0.0.0.255
允许4.0访问、隐式拒绝所有.
Router(config)#line vty 0 4进入虚拟端口
Router(config-line)#acc
Router(config-line)#access
Router(config-line)#access-class 10 in
仅允许网络192.168.4.0 0.0.0.255 中的主机连接到路由器的VTY
Router(config-line)#hostname R3 路由更名为R3
原文地址:https://blog.51cto.com/14148388/2422762