第一步:配置常规NAT(多对多地址转换)。
配置NAT 地址池200.0.0.1~200.0.0.100,并应用到广域网接口。

第二步:配置一组重叠地址到临时地址的映射。
10.0.0.0<-->3.0.0.0,子网掩码为24 位。
此映射表示,重叠地址池与临时地址池一一对应,转换规则为:
临时地址 = 临时地址池首地址 + (重叠地址 – 重叠地址池首地址)
重叠地址 = 重叠地址池首地址 + (临时地址 – 临时地址池首地址)
当内部主机PC2 直接用域名访问主机PC3 时,报文的处理流程如下:
(1) PC2 发送解析 www.web.com的DNS请求,经私网DNS服务器解析后,RouterA
收到 DNS服务器的响应报文。RouterA检查DNS响应报文载荷中的解析回来的
地址10.0.0.1,经检查该地址为重叠地址(与重叠地址池匹配),将地址10.0.0.1
转换为对应的临时地址3.0.0.1。之后再对DNS响应报文进行目的地址转换(常
规NAT处理),发送给PC2。
(2) PC2 向 www.web.com发起方问(即向对应的临时地址3.0.0.1 发起访问),
当报文到达RouterA时,先转换报文的源地址(常规NAT处理),再将报文的
目的地址即临时地址,转换为对应的重叠地址10.0.0.1。
(3) 将报文送到出接口,并经广域网逐跳转发至主机PC3。
(4) 当PC3 给PC2 返回的报文到达RouterA 时,先检查报文的源地址10.0.0.1,
该地址为重叠地址(与重叠地址池匹配),则将源地址转换为对应的临时地址
3.0.0.1。之后再对返回报文的目的地址进行常规NAT 转换,并发送给PC2。
这是一个重叠地址的转发过程,但是有个问题,能否没有DNS存在呢?
其实从整个过程来看,出去方向的,第一次只会有常规的源地址翻译,而后得到了DNS返回的IP,回来的时候进行了特殊的重叠地址源翻译。把DNS返回的地址经过应用层的转换成了临时地址池的IP。
第二步出去的时候目标地址一开始就已经确定成了临时地址了,而不是经过转换的。之后进行的是常规的源地址翻译,同时按照之前第一步中的重叠地址映射,将目标翻译成重叠地址。
第三步将这样的一个数据包,从接口处转发
问题是,这里居然经过了应用层转换,才办的到的,那没有DNS视乎是不行的,
1 内部主机不知道外部的临时地址,既然这样路由上是如何分配的,我想直连路由是绝对不行的
2 重叠地址到临时地址的映射表是配置在内网口还是外网口合适?为什么?
3经过翻译之后,路由是如何路由数据包的?