自反ACL的配置

现在我们个需求:允许内网主机访问外部网络,而外部网络不能访问我们的内网,如果我们使用router(config)#access-list {access-list-number} deny ip any any 并在指定接口调用,那么,外部网络是不能够访问内部网络的,但内部网络的数据出去之后也回不来了,显然,我们并不想要这种结果。
我们知道TCP在建立连接之前,有一个三次握手过程,在TCP的包头里面有一个标志位,我们的扩展访问控制列表可以对这个标志位进行控制。我们分析下,内部主机向外发起连接的时候,SYN位为1,而外部的主机回应包里面为 SYN=1 ACK=1,而一个外部主机要想内部发起连接,他的第一个包只是SYN=1,而ACK=0,所以,我们可以使用Established ACL来达到我们想要的结果,命令如
R2(config)#ip access-list extended tcp
R2(config-ext-nacl)#permit tcp any any established
并在指定接口调用,然而Established ACL有一个致命的缺陷,它必须指定某一应用,如TCP,但我们可能会用到UDP、ICMP、PING等,为了解决这一问题,我们可以用自反ACL。接下来我们用实验来一一说明。
拓扑图:

#**#要求:R1能够Telnet到R3上,但R3不能够Telnet到R1上。

一、配置路由,使网络能够互通
R1的配置
R1(config)#int lo 0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#int e0/1
R1(config-if)#ip address 12.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#router ospf 100
R1(config-router)#router-id 10.1.1.1
R1(config-router)#network 10.1.1.1 0.0.0.0 a 0
R1(config-router)#network 12.1.1.1 0.0.0.0 a 0

R2的配置
R2(config)#int lo 0
R2(config-if)#ip address 10.2.2.2 255.255.255.0
R2(config-if)#int e0/0
R2(config-if)#ip address 12.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#int e0/1
R2(config-if)#ip address 23.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exi
R2(config)#router ospf 100
R2(config-router)#router-id 10.2.2.2
R2(config-router)#network 10.2.2.2 0.0.0.0 a 0
R2(config-router)#network 12.1.1.2 0.0.0.0 a 0
R2(config-router)#network 23.1.1.2 0.0.0.0 a 0

R3的配置
R3(config)#int lo 0
R3(config-if)#ip address 10.3.3.3 255.255.255.0
R3(config-if)#int e0/0
R3(config-if)#ip address 23.1.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exi
R3(config)#router ospf 100
R3(config-router)#router-id 10.3.3.3
R3(config-router)#network 10.3.3.3 0.0.0.0 a 0
R3(config-router)#network 23.1.1.3 0.0.0.0 a 0

测试
R1#ping 10.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/6 ms

R3#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/5 ms

二、配置Telnet
R1上配置Telnet
R1(config)#username xiaoming privilege 15 password xiaoming
R1(config)#line vty 0 4
R1(config-line)#login local
R1(config-line)#end

R3上配置Telnet
R3(config)#username xiaozhang privilege 15 password xiaozhang
R3(config)#line vty 0 4
R3(config-line)#login local
R3(config-line)#end

测试
R1#telnet 10.3.3.3
Trying 10.3.3.3 ... Open
User Access Verification
Username: xiaozhang
Password:
R3#
R1能够Telnet到R3上
R1#ping 10.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/6 ms
R1能ping通R3

R3#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Username: xiaoming
Password:
R1#
R3能够Telnet到R1
R3#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R3能ping通R1
由于并未做任何控制,R1与R3是可以相互Telnet的。

三、配置Established acl
R2(config)#ip access-list extended tcp //ACL的命名写法
R2(config-ext-nacl)#permit tcp any any established
R2(config-ext-nacl)#permit ospf any any //保持ospf路由正常运行
R2(config)#int e0/1 //在in方向调用
R2(config-if)#ip access-group tcp in

测试
R1#telnet 10.3.3.3
Trying 10.3.3.3 ... Open
User Access Verification
Username: xiaozhang
Password:
R3#
R1能够Telnet到R3

R1#ping 10.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.3.3.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
R1不能ping通R3
这个时候,我们发现R1不能ping通R3了,原为什么呢?
我们在访问控制列表中没有允许ICMP协议,所以返回的数据包在R2上面被拒绝掉了,但是telnet成功了,因为我们在进来的访问控制列表里允许了TCP。

R3#telnet 10.1.1.1
Trying 10.1.1.1 ...
% Destination unreachable; gateway or host down
R3#
R3不能够Telnet到R1

R3#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
R3不能ping通R1
我们看R3是不能访问R1的任何东西了,为什么呢?ping不通的原因是我们在R2上阻止了ICMP,而telnet为什么不行呢,虽然我们允许了TCP包,但是因为是R3向R1发起初始化连接,TCP里面的标志位SYN=1,ACK=0,而我们的访问控制列表的关键词established定义了只有ACK=1的包才能被允许,所以,这个初始连接包就被拒绝了,那么我们这种做法就满足了试验要求。
但如果我们不仅想让R1能Telnet到R3,还能够ping通R3,可以用自反ACL
四、配置自反ACL
先在R2上删除Established acl
然后再配置自反acl

R2(config)#ip access-list extended k1
R2(config-ext-nacl)#permit ip any any reflect zifanlist
R2(config-ext-nacl)#permit ospf any any
R2(config-ext-nacl)#exit
R2(config)#ip access-list extended k2
R2(config-ext-nacl)#evaluate zifanlist
R2(config-ext-nacl)#permit ospf any any
R2(config-ext-nacl)#exit
R2(config)#int e0/1
R2(config-if)#ip access-group k1 out
R2(config-if)#ip access-group k2 in
查看路由
R1#sho ip route
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.1.1.0/24 is directly connected, Loopback0
L 10.1.1.1/32 is directly connected, Loopback0
O 10.2.2.2/32 [110/11] via 12.1.1.2, 01:29:18, Ethernet0/1
O 10.3.3.3/32 [110/21] via 12.1.1.2, 00:58:43, Ethernet0/1
12.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 12.1.1.0/24 is directly connected, Ethernet0/1
L 12.1.1.1/32 is directly connected, Ethernet0/1
23.0.0.0/24 is subnetted, 1 subnets
O 23.1.1.0 [110/20] via 12.1.1.2, 00:58:43, Ethernet0/1
R3#sho ip rou
R3#sho ip route
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O 10.1.1.1/32 [110/21] via 23.1.1.2, 00:58:48, Ethernet0/0
O 10.2.2.2/32 [110/11] via 23.1.1.2, 00:58:48, Ethernet0/0
C 10.3.3.0/24 is directly connected, Loopback0
L 10.3.3.3/32 is directly connected, Loopback0
12.0.0.0/24 is subnetted, 1 subnets
O 12.1.1.0 [110/20] via 23.1.1.2, 00:58:48, Ethernet0/0
23.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 23.1.1.0/24 is directly connected, Ethernet0/0
L 23.1.1.3/32 is directly connected, Ethernet0/0

测试
R1#telnet 10.3.3.3
Trying 10.3.3.3 ... Open
User Access Verification
Username: xiaozhang
Password:
R3#
R1能够Telnet到R3

R1#ping 10.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R1能够ping通R3

R3#telnet 10.1.1.1
Trying 10.1.1.1 ...
% Destination unreachable; gateway or host down
R3不能够Telnet到R1

R3#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
U.U.U
Success rate is 0 percent (0/5)
R3也不能ping通R1

以上测验可以看出,R1内网主机不仅能够Telnet到R3内网主机,还能够ping通R3内网主机,但R3却不能够访问R1的任何数据。

写的不好,以后会来补充。

原文地址:http://blog.51cto.com/13596342/2123562

时间: 2024-08-30 02:37:12

自反ACL的配置的相关文章

ACL简单配置

一.实验拓扑. 二.标准ACL配置. R2(config)#access-list 1 deny 10.1.1.0 0.0.0.255 R2(config)#access-list 1 permit any #R2只拒绝10.1.1.0网段访问 R2(config)#int s0/0 R2(config-if)#ip access-group 1 in #在接口上应用ACL R2(config)#access-list 2 permit 172.16.3.1 R2(config)#line vt

自反ACL

ESW1: (主要配置)    其它 电脑 就配置上IP 网关 !interface FastEthernet1/0 switchport access vlan 10 duplex full speed 100!interface FastEthernet1/1 switchport access vlan 30 duplex full speed 100!interface FastEthernet1/2 switchport access vlan 20 duplex full speed

第十四章、Linux 账号管理与 ACL 权限配置

1. Linux 的账号与群组 1.1 使用者标识符: UID 与 GID 1.2 使用者账号:/etc/passwd 文件结构, /etc/shadow 文件结构 1.3 关于群组: /etc/group 文件结构, 有效与初始群组, groups, newgrp, /etc/gshadow2. 账号管理 2.1 新增与移除使用者: useradd, useradd 参考档, passwd, chage, usermod, userdel 2.2 用户功能:finger, chfn, chsh

访问控制列表ACL的配置与应用

访问控制列表(Access Control List,ACL)是应用在路由器接口的指令列表(即规则).这些指令列表用来告诉路由器,哪些数据包可以接收,哪些数据包需要拒绝.其基本原理如下:ACL使用包过滤技术,在路由器上读取OSI七层模型的第三层及第四层包头中的信息,如源地址.目的地址.源端口.目的端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的. ACL通过在路由器接口处控制数据包的转发还是丢弃,从而过滤通信流量.路由器根据ACL中指定的条件来检测通过路由器的数据包,从而决定是

VLAN DHCP ACL RIP 配置

实验要求: vlan10网关sw1   vlan20网关R1   vlan30/40网关sw2 vlan50/60网关R2  vlan40与vlan50都可以访问vlan60 但两个vlan在2层互相隔离  sw3 为DHCP服务器 实现全网vlan互通 思路与步骤: 实验  VLAN DHCP ACL RIP 配置 思路与配置: 1.配置SW1:创建vlan10和vlan20 将0端口加入vlan10 2和3端口加入vlan20 vlanif10 ip:192.168.10.254 255.2

【华为HCNA】访问控制列表ACL实例配置

[华为HCNA]访问控制列表ACL实例配置 ACL的概念访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制.限制网络流量.提高网络性能.防止网络攻击等等. 应用场景在小型企业的网络中,现要求只有经理的PC(源地址是192.168.2.1)才能访问互联 实验目的允许主机B(经理的PC)访问互联网,禁止主机A访问互联网 网络拓扑图如下: 操作步骤 一.配置端口类型

自反ACL实验(GNS3)

1.拓扑图 R2.R3为内网      R4为外网 2.对路由器进行配置 先将网络配通再配ACL,往各个接口配上相应的地址,然后配置静态路由使内外网连通 测试网络连通性 R2 ping R4 开始配置ACL (1)配置允许ICMP可以不用标记就进入内网,其它的必须被标记为meaqua才返回,然后应用ACL (2) 测试外网ICMP访问内网和telnet内网 可以发现ICMP可以访问,而telnet不能 (3)配置内网向外网发起的telnet被返回,并在端口f1/0上应用ACL (4)测试内网te

FGT ACL Policy配置

1.如何查看ACL Policy? show firewall policy 1 2.如何配置ACL Policy? config firewall policy edit 1 (序号都是数字) 3.如何直接过滤一个国家的IP? GeoPolicy 直接过滤 国家的IP

标准ACL、扩展ACL和命名ACL的配置详解

访问控制列表(ACL)是应用在路由器接口的指令列表(即规则).这些指令列表用来告诉路由器,那些数据包可以接受,那些数据包需要拒绝. 访问控制列表(ACL)的工作原理 ACL使用包过滤技术,在路由器上读取OSI七层模型的第3层和第4层包头中的信息.如源地址,目标地址,源端口,目标端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的. ACl是一组规则的集合,它应用在路由器的某个接口上.对路由器接口而言,访问控制列表有两个方向. 出:已经过路由器的处理,正离开路由器的数据包. 入:已到