ACL是一种网络流量控制工具,能够根据特定的规则允许或拒绝数据包的传输。下面,我将详细解释如何通过ACL限制内网主机访问外网。
首先,我们需要创建一个基本ACL,并定义规则来匹配特定的数据包。例如,可以创建一个ACL,只允许特定ip地址或IP地址段的数据包通过。然后,将这些规则应用于内网中的路由器或交换机的接口上。
以下是一个具体的步骤示例:
1. **配置VLAN和接口**:首先,确保内网中的各个部门或设备属于不同的VLAN。为每个部门或设备配置一个VLAN,并设置相应的接口。
2. **创建基本ACL**:在路由器或交换机上创建一个基本ACL,并为需要限制访问的IP地址或IP地址段添加规则。例如,可以创建一个名为ACL2000的ACL,并添加以下规则: - 规则1:拒绝源IP为10.1.1.10的数据包。 - 规则2:拒绝源IP为10.1.2.20的数据包。
3. **配置流分类**:创建一个流分类,并将ACL与流分类关联。例如,创建一个名为tc1的流分类,并使用ACL2000进行匹配。
4. **配置流行为**:定义一个流行为,拒绝匹配上ACL的报文通过。例如,创建一个名为tb1的流行为,并设置为拒绝报文通过。
5. **配置流策略**:创建一个流策略,将流分类与流行为关联。例如,创建一个名为tp1的流策略,并设置tc1作为分类器,tb1作为行为。
6. **应用流策略**:将流策略应用于路由器或交换机的接口上。例如,将tp1流策略应用于接口GigabitEthernet0/0/1的出方向。
通过以上步骤,我们就可以限制特定IP地址或IP地址段的数据包访问外网。其他未在ACL中指定的IP地址或IP地址段将不受影响,可以正常访问外网。
需要注意的是,ACL规则应该根据实际需求进行配置,确保既能满足业务需求,又能有效保护内网安全。此外,ACL的配置和优化需要不断调整,以适应网络环境的变化。
有朋友多次问到,如何让企业的某个部分只能访问内网,不能访问外网,这个在企业实际应用中非常广泛,为了保密,会使企业的部分网络禁止与外部通信。
这里面我们就需要用到ACL了,首先我们来了解下ACL,ACL即访问控制列表,那么它有什么作用呢?
ACL的作用
1、ACL可以限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定数据包的优先级。
2、ACL提供对通信流量的控制手段。例如,ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量。
3、ACL是提供网络安全访问的基本手段。ACL允许主机A访问人力资源网络,而拒绝主机B访问。
4、ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。例如,用户可以允许E-mail通信流量被路由,拒绝所有的Telnet通信流量。
例如:
某部门要求只能使用 WWW 这个功能,就可以通过ACL实现;
又例如,
为了某部门的保密性,不允许其访问外网,也不允许外网访问它,就可以通过ACL实现。
那么我们来看下实例,如何实现使用 ACL 限制内网主机访问外网。
1、案例
某公司通过交换机实现各部门之间的互连。现要求Switch能够禁止研发部和市场部的部分主机访问外网,防止公司机密泄露。以华为例。
1、拓扑图
2、配置思路
采用如下的思路在Switch上进行配置:
1、配置基本ACL和基于ACL的流分类,使设备可以对研发部与市场部的指定主机的 报文进行过滤。
2、配置流行为,拒绝匹配上ACL的报文通过。
3. 配置并应用流策略,使ACL和流行为生效。
步骤1 配置接口所属的VLAN以及接口的IP地址
# 创建VLAN10和VLAN20。
[HUAWEI] sysname Switch
[Switch] vlan batch 10 20
# 配置Switch的接口GE0/0/1、GE0/0/2为Trunk类型接口,并分别加入VLAN10和 VLAN20;配置Switch的接口GE0/0/3为trunk类型接口,加入VLAN10和VLAN20。
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type trunk
[Switch-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type trunk
[Switch-GigabitEthernet0/0/2] port trunk allow-pass vlan 20
[Switch-GigabitEthernet0/0/2] quit
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type trunk
[Switch-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20
[Switch-GigabitEthernet0/0/3] quit
# 创建VLANIF10和VLANIF20,并配置各VLANIF接口的IP地址。
[Switch] interface vlanif 10
[Switch-Vlanif10] ip address 10.1.1.1 24
[Switch-Vlanif10] quit
[Switch] interface vlanif 20
[Switch-Vlanif20] ip address 10.1.2.1 24
[Switch-Vlanif20] quit
这里面普及下vlanif接口和vlan端口的区别:
(1)vlan端口:是物理端口,通常我们通过配置Access vlan 10 使某个物理接口属于vlan 10
(2)vlan if :interface vlan 是逻辑端口,通常这个接口地址作为vlan下面用户的网关。
步骤2 配置ACL
# 创建基本ACL 2001并配置ACL规则,拒绝源IP地址为10.1.1.11和10.1.2.12的主机的报 文通过。
[Switch] acl 2001
[Switch-acl-bASIC-2001] rule deny source 10.1.1.11 0 //禁止IP地址为10.1.1.11的主机访问外网
[Switch-acl-basic-2001] rule deny source 10.1.2.12 0 //禁止IP地址为10.1.2.12的主机访问外网
[Switch-acl-basic-2001] quit
步骤3 配置基于基本ACL的流分类
#配置基于基本ACL的流分类 # 配置流分类tc1,对匹配ACL 2001的报文进行分类。
[Switch] traffic classifier tc1 //创建流分类
[Switch-classifier-tc1] if-match acl 2001 //将ACL与流分类关联
[Switch-classifier-tc1] quit
步骤4 配置流行为
# 配置流行为tb1,动作为拒绝报文通过。
[Switch] traffic behavior tb1 //创建流行为
[Switch-behavior-tb1] deny //配置流行为动作为拒绝报文通过 [Switch-behavior-tb1] quit
步骤5 配置流策略
# 定义流策略,将流分类与流行为关联。
[Switch] traffic policy tp1 //创建流策略
[Switch-trafficpolicy-tp1] classifier tc1 behavior tb1 //将流分类tc1与流行为tb1关联
[Switch-trafficpolicy-tp1] quit
步骤6 在接口下应用流策略
# 由于内网主机访问外网的流量均从接口GE0/0/3出口流向Internet,所以可以在接口 GE0/0/3的出方向应用流策略。
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] traffic-policy tp1 outbound //流策略应用在接口出方向
[Switch-GigabitEthernet0/0/3] quit
3、验收配置结果
# 查看ACL规则的配置信息
# 查看流分类的配置信息。
# 查看流策略的配置信息。
IP地址为10.1.1.11和10.1.2.12的主机无法访问外网,其他主机均可以访问外网。