Inside-to-Outside        
  •If IPSec then check input access list
  •decryption - for CET
  •check input rate limits
  •input accounting
  •policy routing
  •routing
  •redirect to web cache
  •NAT inside to outside (local to global translation)
  •crypto (check map and mark for encryption)
  •check output access list
  •inspect (Context-based Access Control (CBAC))
  •TCP intercept
  •encryption
 
 
 
  Outside-to-Inside
•If IPSec then check input access list
  •decryption - for CET or IPSec
  •check input access list
  •check input rate limits
  •input accounting
  •NAT outside to inside (global to local translation)
  •policy routing
  •routing
  •redirect to web cache
  •crypto (check map and mark for encryption)
  •check output access list
  •inspect CBAC
  •TCP intercept
  •encryption
 
数据报从Inside-to-Outside出去的时候是先策略路由,路由,然后才是NAT
数据包从 Outside-to-Inside进来的时候是先NAT,策略路由,再路由
NAT执行顺序
1.首先是nat 0加访问控制列表(BYPASS)
2.然后是static加访问控制列表
3.然后是点对点的static转换
4.然后是nat 1 (>=1)加访问控制列表
5.然后是nat 0或者(>=1) 加网段地址
6.global pool
7.最后是PAT
注意!如果处于同一级别就需要比较访问控制列表的明细程度和网段地址的明细程度,如果前面都一样则写在前面的优先
nat的排列顺序
1.nat (inside) 0 access-list nonat-host -----这里nat 0 只能写一句,所以这句没写进去
1.nat (inside) 0 access-list nonat-network 
2.static (inside,outside) 1.1.1.2 access-list static-host
3.static (inside,outside) 1.1.1.3 access-list static-network 0 0
4.static (inside,outside) 1.1.1.4 2.2.2.2
5.nat (inside) 1 access-list nat-host
6.nat (inside) 1 access-list nat-network
7.nat (inside) 0 2.2.2.2 255.255.255.255--------注意!这里nat 0和下面nat 1的比较时看后面条目的明细程度的,而不是0或者1
8.nat (inside) 1 2.2.2.0 255.255.255.0 0 0
9.global(outside) 1 1.1.1.100-1.1.1.200
10.global (outside) 1 interface
以上执行顺序6.X/7.X都一样.
 
 
在理解NAT操作顺序列表之前,首先需要理解NAT本身。其最基本的形式是,NAT将一个IP地址转换为另一个IP地址。
       当路由器使用该操作顺序时,它将入站的包从列表的最上面向下移动。如果数据包来自NAT指定的内部接口,它使用由内向外的列表。如果数据包来自一个由外向内的接口,它使用由外向内操作顺序的列表。
这是由内向外列表的操作顺序:
# 如果是IPSec,检测输入访问列表
# 加密-Cisco加密技术(CET)或IPSec
# 检测输入访问列表
# 检测输入率限制
# 输入审计
# 路由策略
# 路由
# 重定向到Web缓冲
# 由内向外NAT(本地到外部的转换)
# 密码系统(检查并标识为加密)
# 检测输出访问列表
# 检查基于上下文的访问控制(CBAC)
# TCP截取
# 加密
有内向外时,先路由再NAT转换。

这是由外向内操作顺序的列表:
# 如果是IPSec,检测输入访问列表
# 加密-Cisco加密技术(CET)或IPSec
# 检测输入访问列表
# 检测输入率限制
# 输入审计
# 由外向内NAT(外部到本地的转换)
# 路由策略
# 路由
# 重定向到Web缓冲
# 密码系统(检查并标识为加密)
# 检测输出访问列表
# 检查CBAC
# TCP截取
# 加密
有外向内时,则先NAT转换再路由。
       我们假设收到一个来自由外向内的接口的IP包。在解析这个包时,我们希望使用一个访问控制列表阻拦来自某个IP地址的通信。应该将哪个IP地址放入ACL中,是包解析之前的IP地址(例如公网的IP地址),还是包解析后的IP地址呢(例如私有地址)?
    通过查看操作顺序,可以确定“由外向内NAT”操作发生在“检测输入访问列表”任务之后。因此,会在ACL中使用公网IP地址,因为数据包没有通过NAT。
    另一方面,如果希望为通过NAT的通信建立一个静态路由该怎么办?应该使用公网(外部的)还是私有(内部的)IP地址呢?在这种情况下,因为当通信开始“路由”操作时已经通过了NAT,所以你应当使用私有(内部的)IP地址。