自反访问列表
默认情况下,访问列表不记录会话。组成访问列表的许多允许和拒绝规则从上到下阅读。如果满足任何条件,则不会满足任何其他条件,因此将执行该操作。
自反访问列表作为一种有状态的防火墙,在一个非常小的工作场所内,仅允许在网络内发起的流量,同时阻止来自外部的其他数据包。
自反访问列表 –
自反访问列表是一种只接受来自已经开始的网络会话的数据包答复的访问列表(来自外部网络)。
自反访问列表的工作原理 –
自反访问列表在内部网络开始会话并通过路由器离开网络时被激活(操作自反访问列表)。因此,它为内部网络中源自网络内部的流量创建临时条目,并仅允许会话所需的外部流量(由网络内部生成的流量)。会话结束时,这个临时条目被删除。
临时条目的特点 –
- 条目中的源地址和目的地址与出站数据包(离开网络的数据包)中的地址相同,唯一的例外是当数据包从外部网络到达时它们会被交换。
- 即使当数据包从外部网络到达时它们被交换了,条目应该包含与原始出站数据包相同的源端口和目的端口号。
- 条目应使用与出站数据包相同的协议。
自反访问列表的特点 –
- 指定的扩展访问列表应包含自反访问列表。
- 不能直接应用到接口上。
- 会话开始后,将创建临时条目,并在会话结束时自动删除。
- 访问列表末尾没有隐含的拒绝条目。
- 与标准访问列表类似,如果满足其中一个条件,将不再考虑后续条目。
- 在有编号的访问列表中,无法定义自反访问列表。
- 命名或编号的标准访问列表无法定义自反访问列表。
配置 –
有两个路由器:router1(fa0/0上的IP地址:10.1.1.1/24和fa0/1上的11.1.1.1/24),router2(fa0/0上的IP地址:11.1.1.2/24和fa0/1上的12.1.1.1/24),以及两台计算机(IP地址分别为10.1.1.2/24和12.1.1.2/24)。为了使计算机之间可以ping通,我们首先使用EIGRP为所有路由器提供路由。
在router1上配置EIGRP:
router1(config)#router Eigrp 100
router1(config-router)#network 10.1.1.0
router1(config-router)#network 11.1.1.0
router1(config-router)#No auto-summary
在路由器2上配置Eigrp:
router2(config)#router Eigrp 100
router2(config-router)#network 11.1.1.0
router2(config-router)#network 12.1.1.0
router2(config-router)#No auto-summary
目前,我们将允许来自网络内部(10.1.1.0网络)的IP、TCP和UDP流量,并评估来自网络外部(12.1.1.0和11.1.1.0网络)的流量。创建一个名为“reflexive”的访问列表,用于离开内部流量。
router1(config)#ip Access-list extended reflexive
router1(config-ext-na)#permit ip any any reflect ip_database
router1(config-ext-nacl)#permit tcp any any reflect tcp_database
router1(config-ext-nacl)#permit udp any any reflect udp_database
在这里,IP、TCP和UDP通信是被允许的,并且分别被指定为ip数据库、tcp数据库和udp数据库。
在这种情况下,”Reflexive”不是一个关键词,而是Access-list的名称。现在将这个Access-list应用到router1的int fa0/1的出口上,以便允许离开路由器的流量。
router1(config)#int fa0/1
router1(config-if)#ip access-group reflexive out
立即为内部网络流量应用访问控制列表,也称为入站流量。只允许由内部(10.1.1.0)网络发起的通信进入。
router1(config)#ip access-list extended reflexive_in
router1(config-ext-nacl)#permit Eigrp any any
router1(config-ext-nacl)#evaluate tcp_database
router1(config-ext-nacl)#evaluate udp_database
router1(config-ext-nacl)#evaluate ip_database
由于我们在这里启用了Eigrp流量,路由器应能够相互通信;否则,流量将无法返回到以太网络。
为了允许在网络内部使用TCP、UDP或IP启动的流量,我们已评估了UDP数据库、IP数据库和TCP数据库。现在在fa0/1接口的内部方向应用这个,以便可以对传入的流量进行评估。
router1(config)#int fa0/1
router1(config-if)#ip access-group reflexive_in in
这种情况下的访问控制列表被称为反射性输入。
优点 –
反射性访问控制列表具有以下优点:
- 实施简单
- 能够对来自外部网络的流量进行更多控制。
- 提供针对特定的拒绝服务攻击和欺骗的保护。
缺点
- 一些应用程序使用动态端口,这增加了失败的风险,因为反射性访问控制列表需要源端口和目标端口是静态的。