访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包
进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制。限制网络
流量、提高网络性能、防止网络攻击等等。ACL可以通过定义规则来允许或拒绝流量的通过。ACL可以
根据需求来定义过滤的条件以及匹配条件后所执行的动作。
ACL分类
根据不同的划分规划,ACL可以分为三类:
● 基本ACL:可以使用报文的源IP地址、分片标记和时间段信息来匹配报文。其编号取值范围是
20002999。3999。
● 高级ACL:可以使用报文的源/目的IP地址、源/目的端口号以及协议类型等信息来匹配报文。
高级ACL可以定义比基本ACL更准确、更丰富、更灵活的规则。其编号取值范围是3000
● 二层ACL:可以使用源/目的MAC地址以及二层协议类型等二层信息来匹配报文。其编号取值范
围是4000~4999。
ACL规则
1、一个ACL可以由多条”denypermit”语句组成,每一条语句描述了一条规则。设备收到数据流量后,
会逐条匹配ACL规则。如果不匹配,则匹配下一条规则。一旦匹配成功,则执行规则中定义的动作。
并不再继续向后匹配。如果最终也没找到可匹配的规则,就不会对报文进行任何处理。
2、规则的匹配顺序决定了规则的优先级,匹配顺序分为”配置顺序”和”自动排序”两种。
3、”配置顺序”按ACL编号(rule-id)从小到大的顺序进行匹配。路由器匹配规则时默认采用配置顺
序,默认规则编号的步长为5。
4、”自动排序”使用”深度优先”的原则进行匹配,即根据规则的精确度排序。
配置ACL
1、如下图拓扑,我们来演示一下ACL的配置方法。这里部署了三个网络,假设R2位于总部,R1与R3分
别是两个分支网络,这三台路由器通过广域网相连。现在需要控制Telnet服务器和FTP服务器的使用
权限,R1所在的网络只能访问Telnet服务器,R3所在的网络只能访问FTP服务器。
2、首先在SW1和SW2上配置VLAN和VLANIF接口IP地址。
SW1:
vlan 4
int vlanif 4
ip address 10.0.4.254 24
SW2:
vlan 6
int vlanif 6
ip address 10.0.6.254 24
3、在R1、R2和R3上配置相应的接口IP地址。
R1:
int g0/0/0
ip address 10.0.13.1 24
R2:
int g0/0/0
ip address 10.0.13.2 24
int g0/0/1
ip address 10.0.4.2 24
int g0/0/2
ip address 10.0.6.2 24
R3:
int g0/0/0
ip address 10.0.13.3 24
4、配置SW1和SW2连接路由器的端口为trunk端口,修改PVID使物理端口加入三层VLANIF逻辑接口。
SW1:
int g0/0/2
port link-type trunk
port trunk allow-pass vlan all
port trunk pvid vlan 4
SW2
int g0/0/2
port link-type trunk
port trunk allow-pass vlan all
port trunk pvid vlan 6
5、在R1、R2和R3上配置OSPF,三台路由器均在区域0当中,并发布各自直连的网段信息。
R1:
ospf
area 0
network 10.0.13.0 0.0.0.255
R2:
ospf
area 0
network 10.0.4.0 0.0.0.255
network 10.0.6.0 0.0.0.255
network 10.0.13.0 0.0.0.255
R3:
ospf
area 0
network 10.013.0 0.0.0.255
6、在SW1和SW2上配置缺省静态路由,指定下一跳为各自连接的路由器网关。
SW1:
ip route-static 0.0.0.0 0.0.0.0 10.0.4.2
SW2:
ip route-static 0.0.0.0 0.0.0.0 10.0.6.2
7、配置SW1为Telnet服务器。
telnet server enable
user-interface vty 0 4
protocol inbound all
authentication-mode password
set authentication password cipher huawei
7、配置SW2为FTP服务器。
ftp server enable
aaa
local-user huawei password cipher huawei
local-user huawei privilege level 3
local-user huawei service-type ftp
local-user huawei ftp-directory flash:/
8、在R2上配置ACL,只允许R1访问Telnet服务器,只允许R3访问FTP服务器。
acl 3000
rule 5 permit tcp source 10.0.13.1 0.0.0.0 destination 10.0.4.254 0.0.0.0 destination-port eq 23
rule 10 permit tcp source 10.0.13.3 0.0.0.0 destination 10.0.6.254 0.0.0.0 destination-port range 20 21
rule 15 permit ospf
rule 20 deny ip source any
9、在R2的g0/0/0接口上应用ACL
int g0/0/0
traffic-filter inbound acl 3000
10、验证ACL匹配结果,在R1上分别登录Telnet服务器和FTP服务器。可以看到在R1上只能访问Telnet
服务器,无法访问FTP服务器,符合配置要求。
11、在R3上分别登录Telnet服务器和FTP服务器。可以看到在R3上只能访问FTP服务器,无法访问
Telnet服务器,符合配置要求。
网地址转换NAT
网络地址转换技术NAT(Network Address Translation)主要用于实现内部网络主机访问外部网络的
功能。通过NAT可以实现私网地址与公网地址的转换。并且多个私网用户可以共用一个公网地址,这样
即可保证网络互通,又节省了公网IP地址。NAT是将IP数据报文头部中的IP地址转换为另一个IP地址的
过程,一般部署在连接内网和外网的网关设备上。网关会创建一个NAT映射表,以便判断从公网收到的
报文应该发往的私网目的地址。
NAT分类:
● 静态NAT:静态NAT实现了私有地址和公有地址的一对一映射。这种一对一的IP地址映射无法缓解公
用地址短缺的问题,也就是并不节省公网IP。
● 动态NAT:动态NAT通过使用地址池来实现私有地址和公有地址的转换,动态地址池中的地址耗尽以
后,只能等待被占用的公网IP被释放以后,其它主机才能使用它来访问公网。动态NAT同样需要大量
的公网IP地址。
● NAPT:网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口。
● Easy IP: Easy IP允许多个内部地址映射到网关接口地址上的不同端口。适用于小规模局域网中的
主机访问Internet场景。Easy IP只需要一个公网IP地址。
● NAT服务器:前面几种都是内部访问外部,NAT服务器则可以使外网用户访问内网资源。
配置NAT
1、如下图拓扑,我们在两台路由器R1和R2上配置NAT功能,使内网用户可以访问公网,在R1上配置动
态NAT,在R2上配置Easy IP,实现地址转换。
2、配置R1和R2与交换机相连的接口的IP地址。
R1:
int g0/0/1
ip address 10.0.4.1 24
R2:
int g0/0/1
ip address 10.0.6.2 24
3、在SW1和SW2上创建VLAN,并配置VLANIF接口地址。
SW1:
vlan 4
vlanif 4
ip address 10.0.4.254 24
SW2:
vlan 6
vlanif 6
ip address 10.0.6.254 24
4、在SW1和SW2上将连接路由器的端口配置为trunk端口,并通过修改PVID使物理口加入到VLANIF
三层逻辑口。
SW1:
int g0/0/1
port link-type trunk
port trunk pvid vlan 4
port trunk allow-pass vlan all
SW2:
int g0/0/1
port link-type trunk
port trunk pvid vlan 6
port trunk allow-pass vlan all
5、在R1和R2上配置连接广域网的IP地址。
R1:
ip address 119.84.111.1 24
R2:
ip address 119.84.111.2 24
6、在R1上配置高级ACL,匹配特定流量进行NAT地址转换,特定流量为SW1向R2发起的telnet连接的
TCP流量,以及源IP为10.0.4.0 /24网段的IP数据流。
acl 3000
rule 5 permit tcp 10.0.4.254 0.0.0.0 destination 119.84.111.2 0.0.0.0 destination-port eq 23
rule 10 permit tcp ip source 10.0.4.0 0.0.0.255 destination any
rule 15 deny ip
7、在R2上配置基本ACL,匹配需要进行NAT地址转换的流量为源IP为10.0.6.0 /24网段的数据流。
acl 2000
rule permit source 10.0.6.0 0.0.0.255
8、配置动态NAT,首先在SW1和SW2上配置缺省静态路由,指定下一跳为内网的网关。
SW1:
ip route-static 0.0.0.0 0.0.0.0 10.0.4.1
SW2:
ip route-static 0.0.0.0 0.0.0.0 10.0.6.2
9、在R1上配置动态NAT,首先配置地址池,然后在g0/0/0接口下将ACL与地址池进行关联。使得
匹配ACL3000的数据报文的源地址选用地址池中的某个地址进行NAT转换。
net address-group 1 119.84.111.240 119.84.111.243
int g0/0/0
nat outbound 3000 address-group 1
10、将R2配置为Telnet服务器。
telnet server enable
user-interface vty 0 4
authentication-mode password
set authentication password cipher huawei
11、在R1上查看地址池是否正确。
dis nat address-group
12、在SW1上确认内网与外网的连通性。
13、在SW1上发起到公网的telnet连接,确认telnet连接成功。Telnet经过R1到公网再到R2。
14、在R1上查看NAT会话信息,可以看到源地址为SW1的VLANIF4的IP地址10.0.4.254,目的IP为R2
的接口IP。
15、在R2的g0/0/0接口上配置Easy IP,并关联ACL 2000
int g0/0/0
nat outbound 2000
16、测试SW2经过R2连通R1。
17、到这里NAT配置就演示完毕,在R1和R2上查看NAT类型,R1为PAT,P2为Easy IP。
本地AAA配置
1、AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称。AAA
可以通过多种协议来实现,目前华为设备支持基于RADIUS协议和HWTACACS协议来实现AAA。该技术
可以用于验证用户账户是否合法,授权用户可以访问的服务,并记录用户使用网络资源的情况。
2、AAA支持三种认证方式:
● 不认证:完全信任用户,不对用户身份进行合法性检查。这种认证方式很少被采用。
● 本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上,本地认证的优点是处
理速度快、运营成本低,缺点是存储信息量受设备硬件条件限制。
● 远端认证:将用户信息配置在认证服务器上。AAA通过RADIUS协议或HWTACACS协议进行远端认证。
3、AAA支持三种授权方式:
● 不授权:不对用户进行授权处理。
● 本地授权:根据NAS上配置的本地用户账号的相关属性进行授权。
● 远端授权:使用RADIUS或HWTACACS对用户授权。
4、对于认证和授权,如果方案中使用了多种认证和授权方式,则按照配置顺序生效。
5、设备基于域来对用户进行管理,每个域都可以配置不同的AAA方案。default域为普通用户的缺省
域,default_admin域为管理用户的缺省域。用户可以修改但不能删除这两个缺省域。默认情况下,
设备最多支持32个域,包括两个缺省域。
6、下面我们以下图中的拓扑为例,来演示一下AAA的简单配置过程,我们需要在R1和R2两台路由器
上配置本地AAA认证,并基于域来对用户进行管理,并配置己认证用户的权限级别。
7、首先为R1和R2配置好接口IP地址,并检测连通性。
8、在R1上配置认证方案为本地认证,授权方案为本地授权。
aaa
authentication-scheme auth1
authentication-mode local
authorization-scheme auth2
authorization-mode local
9、在R1上创建域”huawei”并将认证方案和授权与域进行关联。然后创建一个用户并将其加到域中。
aaa
domain huawei
authentication-scheme auth1
authorization-scheme auth2
local-user user1@huawei password cipher huawei
local-user user1@huawei service-type telnet
local-user user1@huawei privilege level 0
10、将R1配置为Telnet服务器,认证模式为AAA
telnet server enable
user-interface vty 0 4
authentication-mode aaa
11、从R2 Telnet登录R1,验证登录需要经过AAA认证,同时由于用户命令等级为0,所以登录后无法
执行命令。
12、在R2上同样进行AAA配置,用户为user2@huawei,用户权限设置为3。
13、从R1 Telnet登录R2,验证登录需要经过AAA认证,同时由于用户命令等级为3,所以登录后可以
执行命令。