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 放置在來源網路/主機附近。

相關內容