目录
1.ACL的介绍
1.1 访问控制列表ACL技术
access control list 翻译过来就是:接入控制列表=访问控制列表
这个东西就像人要有原则性一样,什么样的事情我必须要干,什么样的事情我不可以干
人=路由器/交换机,好多不同的人有不通的原则=好多不同的RT/sw有不同的ACL
ACL是由一系列permit 或deny语句组成,有规则的列表,通过匹配报文的相关信息实现对报文的分类
ACL本身只能用于报文的分类和区分,无法过滤,如果需要过滤,需要特定的机制来实现,比如交换机接口上配置traffic-filter命令调用
ACL除了能对报文进行匹配,还能匹配路由
ACL的功能: 数据的过滤/允许、策略路由、特殊数据流的控制
1.2标识ACL
利用数字标识ACL
利用名称标识ACL
1.3 ACL的分类
基本访问控制列表
高级访问控制列表
实际上有四种分类:
基础标识范围 2000-2999
对源IP地址进行匹配,定义我的源 ,运用最广泛
高级标识范围 3000-3999
除了对源IP 目的TP 源端口 目的端口 协议 都可以制定规则,内容更加丰富,内容更加精准
二层ACL 4000-4999
对数据链路层,源MAC 目的MAC 数据帧 进行过滤
自定义 ACL
官方给的范围是5000-5999 运用名称标识
1.4 ACL的应用
匹配IP流量(可基于源、目IP地址、协议类型、端口号等元素)
在Traffic-filter中被调用
在NAT中被调用
在路由路由策略中被调用
在IPSec VPN中被调用
在防火墙的策略部署中被调用
在QoS中被调用
1.5 通配符
通配符是一个32比特长度的数值,用于指示IP地址中,哪些比特位需要严 格匹配,哪些比特位则无所谓。
通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络 掩码完全不同。
2.NAT的介绍
2.1 NAT的原理
NAT ( Network Address Translation ) 中文意思是"网络地址转换",它是一个IETF(Internet Engineering Task Force, Internet工程任务组) 标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。NAT 可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上。NAT路由器在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址。
通过IP报文头部,自动替换报文头中的源地址和目的地址,实现私网用户通过私网IP访问公网的目的。
2.2 公网IP地址和私网IP地址
公网地址: 公网地址是指可以在Internet上使用的地址。为保证整个Internet内的IP地址的 唯一-性,公网地址由IANA ( Internet Assigned Number Authority )这个国际组织负责分配。一台网络设备如果需要使用公网地址,就必须向ISP ( Internet Service Provider )或注册中心申请。
私有地址: 为了满足- -些实验室、公司或其他组织的独立于Internet之外的私有网络的需求, RFCA ( Requests For Comment ) 1918为私有使用留出了三个IP地址段。私有 地址不能在Internet上被分配,因而可以不必申请就可以自由使用。
2.3 NAT类型:
静态 NAT ( Static NAT )( 一对一 )。将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一直不变的
动态地址 NAT ( Pooled NAT )(多对多)。将内部网络的私有 IP 地址转换为公用 IP 地址时,IP 地址是不确定,随机的,基于地址池来进行公有地址和私有地址的转换
网络地址端口转换 NAPT(Network Address Port Translation)(Port-Level NAT)( 多对一 )。改变外出数据包的源端口并进行端口转换,采用端口多路复用方式。网络地址端口转换NAPT允许多个内部地址映射到同-个公有地址的不同端口
Easy ip
Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口.
2.4 NAT优缺点:
优点 | 缺点 |
---|---|
缓解公网地址紧缺问题 | 存在转发延迟 |
解决IP地址空间冲突或者重叠的问题 | 端到端寻址变得困难 |
网络扩展性更高 | 某些应用不支持NAT |
内网结构及相关操作对外变得不可见 | NAT产生的表项需占用设备的内存空间 |
增加了安全性 | 设备性能问题 |
3. 实验习题
3.1 实验一:
sw1:
[Huawei]sysname sw1
[sw1]vlan b 10 20 100
[sw1]int e0/0/1
[sw1-Ethernet0/0/1]p l a
[sw1-Ethernet0/0/1]p d v 20
[sw1-Ethernet0/0/1]int e0/0/2
[sw1-Ethernet0/0/2]p l a
[sw1-Ethernet0/0/2]p d v 10
[sw1-Ethernet0/0/2]int e0/0/3
[sw1-Ethernet0/0/3]p l t
[sw1-Ethernet0/0/3]p t a v a
sw2:
[Huawei]sysname sw2
[sw2]vlan b 10 20 100
[sw2]int g0/0/1
[sw2-GigabitEthernet0/0/1]p l t
[sw2-GigabitEthernet0/0/1]p t a v a
[sw2-GigabitEthernet0/0/1]int vlanif 10 //单臂路由
[sw2-Vlanif10]ip add 192.168.10.254 24 //网关地址
[sw2-Vlanif10]int vlanif 20
[sw2-Vlanif20]ip add 192.168.20.254 24
[sw2-Vlanif20]int g0/0/2
[sw2-GigabitEthernet0/0/2]p l a
[sw2-GigabitEthernet0/0/2]p d v 100
[sw2-GigabitEthernet0/0/2]int vlan 100
[sw2-Vlanif100]ip add 192.168.100.100 24
[sw2]ip route-static 10.0.0.0 24 192.168.100.200 //设置静态路由
[sw2]ip route-static 50.0.0.0 24 192.168.100.200
r1:
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 192.168.100.200 24
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 10.0.0.1 24
[r1]ip route-static 192.168.10.0 24 192.168.100.100 //静态路由
[r1]ip route-static 192.168.20.0 24 192.168.100.100
[r1]ip route-static 50.0.0.0 24 10.0.0.2
[r1]acl 2000 //设置acl表
[r1-acl-basic-2000]rule permit source 192.168.10.0 0.0.0.255
[r1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255
[r1]acl 3000 //可不设定
[r1-acl-adv-3000]rule permit ip source 50.0.0.0 0.0.0.255 //可不设定
[r1-acl-adv-3000]q //可不设定
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]nat server protocol tcp global 50.0.0.10 80 inside 192.168.20.1 80
[r1-GigabitEthernet0/0/1]nat outbound 2000
[r1-GigabitEthernet0/0/1]q
r2:
[Huawei]sysname r2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 10.0.0.2 24
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]ip add 50.0.0.254 24
[r2-GigabitEthernet0/0/1]q
[r2]ip route-static 192.168.100.0 24 10.0.0.1
[r2]ip route-static 192.168.10.0 24 10.0.0.1
[r2]ip route-static 192.168.20.0 24 10.0.0.1
3.1 实验二:
实验要求:
全网互通
配置ACL使得vlan 10和vlan 20不通
配置ACL使r1 不能访问webserver
sw1:
[Huawei]sysname sw1
[sw1]user-interface console 0
[sw1-ui-console0]idle-timeout 0 0
[sw1-ui-console0]q
///
[sw1]vlan b 10 20
[sw1]int e0/0/1
[sw1-Ethernet0/0/1]p l a
[sw1-Ethernet0/0/1]p d v 10
[sw1-Ethernet0/0/1]int e0/0/2
[sw1-Ethernet0/0/2]p l a
[sw1-Ethernet0/0/2]p d v 20
[sw1-Ethernet0/0/2]int e0/0/3
[sw1-Ethernet0/0/3]p l a
[sw1-Ethernet0/0/3]p d v 10
[sw1-Ethernet0/0/3]int e0/0/4
[sw1-Ethernet0/0/4]p l a
[sw1-Ethernet0/0/4]p d v 20
[sw1-Ethernet0/0/4]int e0/0/5
[sw1-Ethernet0/0/5]p l t
[sw1-Ethernet0/0/5]p t a v a
[sw1-Ethernet0/0/5]q
r1:
[Huawei]sysname r1
[r1]user-interface console 0
[r1-ui-console0]idle-timeout 0 0
[r1-ui-console0]q
/////
[r1]int g0/0/0.1
[r1-GigabitEthernet0/0/0.1]dot1q termination vid 10
[r1-GigabitEthernet0/0/0.1]ip add 192.168.10.254 24
[r1-GigabitEthernet0/0/0.1]a b e
[r1-GigabitEthernet0/0/0.1]int g0/0/0.2
[r1-GigabitEthernet0/0/0.2]dot1q termination vid 20
[r1-GigabitEthernet0/0/0.2]ip add 192.168.20.254 24
[r1-GigabitEthernet0/0/0.2]a b e
[r1-GigabitEthernet0/0/0.2]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 30.0.0.1 24
[r1-GigabitEthernet0/0/1]q
[r1]ip route-static 10.0.0.0 24 30.0.0.2
r2:
[r2]user-interface console 0
[r2-ui-console0]idle-timeout 0 0
[r2-ui-console0]q
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 30.0.0.2 24
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]ip add 10.0.0.254 24
[r2-GigabitEthernet0/0/1]q
[r2]ip route-static 192.168.10.0 24 30.0.0.1
[r2]ip route-static 192.168.20.0 24 30.0.0.1
这时候实现了全网互通
然后在看到第二题的要求配置ACL使得vlan 10和vlan 20不通
在r1里面配上代码
<r1>sys
Enter system view, return user view with Ctrl+Z.
[r1]acl 2000
[r1-acl-basic-2000]rule deny source 192.168.10.0 0.0.0.255
[r1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255
[r1]acl 2001
[r1-acl-basic-2000]rule deny source 192.168.20.0 0.0.0.255
[r1-acl-basic-2000]rule permit source 192.168.10.0 0.0.0.255
///////////////////////////////////////配好acl 2000 跟acl 2001
[r1]int g0/0/0.1
[r1-GigabitEthernet0/0/0.1]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0.1
dot1q termination vid 10
ip address 192.168.10.254 255.255.255.0
traffic-filter outbound acl 2001 //设置的是不允许20.0网段通过,允许10.0网段通过
arp broadcast enable
#
return
[r1]int g0/0/0.2
[r1-GigabitEthernet0/0/0.2]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0.2
dot1q termination vid 20
ip address 192.168.20.254 255.255.255.0
traffic-filter outbound acl 2000 //设置的是不允许10.0网段通过,允许20.0网段通过
arp broadcast enable
#
return
可以看到PC1依然可以ping通Server,但无法和vlan 20主机通信,标准ACL生效.
第三个问题是配置ACL使r1 不能访问webserver
r1里加一个代码:
[r1]acl 3000
[r1-acl-adv-3000]dis this
[V200R003C00]
#
acl number 3000
rule 5 deny tcp destination-port eq www //不允许任何允许
#
return
[r1-acl-adv-3000]int g0/0/1
[r1-GigabitEthernet0/0/1]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 30.0.0.1 255.255.255.0
traffic-filter outbound acl 3000
#
return
[r1]http server enable
This operation will take several minutes, please wait...
Error:Failed to enable HTTP server. //启动http服务器失败
[r1]ping 10.0.0.1 //依旧是可以ping 通的,但是是访问不了的
PING 10.0.0.1: 56 data bytes, press CTRL_C to break
Reply from 10.0.0.1: bytes=56 Sequence=1 ttl=254 time=30 ms
Reply from 10.0.0.1: bytes=56 Sequence=2 ttl=254 time=20 ms
Reply from 10.0.0.1: bytes=56 Sequence=3 ttl=254 time=20 ms
Reply from 10.0.0.1: bytes=56 Sequence=4 ttl=254 time=20 ms
Reply from 10.0.0.1: bytes=56 Sequence=5 ttl=254 time=20 ms
--- 10.0.0.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/22/30 ms