迈普路由器访问控制列表配置命令_路由与交换--ACL基本命令及其实验配置

1 ACL的配置

1.1创建 ACL

标准 ACL

router(config)#access-list {permit|deny}{|any} //表号1~99

扩展 ACL

router(config)#access-list {permit|deny}{|}{}{}{} //表号101~199

1.2应用 ACL

router(config-if)#{协议栈} access-group {in|out} //协议栈可以为IP或IPX

2 ACL上机实验

2.1 ACL配置举例 1

router(config)#access-list 1 deny 10.0.0.1 0.0.0.0 //ACL表号为1,丢弃10.0.0.1发出的数据包,相当于 deny host 10.0.0.1

router(config)#access-list 1permit any

router(config)#access-list 2 permit any //ACL表号为2,可以转发任意数据包

router(config)#int s0/0router(config-if)#ip access-group 1 in //该接口输入方向应用ACL列表组1,拒绝来自10.0.0.1的数据包

router(config-if)#ip access-group 2 out //该接口输出方向应用ACL列表组2,允许发出流经该路由器的所有数据包

2.2 ACL配置举例 2

router(config)#access-list 101 deny tcp 172.16.0.0 0.0.255.255 host 192.168.1.1 eq telnet //不允许172.16.0.0网络的数据包telnet主机192.168.1.1

router(config)#access-list 101 permit ip any any //允许转发其他任何数据包

router(config)#int s0/0router(config-if)#ip access-group 101 in

2.3 ACL配置举例 3

限制只允许 192.168.2.2 访问 192.168.1.2 的 80 端口,192.168.3.2 访问 192.168.1.2 的 DNS。

router(config)#ip access-list extended cj

router(config ext-nacl)#permit udp host 192.168.3.2 host 192.168.1.2 eq 53router(config ext-nacl)#permit tcp host 192.168.2.2 host 192.168.1.2 eq 80router(config ext-nacl)#exit

router(config)#int f0/0router(config-if)#ip access-group cj out

2.4 ACL配置举例 4

要求:只允许 172.16.4.0/24 网络的主机通过端口 E0 进入网络 172.16.3.0/24,其他的被禁止。

为了实现上面的实验要求,我们将网络拓扑进行简化,PC1 的 IP 设置为 172.16.4.2,PC2 的 IP 设置为 172.16.0.2,PC3 的 IP 设置为 172.16.3.2,最终要达到的要求为 PC1 网段的主机可以访问 PC3 网段的主机,PC2 网段的主机不能访问 PC3 网段的主机。需要注意的是这里的路由器的选择,如果选择不恰当会导致端口不够用,可以参照下面的网络拓扑图中所选路由器。

先对路由器进行配置,让三台 PC 之间都可以通信。

Router>enable

Router#conf t

Router(config)#int gig0/0Router(config-if)#ip add 172.16.4.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

Router(config)#int gig0/1Router(config-if)#ip add 172.16.0.1 255.255.255.0Router(config-if)#no shut

Router(config)#int gig0/2Router(config-if)#ip add 172.16.3.1 255.255.255.0Router(config-if)#no shut

路由器配置完成后给各台 PC 分配 IP,并设置其网关,先来验证 PC1 和 PC2 都能 ping 通 PC3 。

上述结果表明,在没有做 ACL 限制前,PC 之间是可以相互通信的,现在来设置 ACL 规则,让 PC1 可以 ping 通 PC3,而 PC2 不能 ping 通 PC3。

Router(config)#access-list 5 permit 172.16.4.0 0.0.0.255Router(config)#int gig0/2Router(config-if)#ip access-group 5 out

现在再来验证 PC 之间的通信。

PC1 可以 ping 通 PC3,但 PC2 不能 ping 通 PC3,达到实验要求。这里并没有 deny any 的语句,是因为路由隐含在每个 ACL 列表的最后有一句拒绝所有数据包访问的语句,所以不用再专门写出了。

2.5 ACL配置举例 5

要求:

(1)禁止从 172.16.4.0/24 通过 FTP 访问 172.16.3.0/24;

(2)除此以外的其他访问和数据流都允许。

为了验证上述实验,这里将网络拓扑图进行简化,由于 172.16.3.0 网段涉及 FTP 登录,这里用一台服务器来代替该网段,并设置 FTP 的登录账号和密码。

以下是简化的网络拓扑图和对 server 的 FTP 的配置 。

对路由器进行配置,配置好后为 PC 和 server 分配 IP,并设置其网关,然后验证 PC1 在没有做 ACL 限制前可以访问 FTP。

Router>enable

Router#conf t

Router(config)#int gig0/0Router(config-if)#ip add 172.16.4.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

Router(config)#int gig0/1Router(config-if)#ip add 172.16.0.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

Router(config)#int gig0/2Router(config-if)#ip add 172.16.3.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

现在对路由器做 ACL 限制,让 PC1 无法再登录 server 的 FTP。

Router(config)#access-list 105 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20Router(config)#access-list 105 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21Router(config)#access-list 105permit ip any any

Router(config)#int gig0/0Router(config-if)#ip access-group 105 in

验证 PC1 是否还能继续登录 server 的 FTP,由结果可以看出已经达到实验要求 。

列表最后要有一句 permit ip any any,这个必须加上,因为一个列表中至少要有一句 permit 语句。

2.6 ACL配置举例 6

要求:

(1)拒绝 172.16.2.0/24 这个网段的主机访问 SERVER1;

(2)拒绝 PC1 访问 SERVER1;

(3)只允许 PC1 对 R2 进行远程连接管理。

R2(config)#access-list 1 deny 172.16.2.0 0.0.0.255R2(config)#access-list 1 deny host 172.16.1.10R2(config)#access-list 1permit any

R2(config)#access-list 2 permit host 172.16.1.10R2(config)#int f0/0R2(config-if)#ip access-group 1 out //对端口

R2(config)#line vyt 0 4R2(config-line)#password fsh

R2(config-line)#access-class 2 in //对线模式

2.7 ACL配置举例 7

要求:

(1)211.12.3.0/24 这个网段不能访问 SEREVER2 的网页和 FTP,其他服务可以访问;

(2)所有设备都能 ping 通 PC4,但反之不行(单向 ping)。

控制访问类别

R2(config)#access-list 101 deny tcp 211.12.3.0 0.0.0.255 host 172.16.1.100 eq 80R2(config)#access-list 101 deny tcp 211.12.3.0 0.0.0.255 host 172.16.1.100 eq 20R2(config)#access-list 101 deny tcp 211.12.3.0 0.0.0.255 host 172.16.1.100 eq 21

控制单向 ping

R2(config)#access-list 101 permit icmp 211.12.3.0 0.0.0.255 any echo-reply //echo-reply表示ICMP响应

R2(config)#access-list 101 deny icmp 211.12.3.0 0.0.0.255 any //拒绝211.12.3.0/24到其他任何网络的icmp包

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

R2(config)#int f0/1R2(config-if)#ip access-group 101 in

2.8 ACL配置举例 8

要求:

(1)VLAN 10 不能访问 VLAN 30;

(2)其余 VLAN 之间可以自由访问。

1、划分 VLAN,并将各接口分配至 VLAN中。

Switch>enable

Switch#conf t

Switch(config)#vlan10Switch(config-vlan)#exit

Switch(config)#vlan20Switch(config-vlan)#exit

Switch(config)#vlan30Switch(config-vlan)#exit

Switch(config)#int fa0/1Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 10Switch(config-if)#exit

Switch(config)#int fa0/2Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 20Switch(config-if)#exit

Switch(config)#int fa0/3Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 30Switch(config-if)#exit

2、开启交换机路由功能,并给各虚拟 VLAN 接口配置 IP 地址,此接口和地址将成为 vlan 中主机的网关。

Switch(config)#ip routing

Switch(config)#int vlan 10Switch(config-if)#ip add 10.0.0.1 255.255.255.0Switch(config-if)#exit

Switch(config)#int vlan 20Switch(config-if)#ip add 20.0.0.1 255.255.255.0Switch(config-if)#exit

Switch(config)#int vlan 30Switch(config-if)#ip add 30.0.0.1 255.255.255.0Switch(config-if)#exit

3、配置访问控制列表,并应用。

Switch(config)#access-list 1 deny 10.0.0.0 0.0.0.255Switch(config)#access-list 1permit any

Switch(config)#int vlan 30Switch(config-if)#ip access-group 1 out

4、配置各主机的 IP 地址及网关,通过 ping 检验各 vlan 之间的通信情况。

PC1 去 ping 另外两台 PC 。

另外两台 PC 的通信 。

2.9ACL单向ping

实验要求:

(1)配好设备 IP 后,先相互 ping,能 ping 通;

(1)设置 ACL,使得:

1. 所有设备能 ping 通 PC3,即 PC3 能对所有 ping 请求作响应;

2. PC3 不能 ping 其他设备。

对交换机进行设置,将交换机与路由器相连的接口设置为 trunk 模式。

Switch>enable

Switch#conf t

Switch(config)#int fa0/3Switch(config-if)#switchport mode trunk

对路由器进行设置。

Router>enable

Router#conf t

Router(config)#int fa0/0Router(config-if)#ip add 10.0.0.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

Router(config)#int fa1/0Router(config-if)#ip add 20.0.0.1 255.255.255.0Router(config-if)#no shut

上述配置完成后给各台 PC 分配 IP,并设置它们的网关,然后验证它们之间的通信。这里的通信比较简单,自行去验证。

ping 的动作总共分为两部分,一是源主机将数据包发送给目标主机,二是目标主机收到数据包后给源主机响应。由于 PC3 不能 ping 通其他 PC,而其他 PC 能够 ping 通 PC3,说明 PC3 能给其他所以 PC 响应,为了简化 ACL 配置,这里以 PC3 为源主机,允许它的所有 icmp 的响应,其他的 icmp 被限制,由于 PC3 为源主机,则数据包是经过路由器的 fa1/0 进入网络的,下面是 ACL 规则的配置。

Router(config)#access-list 101 permit icmp 20.0.0.0 0.0.0.255 any echo-reply

Router(config)#access-list 101 deny icmp 20.0.0.0 0.0.0.255any

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

Router(config)#int fa1/0Router(config-if)#ip access-group 101 in

对结果进行验证,用 PC3 去 ping 其他两台 PC 。

其他两台 PC 去 ping 主机 PC3 。

2.10 ACL控制 VLAN 之间的访问

实验要求:

(1)开启三层交换机路由功能,PC1,PC2,PC3,PC4 和 server 分别在 vlan10,vlan20,vlan30,vlan40 和 vlan50;

(2)查看路由表,确实各 VLAN 之间可以互通;

(3)设置访问控制列表,使 VLAN 10 和 VLAN 20 之间不可以相互访问,VLAN 30 和 VLAN 40 与服务器所在的 VLAN 50 不可以相互访问;

(4)其余所有的访问都是允许的。

1、划分 VLAN,并将各接口分配至 VLAN 中。

Switch>enable

Switch#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Switch(config)#vlan10Switch(config-vlan)#exit

Switch(config)#vlan20Switch(config-vlan)#exit

Switch(config)#vlan30Switch(config-vlan)#exit

Switch(config)#vlan40Switch(config-vlan)#exit

Switch(config)#vlan50Switch(config-vlan)#exit

Switch(config)#int fa0/1Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 10Switch(config-if)#exit

Switch(config)#int fa0/2Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 20Switch(config-if)#exit

Switch(config)#int fa0/3Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 30Switch(config-if)#exit

Switch(config)#int fa0/4Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 40Switch(config-if)#exit

Switch(config)#int fa0/5Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 50Switch(config-if)#exit

2、开启交换机路由功能,并给各虚拟 VLAN 接口配置 IP 地址,此接口和地址将成为 vlan 中主机的网关。

Switch(config)#int vlan 10Switch(config-if)#ip add 10.0.0.1 255.255.255.0Switch(config-if)#exit

Switch(config)#int vlan 20Switch(config-if)#ip add 20.0.0.1 255.255.255.0Switch(config-if)#exit

Switch(config)#int vlan 30Switch(config-if)#ip add 30.0.0.1 255.255.255.0Switch(config-if)#exit

Switch(config)#int vlan 40Switch(config-if)#ip add 40.0.0.1 255.255.255.0Switch(config-if)#exit

Switch(config)#int vlan 50Switch(config-if)#ip add 50.0.0.1 255.255.255.0Switch(config-if)#exit

3、配置 vlan 10 与 vlan 20 不能相互访问的控制列表,并应用。

Switch(config)#access-list 1 deny 20.0.0.0 0.0.0.255Switch(config)#access-list 1permit any

Switch(config)#int vlan 10Switch(config-if)#ip access-group 1 outSwitch(config-if)#exit

Switch(config)#access-list 2 deny 10.0.0.0 0.0.0.255Switch(config)#access-list 2permit any

Switch(config)#int vlan 20Switch(config-if)#ip access-group 2 outSwitch(config-if)#exit

4、验证设置 ACL 后 vlan 10 与 vlan 20 之间的通信,结果表明设置的 ACL 已经生效,vlan 10 与 vlan 20之间不能相互访问 。

5、配置 vlan 30 和 vlan 40 与 vlan 50 不能相互访问的控制列表,并应用。

Switch(config)#access-list 3 deny 50.0.0.0 0.0.0.255Switch(config)#access-list 3permit any

Switch(config)#int vlan 30Switch(config-if)#ip access-group 3 outSwitch(config-if)#exit

Switch(config)#int vlan 40Switch(config-if)#ip access-group 3 outSwitch(config-if)#exit

Switch(config)#access-list 4 deny 30.0.0.0 0.0.0.255Switch(config)#access-list 4 deny 40.0.0.0 0.0.0.255Switch(config)#access-list 4permit any

Switch(config)#int vlan 50Switch(config-if)#ip access-group 4 out

6、验证设置 AC L后 vlan 30 和 vlan 40 与 vlan 50 之间的通信,结果表明设置的 ACL 已经生效,vlan 30 和 vlan 40 与 vlan 50 之间不能相互访问。这里以 vlan 50 去访问 vlan 30 与 vlan 40为例,其他的通信情况自行测试 。

2.11 ACL综合练习

实验要求:

(1)PC1 和 PC2 在 10.0.0.0 网段,server 在 20.0.0.0 网段,PC3 在 30.0.0.0 网段。在服务器 server 开启 HTTP 和 FTP 功能,设置 FTP 登录用户名、密码和访问权限;

(2)10.0.0.0 网段可以访问 server 的 FTP,其他访问均被拒绝;

(3)PC3 可以访问 server 的 HTTP,但不可以访问 server 的 FTP;

(4)服务器 server 可以 ping 通所有设备,但所有设备不可以 ping 服务器 sever。

对交换机进行配置。

Switch>enable

Switch#conf t

Switch(config)#int fa0/3Switch(config-if)#switchport mode trunk

对路由器进行配置,设置各台 PC 的网关及其掩码。

Router>enable

Router#conf t

Router(config)#int gig0/0Router(config-if)#ip add 10.0.0.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

Router(config)#int gig0/1Router(config-if)#ip add 30.0.0.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

Router(config)#int gig0/2Router(config-if)#ip add 20.0.0.1 255.255.255.0Router(config-if)#no shut

Router(config-if)#exit

配置访问控制列表,并应用。

Router(config)#access-list 101 permit tcp 10.0.0.0 0.0.0.255 20.0.0.0 0.0.0.255 eq 20Router(config)#access-list 101 permit tcp 10.0.0.0 0.0.0.255 20.0.0.0 0.0.0.255 eq 21Router(config)#access-list 101 permit tcp 30.0.0.0 0.0.0.255 20.0.0.0 0.0.0.255 eq 80Router(config)#access-list 101 permit icmp any 20.0.0.0 0.0.0.255 echo-reply

Router(config)#access-list 101 deny icmp any 20.0.0.0 0.0.0.255Router(config)#int gig0/2Router(config-if)#ip access-group 101 out

给所有 PC 和 server 分配 IP,并设置其网关,对 server 进行设置,开启 FTP 并添加用户,FTP 的设置可以参考前面的配置。验证 10.0.0.0 网段可以访问 server 的 FTP,其他访问被拒绝是否生效。由结果可以看出配置已经成功 。

验证 PC 可以访问 server 的 HTTP,但不能访问 server 的 FTP 是否生效,结果表明 ACL 配置已经成功 。

验证 server 可以 ping 通所有设备,所有设备不能 ping 通 server:

server 去 ping 其他网段的 PC ;

10.0.0.0 网段的 PC ping server ;

30.0.0.0 网段的 PC ping server 。

上述结果表明,已经达到实验要求。

对 ACL 设置的小结:在应用 ACL 的时候,大部分同学可能会在判断是进入接口还在出接口的地方感到疑惑,解决这个问题最好的办法就是去看自己写的 ACL 规则,ACL 规则里面都有源主机地址,不论是标准还是扩展,都会写上源地址,那么从源地址出发到目标主机,看它经过的设备,这样能够一目了然看出应该应用在接口的出还是进。

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

话梅葡萄酒

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值