XFBAY学习笔记=++=实验十四 访问控制列表

XFBAY学习笔记=++=实验十四 访问控制列表_第1张图片

    1. 配置路由器到网络各点可通
    设网络图动态路由已设好,IP地址分配如下:
PCA ip:10.65.1.1  gateway:10.65.1.2
PCB ip:10.66.1.1  gateway:10.66.1.2
PCC ip:10.69.1.1  gateway:10.69.1.2
PCD ip:10.70.1.1  gateway:10.70.1.2
PCE ip:10.65.1.3  gateway:10.65.1.2
PCF ip:10.65.2.1  gateway:10.65.2.2
-----------------------------------------------------
例:
[root@PCA root]# ifconfig eth0 10.65.1.1 netmask 255.255.255.0
[root@PCA root]# route add default gw 10.65.1.2

-----------------------------------------------------

RouterA f0/0: 10.65.1.2
RouterA f0/1: 10.66.1.2
RouterA s0/1: 10.68.1.2
-----------------------------------------------------
例:
routera(config)#int s0/1
routera(config-if)#ip add 10.68.1.2 255.255.255.0
routera(config-if)#no shutdown
-----------------------------------------------------

RouterC s0/0: 10.68.1.1
RouterC s0/1: 10.78.1.2

-----------------------------------------------------
例:
routerc(config)#int s0/0
routerc(config-if)#ip add 10.68.1.1 255.255.255.0
routerc(config-if)#no shutdown
clock?
routerc(config-if)#clock rate 64000
routerc(config-if)#no shutdown
-----------------------------------------------------

RouterB s0/0: 10.78.1.1
RouterB f0/0: 10.69.1.2
RouterB f0/1: 10.70.1.2
-----------------------------------------------------
例:
routerb(config)#int s0/0
routerb(config-if)#ip add 10.78.1.1 255.255.255.0
routerb(config-if)#no shutdown
-----------------------------------------------------

在路由器routera,routerb,routerc中
routerX(config)#ip routing

 

    2.基本的访问控制列表:             //这里才是这实验的重点!!!
    先从PCA ping PCD:
[root@PCA @root]#ping 10.70.1.1 (通)

在ROC的s0/0写一个输入的访问控制列表:
RouterC(config)#access-list 1 permit 10.65.1.1 0.0.0.0
RouterC(config)#access-list 1 deny any
RouterC(config)#int s0/0
RouterC(config-if)#ip access-group 1 in
RouterC(config-if)#end
RouterC#sh access-list 1
----------------------------------------------------- 
1、permit/deny----允许或拒绝

关键字permit和deny用来表示满足访问表项的报文是允许通过接口,还是要过滤掉。permit表示允许报文通过接口,而deny表示匹配标准IP访问表源地址的报文要被丢弃掉。
2、host/any----主机匹配

host和any分别用于指定单个主机和所有主机。host表示一种精确的匹配,其屏蔽码为0.0.0.0。例如,假定我们希望允许从198.78.46.8来的报文,则使用标准的访问控制列表语句如下:

access-list 1 permit 198.78.46.8 0.0.0.0

如果采用关键字host,则也可以用下面的语句来代替:

access-list 1 permit host 198.78.46.8

也就是说,host是0.0.0.O通配符屏蔽码的简写。

与此相对照,any是源地证/目标地址0.O.O.O/255.255.255.255的简写。假定我们要拒绝从源地址198.78.46.8来的报文,并且要允许从其他源地址来的报文,标准的IP访问表可以使用下面的语句达到这个目的:

access-list 1 deny host 198.78.46.8

access-list 1 permit any

注意,这两条语句的顺序;访问表语句的处理顺序是由上到下的。如果我们将两个语句顺序颠倒,将permit语句放在deny语句的前面,则我们将不能过滤来自主机地址198.78.46.8的报文,因为permit语句将允许所有的报文通过。所以说访问表中的语句顺序是很重要的,因为不合理语句顺序将会在网络中产生安全漏洞,或者使得用户不能很好地利用公司的网络策略。

-----------------------------------------------------

[root@PCA @root]#ping 10.70.1.1  (通)  (只允许PCA)
[root@PCE @root]#ping 10.70.1.1  (不通)(被access-list 1禁止)
[root@PCE @root]#ping 10.66.1.1  (通) (不经过access-list 1)
[root@PCB @root]#ping 10.70.1.1  (不通)(被access-list 1禁止)
[root@PCD @root]#ping 10.65.1.3  (不通)(echo-reply包不能返回)
[root@PCD @root]#ping 10.65.1.1  (通)

    第一个ping命令,PCA的IP地址是10.65.1.1在访问控制列表access-list 1中是允许的,所以能通。
    第二个ping命令,PCE虽然是65网段,但是access-list 只允许10.65.1.1通过,所以10.65.1.3的数据包不能通过。
    第三个ping命令,PCE到PCB不通过RouterC的s0/0,所以能通。
    第四个ping命令,PCB的IP地址是10.66.1.1,它是被禁止的,所以不通。
    第五个ping命令,从10.65.1.3返回包echo-reply不能通过access-list 1,PCD收不到返回包,所以不通。
    有些系统的ping命令,echo不能通过时表示为unreachable,若echo-reply不能返回时,表示为timeout,等待时间超时。
    第六个ping命令,对于10.65.1.1是允许的,所以可以通。

    下面再写一个访问控制列表,先删除原访问控制列表:
RouterC(config)#no access-list 1
RouterC(config-if)#no ip access-group 1 in
    二者都可以实现去掉访问列表的目的。前者是从列表号角度删除,后者是从端口和输入或输出的角度删除。

    可以通过show access-list 命令查看删除情况,下面再写一个访问控制列表:
RouterC(config)#access-list 2 deny 10.65.1.1 0.0.0.255
RouterC(config)#access-list 2 permit any
RouterC(config)#int s0/1
RouterC(config-if)#ip access-group 2 out
RouterC(config-if)#end
RouterC#sh access-list

    这个访问控制列表比上一个访问控制列表有以下几点不同:
(1)先deny后permit,
(2)禁止的是一个10.65.1.0网络
(3)是输出的访问控制列表
[root@PCA @root]#ping 10.69.1.1  (不通)
[root@PCE @root]#ping 10.69.1.1  (不通)
[root@PCF @root]#ping 10.69.1.1  (通) (10.65.2.1不在禁止范围)
[root@PCB @root]#ping 10.69.1.1  (通) (10.66.1.1不在禁止范围)
    因为PCA和PCE的IP地址10.65.1.1、10.65.1.3,在deny范围内所以不通。而PCF的IP是10.65.2.1不在10.65.1.0 0.0.0.255范围内,所以能通。

    3.梯形基本访问控制列表
    访问控制列表一般是顺序匹配的,梯形结构,参考如下:
RouterC(config)#access-list 4 permit 10.65.1.1
RouterC(config)#access-list 4 deny 10.65.1.0 0.0.0.255
RouterC(config)#access-list 4 permit 10.65.0.0 0.0.255.255
RouterC(config)#access-list 4 deny 10.0.0.0 0.255.255.255
RouterC(config)#access-list 4 permit any
RouterC(config)#int s0/1
RouterC(config-if)#ip access-group 4 out
RouterC(config-if)#end
[root@PCA @root]#ping 10.69.1.1  (通)
[root@PCE @root]#ping 10.69.1.1  (不通) (10.65.1.3禁止)
[root@PCF @root]#ping 10.69.1.1  (通)   (10.65.2.1不在禁止范围)
[root@PCB @root]#ping 10.69.1.1  (不通) (10.66.1.1禁止)

    4. 扩展访问控制列表
    扩展的访问控制列表,有源和目的两个ip,并且要指明应用的协议。实际中可控制的协议有很多,本软件实际只支持icmp的echo操作,用以说明问题。

    例1. 阻止PCA访问PCD:
RouterC(config)#access-list 101 deny icmp 10.65.1.1 0.0.0.0 10.70.1.1
0.0.0.0 echo
RouterC(config)#access-list 101 permit ip any any
RouterC(config)#int s0/0
RouterC(config-if)#ip access-group 101 in
RouterC#sh access-list 101

[root@PCA root]#ping 10.70.1.1 (不通)(请求echo包被禁止)
[root@PCE root]#ping 10.70.1.1  (通)
[root@PCF root]#ping 10.70.1.1  (通)
[root@PCD root]#ping 10.65.1.1  (通)

RouterC(config)#no access-list 101
RouterC#sh access-list
[root@PCA root]#ping 10.70.1.1 (去掉访问控制列表,就通了)

    3. 阻止10.65.1.0/24网络访问 10.70.1.1(PCD)。
RouterC(config)#access-list 102 deny icmp 10.65.1.1 0.0.0.255 10.70.1.1 0.0.0.0 echo
RouterC(config)#access-list 102 permit ip any any
RouterC(config)#interface s0/1
RouterC(config-if)#ip access-group 102 (默认为out)

[root@PCA root]#ping 10.70.1.1 (不通)(PCE:10.65.1.1禁止)
[root@PCE root]#ping 10.70.1.1 (不通)(PCE:10.65.1.3禁止)
[root@PCF root]#ping 10.70.1.1  (通) (PCE:10.65.2.1允许)

    如果将扩展访问控制列表的目的IP的匹配码改成0.0.0.255,又会怎样呢?请自己分析或做实验。

本文出自 “SDbaby” 博客,转载请与作者联系!

你可能感兴趣的:(笔记,列表,访问,实验,XFBAY)