ACL 不适用于 NAT

ACL 不适用于 NAT

我正在研究思科数据包跟踪,刚刚发现了一件奇怪的事情。我在下面附上了网络图和配置。

在此处输入图片描述

1> 我为 10.2.0.0/16 和 10.3.0.0/16 创建了 NAT 来访问 server0。

2> 为 10.2.100.0 0.0.0.255 创建 ACL,不允许访问服务器 www

为 10.3.100.0 0.0.0.255 创建 ACL,以不允许访问服务器 ftp

现在问题来了,PC0仍然可以访问服务器www,就像PC2可以访问FTP一样。

但如果我删除 NAT,ACL 就可以起作用。

我很困惑,ACL 应该总是在 NAT 之前工作,但看起来 NAT 未经过滤就绕过了 ACL 并使用了其出站 IP 地址。这是怎么发生的???

!
interface FastEthernet0/0
 ip address 10.1.50.1 255.255.0.0
 ip access-group 110 out
 ip nat outside
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 10.2.1.1 255.255.0.0
 ip nat inside
 duplex auto
 speed auto
!
interface FastEthernet0/1.3
 encapsulation dot1Q 3
 ip address 10.3.1.1 255.255.0.0
 ip nat inside
!
interface Vlan1
 no ip address
 shutdown
!
ip nat pool internet 10.1.50.50 10.1.50.50 netmask 255.255.0.0
ip nat inside source list 2 pool internet overload
ip classless
!
ip flow-export version 9
!
!
access-list 2 permit 10.2.0.0 0.0.255.255
access-list 2 permit 10.3.0.0 0.0.255.255
access-list 110 deny tcp 10.2.100.0 0.0.0.255 host 10.1.1.1 eq www
access-list 110 deny tcp 10.3.100.0 0.0.0.255 host 10.1.1.1 eq ftp
access-list 110 permit ip any any
!
!
!

答案1

ACL 110 不适用,因为当流量离开 FastEthernet0/0 时,NAT 已更改源地址。如果您想要阻止从 PC0 到 Web 服务器的流量,则需要将 ACL 110 移动到 FastEthernet0/1 作为 IN ACL

interface FastEthernet0/1
 ip address 10.2.1.1 255.255.0.0
 ip access-group 110 in
 ip nat inside
 duplex auto
 speed auto

这是一个很好的做法:

  1. 将标准 ACL 放置在目标网络/主机附近。
  2. 将扩展 ACL 放置在源网络/主机附近。

相关内容