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
이는 좋은 습관입니다:
- 대상 네트워크/호스트 근처에 표준 ACL을 배치합니다.
- 소스 네트워크/호스트 근처에 확장 ACL을 배치합니다.