访问控制列表


  1. 创建ACL

    命令语法如下:

Router(config)# access-list access-list-number { permit | deny } protocol { source source-wildcard  destination  destination-wildcard } [ operator  operan ]

    下面是命令参数的详细说明:

  • access-list-number访问控制列表表号,对于扩展ACL来说,是100-199的一个数字。

  • permit|deny如果满足测试条件,则允许|拒绝该通信流量。

  • protocol用来指定协议类型,如IP、TCP、UDP、ICMP等。

  • source、destination:源和目的,分别用来标识源地址和目的地址

  • source-wildcard、destination-wildcard:反码,source-wildcard是源反码,与源地址向对应;destination-wildcard是目的反码,与目的地址对应。

  • operator operanlt(小于)、gt(大于)、eq(等于)或neq(不等于)一个端口号。

例1 允许网络192.168.1.0/24访问网络192.168.2.0/24的IP流量通过,而拒绝其他任何流量,ACL命令如下所示:

Router(config)#access-list 101 permit ip 192.168.2.0/24  0.0.0.255 192.168.2.0  0.0.0.255

Router(config)#access-list 101 deny ip any any

   例2 拒绝网络192.168.1.0/24访问FTP服务器192.168.2.2/24的IP流量通过,而允许其他任何流量,ACL命令如下所述:

Router(config)#access-list 101 deny tcp 192.168.1.0 0.0.0.255  host 192.168.2.2  eq  21

Router(config)#access-list 101 permit  ip  any any

   例3禁止网络192.168.1.0/24中的主机ping通服务器192.168.2.2/24,而允许其他任何流量,ACL命令如下所述:

Router(config)#access-list 101 deny  icmp192.168.1.0  0.0.0.255  host 192.168.2.2  echo

Router(config)#access-list 101 permit  ip  any any

   删除已建立的扩展ACL命令语法与标准ACL一样,如下所示:

Router(config)#no access-list  access-list-number

    扩展ACL与标准ACL一样,也不能删除单条ACL语句,只能删除整个ACL。

  1. 将ACL应用于接口

与标准ACL一样,只有将ACL应用于接口,ACL才会生效。

命令语法与标准ACL一样,如下所示:

Router(config-if)#ip access-group access-list-number {in | out}

   要在接口上取消ACL的应用,可以使用如下命令:

Router(config-if)#no ip access-group access-list-number {in | out}

  • 扩展ACL的配置实例

实验要求:

  • 拓扑图如上所示,现允许主机PC1访问Web服务器的WWW服务,而禁止主机PC1访问Web服务器的其他任何服务。

  • 允许主机PC1访问网络192.168.2.0/24。

配置步骤:

  1. 配置全网互通。

  2. 分析在哪个接口应用扩展ACL

  • 应用在入站接口还是出站接口

    与标准ACL一样,应该尽量把访问控制列表应用到入站接口

  • 应用在哪台路由器上

由于扩展ACL可以根据源IP地址、目的IP地址、指定协议、端口等过滤数据包,因此最好应用到路由器R1的入站接口。如果应用在路由器R2或R3的入站接口上,会导致所经过的路由器占用不必要的资源。也就是说,应该把扩展ACL应用在离源地址最近的路由器上。

  1. 配置扩展ACL并应用到接口上。

    命令如下:

  1. 查看并验证配置

  • 使用show access-list命令查看ACL配置。

  • 验证配置

  • 在PC1上可以访问Web服务器的WWW服务,但不能ping通Web服务器

  • 在PC1上可以ping通网络192.168.2.0/24中的任一台主机

  • 命令访问控制列表的配置

  1. 创建ACL

    命令语法如下:

Router(config)#ip access-list {standard | extended} access-list-name

   参数access-list-name可以使用一个由字母、数字组合的字符串

   如果是标准命令ACL,命令语法如下所述:

Router(config-std-nacl)#[Sequence-Number] {permit | deny} source [source-wildcard]

   如果是扩展命名ACL,命令语法如下所述:

Router(config-std-nacl)#[Sequence-Number] { permit | deny }  protocol {source source-wildcard  destination destination-wildcard} [ operator operan ]

    无论是配置标准命名ACL语句还是配置扩展命名ACL语句,都有一个可选参数Sequence-Number。Sequence-Number参数表明了配置的ACL语句在命令ACL中所处的位置,默认情况下,第一条为10,第二条为20,依次类推。

    Sequence-Number可以很方便的将新添加的ACL语句插入到原有的ACL列表的指定位置,如果不选择Sequence-Number,参数就会添加到ACL列表末尾并且序列号加10。

    例4 允许来自主机192.168.1.1/24的流量通过,而拒绝其他流量,标准命名ACL命令如下所述:

Router(config)# ip access-list standardcisco

Router(config-std-nacl)#permit host 192.168.1.1

Router(config-std-nacl)#deny any                                 

    使用show access-list命令查看ACL配置,结果如下所述:

Router# show access-list

Standard IP access-list cisco   //标准访问控制列表cisco

    10permit 192.168.1.1       //配置的第1条ACL语句序列号为10

    20 deny    any               //配置的第2条ACL语句序列号为20  

    此时更改需求,除允许来自主机192.168.1.1/24的流量通过外,也允许来自主机192.168.2.1/24的流量通过,可以进行如下配置:

Router(config)# ip access-list standardcisco

Router(config-std-nacl)#15 permit host 192.168.2.1     //配置ACL语                                                  句序列号为15

    再次查看配置的ACL,结果如下:

Router# show access-list

Standard IP access-list cisco  

    10permit 192.168.1.1      

15permit 192.168.2.1       //新配置的ACL语句,放到了ACL列表的指                                                  定位置

    20 deny    any                                             

注意:如果不指定序列号,则新添加的ACL被添加到列表的末尾。

例5 拒绝网络192.168.1.0/24访问FTP服务器192.168.2.2/24的流量通过,而允许其他任何流量,扩展命名ACL命令如下所述:

Router(config)# ip access-list extendedcisco

Router(config-ext-nacl)# deny tcp192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21

Router(config-ext-nacl)#permit ip any any                        

   删除已建立的命令ACL

   命令语法如下:

Router(config)#no ip access-list {standard | extended} access-list-name

    对命名ACL来说,可以删除单条ACL语句,而不必删除整个ACL。并且,ACL语句可以有选择的插入到列表中的某个位置,使得ACL配置更加方便灵活。

    如果要删除某一ACL语句,可以使用“no Sequence-Number”或“no ACL语句”两种方式。例如,在例1中删除“permit host 192.168.1.1”的语句命令如下:

Router(config)# ip access-list standardcisco

Router(config-std-nacl)# no 10

  

Router(config)# ip access-list standardcisco

Router(config-std-nacl)# no permit host 192.168.1.1

  1. 将ACL应用于接口

    创建命令ACL后,也必须将ACL应用于接口才会生效。

    命令语法如下:

Router(config-if)#ip access-group access-list-name {in | out}

   要在接口上取消命令ACL的应用,可以使用如下命令:

Router(config-if)#no ip access-group access-list-name {in | out}

  • 命名ACL配置实例

实验要求:

一.公司新建了一台服务器(IP地址:192.168.2.2),出于安全方面考虑要求如下:

  • 192.168.1.0/24网段中除192.168.1.1和192.168.1.3外的其余地址都不能访问服务器。

  • 其他公司网段都可以访问服务器。

具体步骤:

  1. 拓扑图如上所示,配置全网互通。

  2. 设备配置ACL如下:

  1. 使用show access-list命令查看配置的ACL信息,结果如下:

  1. 验证配置。主机192.168.1.1和192.168.1.3能ping通服务器,主机192.168.1.2不能。

二.网络运行一段时间后,由于公司人员调整,需要变更访问服务器的ACL,要求如下:

  • 不允许主机192.168.1.1和192.168.1.3 访问服务器

  • 允许主机192.168.1.2访问服务器

具体步骤:

  1. ACL变更配置如下:

  1. 再次查看配置的ACL信息,结果如下:

  1. 验证配置。主机192.168.1.1和192.168.1.3不能ping通服务器了,主机192.168.1.2可以ping通服务器。

注意:如果不指定序列号,则新添加的ACL被添加到列表的末尾。

  • 访问控制列表的应用

公司内部网络已经建成,拓扑图如上所示。

公司内部网络规划如下:

  • 根据公司现有各部门主机数量和以后增加主机的情况,为每个部门分配一个C类地址并且每个部门使用一个VLAN,便于管理。

  • 分配一个C类地址作为设备的管理地址

    按照上述规划配置设备,已经实现了网络连通

    基于信息安全方面考虑,公司要求如下:

  • 限定不同的部门能够访问的服务器,例如:财务部只能访问财务部服务器,生产部只能访问生产部服务器。

  • 网络管理员可以访问所有服务器。

  • 网络设备只允许网管区IP地址通过TELNET登录,并配置设备用户名为benet,密码为123456。

  • 只有网络管理员才能通过远程桌面、TELNET、SSH等登录方式管理服务器。

  • 要求所有部门之间不能互通,但都可以和网络管理员互通。

  • 公司中有几名信息安全员,公司要求信息安全员可以访问服务器,但不能访问Internet。

  • 外网只能访问特定服务器的特定服务。

网络规划如下:

  • 公司全部使用192.168.0.0/16网段地址。

  • 配置设备的网管地址。其中SW3L为192.168.0.1/24,SW1为192.168.0.2/24,SW2为192.168.0.3/24,R1为1.1.1.1/32。

  • PC1为网络管理区主机,其IP地址为192.168.2.2/24,网关为192.168.2.1/24,属于VLAN 2;PC2为财务部主机,IP地址为192.168.3.2/24,网关为192.168.3.1/24,属于VLAN 3;PC3为信息安全员主机,IP地址为192.168.4.2/24,网关为192.168.4.1/24,属于VLAN 4。

  • 在SW3L交换机VLAN 2接口的IP地址为192.168.2.1/24,VLAN 3接口的IP地址为192.168.3.1/24,VLAN4接口的IP地址为192.168.4.1/24,VLAN 100接口的IP地址为192.168.100.1/24。

  • 服务器IP地址为192.168.100.2/24,网关地址为192.168.100.1/24,属于VLAN 100。

  • SW3L和R1的互联地址为10.0.0.0/30。

  • 配置R1路由器的Loopback接口地址的为123.0.1.1/24,模拟外网地址。

    按照公司网络规划和要求配置设备。

具体配置:

  1. 配置设备,实现全网互通

    R1配置如下:

R1(config)#int f0/0

R1(config-if)#ip address 10.0.0.1  255.255.255.252

R1(config-if)#no sh

 

R1(config)#int loopback 0

R1(config-if)#ip address 123.0.1.1  255.255.255.0

 

R1(config)#ip route 192.168.0.0  255.255.0.0  10.0.0.2

 

R1(config)#int loopback 1

R1(config-if)#ip address 1.1.1.1  255.255.255.255               

   SW3L配置信息如下:

SW3L(config)#vlan 2

SW3L(config)#vlan 3

SW3L(config)#vlan 4

SW3L(config)#vlan 100

 

SW3L(config)#int f0/1

SW3L(config-if)#no switchport

SW3L(config-if)#ip address 10.0.0.2  255.255.255.252

 

SW3L(config)#iproute 0.0.0.0  0.0.0.0  10.0.0.1

 

SW3L(config)#int range int f0/13  -14

SW3L(config-if-range)#switchport trunk encapsulation dot1q

SW3L(config-if-range)#seitchport mode trunk

 

SW3L(config)#int vlan 2

SW3L(config-if)#ip address 192.168.2.1  255.255.255.0

SW3L(config-if)#no sh

 

SW3L(config)#int vlan 3

SW3L(config-if)#ip address 192.168.3.1  255.255.255.0

SW3L(config-if)#no sh

 

SW3L(config)#int vlan 4

SW3L(config-if)#ip address 192.168.4.1  255.255.255.0

SW3L(config-if)#no sh

 

SW3L(config)#int vlan 100

SW3L(config-if)#ip address 192.168.100.1  255.255.255.0

SW3L(config-if)#no sh

 

SW3L(config)#ip routing

 

SW3L(config)#int vlan 1

SW3L(config-if)#ip address 192.168.0.1 255.255.255.0

SW3L(config-if)#no sh                                       

   SW1配置信息如下:

SW1(config)#vlan 2

SW1(config)#vlan 3

SW1(config)#vlan 4

 

SW1(config)#int f0/14

SW1(config-if)#switchport mode trunk

 

SW1(config)#intf0/1

SW1(config-if)#switchport mode access

SW1(config-if)#switchport access vlan 2

 

SW1(config)#intf0/2

SW1(config-if)#switchport mode access

SW1(config-if)#switchport access vlan 3

 

SW1(config)#intf0/3

SW1(config-if)#switchport mode access

SW1(config-if)#switchport access vlan 4

 

SW1(config)#int vlan 1

SW1(config-if)#ip address 192.168.0.2 255.255.255.0

SW1(config-if)#no sh

 

SW1(config)#ip default-gateway 192.168.0.1                  

   SW2配置信息如下:

SW3(config)#vlan 100

SW3(config-vlan)#exit

 

SW3(config)#intf0/14

SW3(config-if)#switchportmode trunk

 

SW3(config)#int f0/1

SW3(config-if)#switchport mode access

SW3(config-if)#switchport access vlan 100

 

SW3(config)#intvlan 1

SW3(config-if)#ip address 192.168.0.3 255.255.255.0

SW3(config-if)#no sh

 

SW3(config)#ip default-gateway 192.168.0.1

  1. 配置ACL实现公司要求

配置实现网络设备只允许网管去IP地址可以通过TELNET登录,并配置设备用户名为benet,密码为123456,R1的配置如下:

R1(config)# access-list 1 permit192.168.2.0  0.0.0.255

R1(config)# username benet password 123456

 

R1(config)# line vty 0 4

R1(config-line)# login local

R1(config-line)# access-class 1 in

R1(config-line)# exit

    SW3L、SW1、SW2的配置与R1相同

公司其他要求的配置命令如下:

//ACL 100表示内网主机都可以访问服务器,但是只有网络管理员才能通过TELNET、SSH和远程桌面登录服务器,外网只能访问服务器的80端口

SW3L(config)#access-list 100 permit ip192.168.2.0 0.0.0.255 host 192.168.100.2

//上述一条ACL表示:允许网络管理员网段192.168.2.0/24访问服务器

SW3L(config)#access-list 100 deny tcp192.168.0.0  0.0.255.255 host192.168.100.2 eq telnet

SW3L(config)#access-list 100 deny tcp192.168.0.0  0.0.255.255 host192.168.100.2 eq 22

SW3L(config)#access-list 100 deny tcp192.168.0.0  0.0.255.255 host192.168.100.2 eq 3389

//上述四条ACL表示:除192.168.2.0/24网段外其他所有内网地址均不能通过TELNET、SSH和远程桌面登录服务器

SW3L(config)#access-list 100 permit ip192.168.0.0  0.0.255.255 host192.168.100.2

SW3L(config)#access-list 100 permit tcp anyhost 192.168.100.2 eq 80

//上述两条ACL表示:允许内网主机访问服务器,允许外网主机访问服务器的80端口

SW3L(config)#access-list 100 deny ip anyany

 

SW3L(config)# int vlan 100

SW3L(config-if)# ipaccess-group 100 out

SW3L(config-if)# exit

 

//ACL101表示192.168.3.0/24网段主机可以访问服务器,可以访问网络管理员网段,但不能访问其他部门网段,也不能访问外网

SW3L(config)#access-list 101 permit ip192.168.3.0 0.0.0.255 host 192.168.100.2

SW3L(config)#access-list 101 permit ip192.168.3.0 0.0.0.255  192.168.2.0  0.0.0.255

SW3L(config)#access-list 101 deny ip anyany

 

SW3L(config)# int vlan 3

SW3L(config-if)# ip access-group 101 in

SW3L(config-if)# exit

 

//ACL102表示192.168.4.0/24网段主机可以访问服务器,可以访问网络管理员网段,但不能访问其他部门网段,可以访问外网(这里用于测试目的)

SW3L(config)#access-list 102 permit ip192.168.4.0 0.0.0.255 host 192.168.100.2

SW3L(config)#access-list 102 permit ip192.168.4.0 0.0.0.255  192.168.2.0  0.0.0.255

SW3L(config)#access-list 102 deny ip192.168.4.0  0.0.0.255  192.168.0.0 0.0.255.255

SW3L(config)#access-list 102 permit ip anyany

 

SW3L(config)# int vlan 4

SW3L(config-if)# ip access-group 102 in

SW3L(config-if)# exit

 


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