自反ACL

 自反ACL實驗

一、實驗環境:

GNS3

c3640-ik9o3s-mz.124-13b.bin 模擬3560三層交換

VPCS模擬PC,使用三臺PC,分別屬於VLAN1,2,3

外網地址使用loopback 0接口,1.1.1.1/32表示(本實驗主要是驗證自反ACL

 

 

(這個拓撲和真實環境可能不同,但區別不大,真實環境下,3560一般是trunk鏈路與其他接入二層交換機相連,這裏我們直接把接PC的接口劃分到VLAN裏,兩個環境都是使用三層交換SVI實現跨VLAN訪問)。

 

二、基礎配置

Sw3560#      (建立VLAN與真實機不同,模擬器只能使用vlan database才能建立)

vlan data

Vlan 2

Vlan 3

Exit

 

SW3560(config)#

interface Loopback0

 ip address 1.1.1.1 255.255.255.255

 

interface FastEthernet1/11

 switchport access vlan 1

 

interface FastEthernet1/12

 switchport access vlan 2

!

interface FastEthernet1/13

 switchport access vlan 3

!!

interface Vlan1

 ip address 172.16.10.1 255.255.255.0

!

interface Vlan2

 ip address 172.16.20.1 255.255.255.0

!

interface Vlan3

 ip address 172.16.30.1 255.255.255.0

 

先測試下實驗的環境,看看VLAN間能不能互訪

 

 

VLAN是可以互訪的

三、需求:

VLAN1 可以訪問VLAN2,3

VALN2,3不能訪問VALN1

VLAN2不能訪問VALN3

VLAN3可以訪問VLAN2

所有VLAN都可以訪問外網

 

四、ACL規則設計:

 

思路先要理清

 

Int vlan1

可以訪問所有網絡

Int vlan2

只可以響應VLAN1,VLAN3的連接,可以訪問internet , 不可以訪問VLAN1,3

Int vlan3

可以訪問VLAN2,可以訪問internet,不允許主動訪問VLAN1,只可以響應VLAN1的連接

×響應連接是指其他VLAN主動建立的連接,纔可以允許返回通信數據通過。×

 

 

五、根據設計思路配置:

ip access-list extended v1

permit ip 172.16.10.0 0.0.0.255 any reflect v1to23  

                              (允許VLAN1訪問所有地址,並建立v1to23ACL映射表)

 

ip access-list extended v2

evaluate v1to23                   (允許v1to23映射表的連接通過

evaluate v3to2                    (允許v3to2映射表的連接通過)

deny ip 172.16.20.0 0.0.0.255 172.16.10.0 0.0.0.255 (這三條保證不能主
                                                           動訪問VLAN 1,3

  deny ip 172.16.20.0 0.0.0.255 172.16.30.0 0.0.0.255  但可以訪問internet)

  permit ip 172.16.20.0 0.0.0.255 any

deny ip any any

 

ip access-list extended v3

evaluate v1to23                    允許v1to23映射表的連接通過)

permit ip 172.16.30.0 0.0.0.255 172.16.20.0 0.0.0.255 reflect v3to2

                                                           (建立到VLAN2的映射表)

deny ip 172.16.30.0 0.0.0.255 172.16.10.0 0.0.0.255 (這兩條保證不能
                                                       主動
訪問VLAN1

  permit ip 172.16.30.0 0.0.0.255 any                  但可以訪問Internet)

deny ip any any

 

 

 

應用於接口

Int vlan1

  Ip access-group v1 in

Int vlan2

  Ip access-group v2 in

Int vlan3

  Ip access-group v3 in

 

 

 

 

 

六、驗證

1debug ip packet detail

   可以看到ACL數據包的詳細信息

通過的日誌

*Mar  1 05:31:10.034: IP: tableid=0, s=172.16.30.5 (Vlan3), d=172.16.20.5 (Vlan2), routed via FIB

*Mar  1 05:31:10.038: IP: s=172.16.30.5 (Vlan3), d=172.16.20.5 (Vlan2), g=172.16.20.5, len 48, forward

*Mar  1 05:31:10.042:     ICMP type=8, code=0

*Mar  1 05:31:10.106: IP: tableid=0, s=172.16.20.5 (Vlan2), d=172.16.30.5 (Vlan3), routed via FIB

*Mar  1 05:31:10.110: IP: s=172.16.20.5 (Vlan2), d=172.16.30.5 (Vlan3), g=172.16.30.5, len 48, forward

*Mar  1 05:31:10.114:     ICMP type=0, code=0

 

被阻止的日誌

*Mar  1 05:31:51.446: IP: s=172.16.20.5 (Vlan2), d=172.16.10.5, len 48, access denied

*Mar  1 05:31:51.450:     ICMP type=8, code=0

*Mar  1 05:31:51.450: IP: tableid=0, s=172.16.20.1 (local), d=172.16.20.5 (Vlan2), routed via FIB

*Mar  1 05:31:51.454: IP: s=172.16.20.1 (local), d=172.16.20.5 (Vlan2), len 56, sending

*Mar  1 05:31:51.458:     ICMP type=3, code=13

 

2show ip access-lists

查看access-list

 

SW3560#show ip access-lists

Extended IP access list v1

    10 permit ip 172.16.10.0 0.0.0.255 any reflect v1to23 (37 matches)

Reflexive IP access list v1to23

     permit icmp host 1.1.1.1 host 172.16.10.5  (13 matches) (time left 134)

     permit icmp host 172.16.30.5 host 172.16.10.5  (19 matches) (time left 113)

     permit icmp host 172.16.20.5 host 172.16.10.5  (20 matches) (time left 23)

Extended IP access list v2

    10 evaluate v1to23

    20 evaluate v3to2

    30 deny ip 172.16.20.0 0.0.0.255 172.16.10.0 0.0.0.255 (6 matches)

    40 deny ip 172.16.20.0 0.0.0.255 172.16.30.0 0.0.0.255 (3 matches)

    50 permit ip 172.16.20.0 0.0.0.255 any (15 matches)

    60 deny ip any any

Extended IP access list v3

    10 evaluate v1to23

    20 permit ip 172.16.30.0 0.0.0.255 172.16.20.0 0.0.0.255 reflect v3to2 (22 matches)

    30 deny ip 172.16.30.0 0.0.0.255 172.16.10.0 0.0.0.255 (6 matches)

    40 permit ip 172.16.30.0 0.0.0.255 any (30 matches)

    50 deny ip any any

Reflexive IP access list v3to2

     permit icmp host 172.16.20.5 host 172.16.30.5  (19 matches) (time left 267)

很詳細了吧,每條匹配的數據包數後面都有顯示

Reflexive IP access lis  這項下面的,看到了吧,這個就是自反ACLreflect)建立的ACL映射表,後面還有個time left,這個就相當於老化時間吧,時間歸0,這條ACL就自動刪除。

 

整個實驗完成了,也成功了,拓撲比較簡單,原理差不多,主要是一定要先把自己的思路理清楚,別一來就敲命令,除非你經驗很豐富或者技術很牛。

自反ACL也可以用於接口,int vlan 本來也就是一個虛擬接口。

 

在真實機3560交換機上,IPbase-12.2.bin的Ios帶有reflect命令,但不支持這個功能,就是說這麼照這篇文章的命令配置上去,但沒有自反ACL的作用。官方的文檔也說3560不支持動態ACL。

最後只能使用擴展ACL的TCP連接的established特性來完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章