常规地址转换技术只转换报文的源地址或目的地址,而双向地址转换(Bidirectional web
NAT)技术能够将报文的源地址和目的地址同时转换,该技术应用于内部网络主机
地址与公网上主机地址重叠的状况。如图所示:内部网络主机 PC1 和公网上主机
PC3的地址重叠。这种状况下,内部网络主机 PC2访问主机 PC3的报文不会到达
目的主机,而会被错误的转发到主机 PC1上。双向 NAT技术经过在 RouterA上配
置重叠地址池到临时地址的映射关系(在实现常规 NAT的基础上),将重叠地址转
换为惟一的临时地址,来保证报文的正确转发。
例如,在 RouterA上配置双向地址转换:
第一步:配置常规 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的Web服务器的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。