配置ACL实现网络安全

配置ACL实现网络安全

1.项目1:

项目要求:源IP地址为私有地址的流量不能从Internet进入企业网络。财务部服务器只能由财务部中的计算机访问。
image-20250605174709063

1.2.配置环境

AR1

<Huawei>sys

[Huawei]vlan batch 1 2 3 4

[Huawei]interface vlanif1
[Huawei-Vlanif1]ip address 192.168.1.1 24
[Huawei-Vlanif1]quit
[Huawei]port-group 0to1
[Huawei-port-group-0to1]group-member Ethernet 0/0/0 to Ethernet 0/0/1
[Huawei-port-group-0to1]port link-type access
[Huawei-port-group-0to1]port default vlan 1
[Huawei-port-group-0to1]quit

[Huawei]interface vlanif 2
[Huawei-Vlanif2]ip address 192.168.2.1 24
[Huawei-Vlanif2]quit
[Huawei]port-group 2to3
[Huawei-port-group-2to3]group-member Ethernet 0/0/2 to Ethernet 0/0/3
[Huawei-port-group-2to3]port link-type access
[Huawei-port-group-2to3]port default vlan 2
[Huawei-port-group-2to3]quit

[Huawei]interface vlanif 3
[Huawei-Vlanif3]ip address 192.168.3.1 24
[Huawei-Vlanif3]quit
[Huawei]port-group 4to5    
[Huawei-port-group-4to5]group-member Ethernet 0/0/4 to Ethernet 0/0/5
[Huawei-port-group-4to5]port link-type access
[Huawei-port-group-4to5]port default vlan 3
[Huawei-port-group-4to5]quit

[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 12.2.2.1 24
[Huawei-GigabitEthernet0/0/0]quit

[Huawei]ip route-static 20.1.2.0 24 12.2.2.2

AR2

<Huawei>sys
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 12.2.2.2 24
[Huawei-GigabitEthernet0/0/0]quit

[Huawei]vlan 4
[Huawei-vlan4]quit
[Huawei]interface vlanif 4
[Huawei-Vlanif4]ip address 20.1.2.1 24
[Huawei-Vlanif4]quit

[Huawei]port-group 0to1    
[Huawei-port-group-0to1]group-member Ethernet 0/0/0 to Ethernet 0/0/1
[Huawei-port-group-0to1]port link-type access
[Huawei-port-group-0to1]port default vlan 4

[Huawei]ip route-static 0.0.0.0 0 12.2.2.1

1.3.简单配置ACL

AR1

检查路由器之前是否有ACL规则

[Huawei]display acl ?
  INTEGER<2000-2999>  Basic access-list(add to current using rules)
  INTEGER<3000-3999>  Advanced access-list(add to current using rules)
  INTEGER<4000-4999>  Specify a L2 acl group
  all                 All of ACL
  ipv6                ACL IPv6 
  name                Specify a named ACL
  resource            ACL resources info
  vlan-division       Vlan section division

[Huawei]display acl all
 Total quantity of nonempty ACL number is 0 
1.3.1.配置入则规则
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule ?
  INTEGER<0-4294967294>  ID of ACL rule
  deny                   Specify matched packet deny
  permit                 Specify matched packet permit
[Huawei-acl-basic-2000]rule 5 deny source 192.168.0.0 0.0.255.255
[Huawei-acl-basic-2000]rule 10 deny source 172.16.0.0 0.15.255.255
[Huawei-acl-basic-2000]rule 15 deny source 10.0.0.0 0.255.255.255

[Huawei-acl-basic-2000]display this
[V200R003C00]
#
acl number 2000  
 rule 5 deny source 192.168.0.0 0.0.255.255 
 rule 10 deny source 172.16.0.0 0.15.255.255 
 rule 15 deny source 10.0.0.0 0.255.255.255 
#

[Huawei-GigabitEthernet0/0/0]traffic-filter inbound acl 2000   #--入口规则
1.3.2.配置出站规则
[Huawei]acl 2010
[Huawei-acl-basic-2010]rule permit source 192.168.2.0 0.0.0.255
[Huawei-acl-basic-2010]rule deny
[Huawei-acl-basic-2010]quit
[Huawei]interface vlanif3
[Huawei-Vlanif3]traffic-filter outbound acl 2010
[Huawei-Vlanif3]display this
[V200R003C00]
#
interface Vlanif3
 ip address 192.168.3.1 255.255.255.0 
 traffic-filter outbound acl 2010
#
return

[Huawei-acl-basic-2010]rule 4 permit source 192.168.1.2 0.0.0.0
1.3.3.删除规则
#删除acl
[Huawei-acl-basic-2010]undo rule 4
[Huawei-acl-basic-2010]quit
[Huawei]interface vlanif3
[Huawei-Vlanif3]display this
[V200R003C00]
#
interface Vlanif3
 ip address 192.168.3.1 255.255.255.0 
 traffic-filter outbound acl 2010
#
return

[Huawei-Vlanif3]undo traffic-filter outbound 
[Huawei-Vlanif3]quit

[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]display this
[V200R003C00]
#
interface GigabitEthernet0/0/0
 ip address 12.2.2.1 255.255.255.0 
 traffic-filter inbound acl 2000
#
return
[Huawei-GigabitEthernet0/0/0]undo traffic-filter inbound 

2.项目2:

项目要求:
1.允许工程部能够访问Internet。
2.允许财务部能够访问Internet,但只允许访问网站和收发电子邮件。
3.允许财务部能够使用ping命令测试到Internet网络是否畅通。
4.禁止财务部服务器访问Internet。
image-20250606114147997

1.高级配置ACL

[Huawei]acl 3000
[Huawei-acl-adv-3000]rule 5 permit ?
  <1-255>  Protocol number
  gre      GRE tunneling(47)
  icmp     Internet Control Message Protocol(1)
  igmp     Internet Group Management Protocol(2)
  ip       Any IP protocol
  ipinip   IP in IP tunneling(4)
  ospf     OSPF routing protocol(89)
  tcp      Transmission Control Protocol (6)
  udp      User Datagram Protocol (17)
  
[Huawei-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255 #--目标地址不写,代表任意包括任意端口、协议

[Huawei-acl-adv-3000]rule 10 permit udp source 192.168.2.0 0.0.0.255 destination
 any destination-port eq 53

[Huawei-acl-adv-3000]rule 15 permit tcp source 192.168.2.0 0.0.0.255 destination
-port eq www   #--访问internet
[Huawei-acl-adv-3000]rule 20 permit tcp source 192.168.2.0 0.0.0.255 destination
-port eq 443   #--访问internet

[Huawei-acl-adv-3000]rule 25 permit ?
  <1-255>  Protocol number
  gre      GRE tunneling(47)
  icmp     Internet Control Message Protocol(1)
  igmp     Internet Group Management Protocol(2)
  ip       Any IP protocol
  ipinip   IP in IP tunneling(4)
  ospf     OSPF routing protocol(89)
  tcp      Transmission Control Protocol (6)
  udp      User Datagram Protocol (17)

[Huawei-acl-adv-3000]rule 25 permit tcp source 192.168.2.0 0.0.0.255 destination
-port eq 25     #--SMTP
[Huawei-acl-adv-3000]rule 30 permit tcp source 192.168.2.0 0.0.0.255 destination
-port eq 110    #--POP3

[Huawei-acl-adv-3000]rule 35 permit icmp source 192.168.2.0 0.0.0.255  #--PING

[Huawei-acl-adv-3000]rule 40 deny ip source 192.168.3.0 0.0.0.255      #--不能访问INTERNET
[Huawei-acl-adv-3000]rule 50 deny ip #--拒绝其他所有流量

[Huawei-GigabitEthernet0/0/0]traffic-filter outbound acl 3000

2.测试

财务部

image-20250606141130599

工程部

image-20250606141112475

服务器

image-20250606141048012

3.补充:反转掩码计算方式

#如何写172.16.0.0-172.31.0.0的反转掩码

我们来详细计算覆盖 172.16.0.0 到 172.31.0.0 整个地址范围(实际上是 172.16.0.0 到 172.31.255.255)所需的反转掩码(通配符掩码,Wildcard Mask)。这个范围恰好对应于一个标准子网:172.16.0.0/12。

反转掩码的核心概念:

0:表示该比特位必须严格匹配网络地址中对应的位。
1:表示该比特位可以忽略(可以是0或1)。
要匹配一个连续的IP地址范围,反转掩码中1的位置对应于该范围内所有地址会发生变化的比特位。
计算步骤详解:

识别范围并转换为二进制:
起始地址:172.16.0.0
结束地址:172.31.0.0(注:这个结束地址代表范围的结束点,但实际匹配的IP需要能到达172.31.255.255,因为IP地址的主机位会变化。这个范围本身就是一个标准的/12子网,包含从172.16.0.0到172.31.255.255的所有地址)。
将关键部分(第二个字节)转换为二进制,因为它在这个范围内变化:
起始IP的第二字节 (16): 16 = 0001 0000 (二进制)
结束IP的第二字节 (31): 31 = 0001 1111 (二进制)
第一字节 (172):所有地址都以172开头(二进制 1010 1100)。这意味着在第一字节上,所有8位都需要精确匹配。因此,反转掩码的第一字节将是 0。
找出固定位和可变位:
对比 16 (0001 0000) 和 31 (0001 1111),观察第二个字节的变化:
高4位 (0001,即十进制的1) 在范围内所有地址中完全相同。
低4位 (0000 到 1111,即十进制的 0 到 15) 在范围内所有地址都会变化。
第三、四字节 (0.0):在起始地址和结束地址中都显示为0.0,但这不是限制主机范围。为了让地址覆盖172.16.0.0到172.31.255.255,第三和第四字节必须允许从 00 (二进制 00000000) 到 255 (二进制 11111111) 的所有变化。这意味着第三和第四字节的所有8位都可以自由变化。
总结固定位:
固定位:第一字节的所有8位 (1010 1100 / 172) + 第二字节的高4位 (0001)。
总固定位数:8 (第一字节) + 4 (第二字节高4位) = 12位。
这就是为什么这个范围等同于子网 172.16.0.0/12。
确定反转掩码(通配符掩码):
原则: 反转掩码中,对应固定位的位是 0(必须匹配),对应可变位的位是 1(可以忽略)。
逐字节构造:
第一字节: 所有8位固定 -> 全部需要匹配 -> 反转掩码 = 0。
第二字节:
高4位固定 (0001) -> 这4位需要匹配 -> 在反转掩码中表示为 0000
低4位可变 -> 这4位可以忽略 -> 在反转掩码中表示为 1111
组合:0000 1111 = 15 (十进制)
第三字节: 所有8位可变(允许0-255) -> 全部可以忽略 -> 反转掩码 = 1111 1111 = 255 (十进制)。
第四字节: 所有8位可变(允许0-255) -> 全部可以忽略 -> 反转掩码 = 1111 1111 = 255 (十进制)。
得出反转掩码:
组合四个字节的反转掩码:0.15.255.255。
结论:

要匹配 172.16.0.0 到 172.31.0.0 代表的整个地址范围(即172.16.0.0/12子网,包含 172.16.0.0 到 172.31.255.255 的所有地址),需要使用:

网络地址: 172.16.0.0
反转掩码(通配符掩码): 0.15.255.255
验证(理解0.15.255.255的作用):

0(第一字节):必须精确匹配 172。
15(第二字节,二进制 0000 1111):
高4位为0:必须匹配网络地址第二字节(16)的高4位 0001。
低4位为1:允许忽略(可以是 0000 到 1111,即 0 到 15)。这允许第二字节从 0001 0000 (16) 变化到 0001 1111 (31)。
255(第三字节):忽略整个字节(允许 0-255)。
255(第四字节):忽略整个字节(允许 0-255)。
结果匹配的地址: 172.[16-31].[0-255].[0-255],正是 172.16.0.0 到 172.31.255.255。
为什么结束地址是172.31.0.0也能用?

虽然结束地址写为172.31.0.0,但结合反转掩码0.15.255.255的含义,它实际表示的是忽略主机位(第三、第四字节),所以它匹配的是整个 /12 子网的开始地址(172.16.0.0)加上通配符规则来覆盖整个子网。172.31.0.0 这个地址本身也包含在这个范围(172.31.x.x)内,并且31这个值位于第二字节允许的变化范围(16-31)之内。

因此,172.16.0.0 0.15.255.255 精确地定义了 172.16.0.0 到 172.31.255.255 这个IP地址范围。