基础和高级的ACL的基础配置和原理
拓扑图
需求
- 如图配置设备的IP地址
- 售后服务部只能通过web的方式访问 server1
- 售后服务部可以访问行政部的所有设备的所有服务
- 售后服务部不可以访问其他的任何网段的任何服务
配置思路
- 配置IP地址和路由,确保全网互通
- 基于项目需求,确定使用的ACL的类型 - 高级ACL
- 基于ACL的特点,确定配置高级ACL的设备 - 靠近源设备特别近的地方
- 创建高级ACL
- 调用高级ACL
- 验证与测试
配置命令
- 基础配置
Client1:
192.168.1.1
255.255.255.0
192.168.1.254
PC1:
192.168.2.1
255.255.255.0
192.168.2.254
Server1:
192.168.3.1
255.255.255.0
192.168.3.254
开启HTTP服务: 服务器配置 -> http服务 -> 配置“文件目录” -> 启动。
R1:
undo terminal monitor
system-view
sysname R1
interface gi0/0/0
ip address 192.168.12.1 24
quit
interface gi0/0/2
ip address 192.168.1.254 24
quit
ip route-static 0.0.0.0 0 192.168.12.2
R2:
undo terminal monitor
system-view
sysname R2
interface gi0/0/0
ip address 192.168.12.2 24
quit
interface gi0/0/2
ip address 192.168.23.2 24
quit
interface gi0/0/1
ip address 192.168.2.254 24
quit
ip route-static 192.168.1.0 24 192.168.12.1
ip route-static 192.168.3.0 24 192.168.23.3
R3:
undo terminal monitor
system-view
sysname R3
interface gi0/0/0
ip address 192.168.23.3 24
quit
interface gi0/0/2
ip address 192.168.3.254 24
quit
ip route-static 0.0.0.0 0 192.168.23.2
- 高级ACL配置
R1:
acl 3000
rule 10 permit tcp source 192.168.1.1 0.0.0.0 destination 192.168.3.1 0.0.0.0 destination-port eq 80
rule 20 permit ip source 192.168.1.1 0.0.0.0 destination 192.168.2.0 0.0.0.255
rule 30 deny ip source 1921.68.1.1 0.0.0.0 destination any
quit
interface gi0/0/2
traffic-filter inbound acl 3000
quit
验证
-
ACL前验证
-
client 可以ping 可以https访问server1
-
ACL后验证
-
client 只可以通过https 访问sever1
- 需求变化
- 售后服务部只能 ping 通 Server1,但是不能访问该设备的其他服务内容
- 配置
仅仅是将之前的高级ACL 3000 变化一下,就可以:
acl 3000
undo rule 10
rule 10 permit icmp source 192.168.1.1 0.0.0.0 destination 192.168.3.1 0.0.0.0
quit
测试:
client1 ping 192.168.3.1 ,可以通;
client1 通过 httpclient 访问 192.168.3.1 ,无法获得网页。
- 验证
1.需求更新
- 允许R2和R3被远程访问,密码是HCIE
- 仅仅允许 192.168.1.254 远程登陆 R2
- 拒绝R1的任何IP地址远程登陆R3
2. 配置
R2:
user-interface vty 0 4
authentication-mode password
**************************:HCIE
quit
acl 2000
rule 10 permit source 192.168.1.254 0.0.0.0
quit
user-interface vty 0 4
acl 2000 inbound
---------------------------------------------------------------------------
R3:
acl 2000
rule 10 deny source 192.168.12.1 0.0.0.0
rule 20 deny source 192.168.1.254 0.0.0.0
rule 30 permit source any
quit
user-interface vty 0 4
authentication-mode password
*****************************:HCIE
acl 2000 inbound
quit
- 验证
测试:
R1:
telnet -a 192.168.1.254 192.168.12.2 ,成功登录;其他的IP地址不可以远程登陆。
总结
通过以上的实验过程,我们明白了以下几点:
1.默认情况下,R1远程发送的数据包的源IP地址是:数据包的出端口的IP地址;
数据包的出端口,是由“R1查找路由表”决定的,即 Gi0/0/0。
所以默认情况下,R1发送的数据包的源IP地址是 192.168.12.1
2.如果想要修改 R1 发送的 telnet 的数据包的源IP地址,可以通过下面的命令:
telnet -a {源IP地址} {目标IP地址}
3.在远程登录一个设备的时候,目标IP地址可以是被登录的这个设备上的任意的一个可以互通的IP地址。
4.默认情况下,网络设备不支持“空认证”的远程登录,所以必须得设置认证方式以及认证密码
5.通过ACL控制设备的远程登陆时,可以直接在虚拟接口 vty 下面直接配置。
并且此时 ACL 最后隐含的默认的规则是:拒绝所有。
【记住:在华为设备上,只有当 acl 和 traffic-filter 结合使用时,默认规则才是允许所有】