ACL이 NAT와 작동하지 않음

ACL이 NAT와 작동하지 않음

Cisco 패킷 추적에 대해 공부하고 있는데, 이상한 점을 하나 발견했습니다. 아래에 네트워크 맵과 구성을 첨부했습니다.

여기에 이미지 설명을 입력하세요

1> server0에 액세스하기 위해 10.2.0.0/16 및 10.3.0.0/16용 NAT를 생성했습니다.

2> www 액세스 서버를 허용하지 않도록 10.2.100.0 0.0.0.255에 대한 ACL을 생성했습니다.

서버 FTP 액세스를 허용하지 않도록 10.3.100.0 0.0.0.255에 대한 ACL을 생성했습니다.

이제 문제가 발생합니다. PC2가 FTP에 액세스할 수 있는 것과 마찬가지로 PC0은 여전히 ​​서버 www에 액세스할 수 있습니다.

그러나 NAT를 제거하면 ACL이 작동합니다.

혼란스럽습니다. ACL은 항상 NAT보다 먼저 작동해야 합니다. NAT가 필터링되지 않은 채 아웃바운드 IP 주소로 ACL을 우회한 것처럼 보입니다. 이게 어떻게 된 일이야???

!
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

트래픽이 FastEthernet0/0을 벗어날 때 NAT가 소스 주소를 변경했기 때문에 ACL 110은 적용되지 않습니다. PC0에서 웹 서버로 들어오는 트래픽을 차단하려면 ACL 110을 IN ACL로 FastEthernet0/1로 이동해야 합니다.

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을 배치합니다.

관련 정보