最近看回环的一些资料,对snat,dnat有了以下的认识: 其实所谓的snat,dnat就是对数据包的源地址和目的地址进行修改,并且保存修改前后的映射关系,并且根据需要进行还原操作。 snat:出去的时候改变原地址(snat),回来的时候改变目的地址(un_snat) dnat:进来的时候改变目的地址(dnat),出去的时候改变源地址(un_dnat) 而所谓的回环,其实同时用到了snat和dnat,例如: src 192.168.1.2(client) ,dnat 10.14.11.177(firewall),dst 192.168.2.2(http server), 添加回环规则后,从src对10.14.11.177进行请求,然后转到dst,随后进行相反操作,最后src客户端收到源为10.14.11.177,目的为自身的数据包,因此会正确接收。过程如下: 1 首先pre,firewall进行目的地址的转换,开始: 192.168.1.2-》10.14.11.177 ,转换后:192.168.1.2 》192.168.2.2(pre) 2 然后post,firewall进行源地址的转换,到达真正的http server;post:192.168.1.2 》192.168.2.2,转换后:10.14.11.177(post)》192.168.2.2 3 dst进行请求回复,firewall进行pre的反操作,源地址的转换: 192.168.2.2》10.14.11.177,转换后:10.14.11.177(un_pre)》10.14.11.177 4 firewall 进行post的反操作,目的地址的转换:进入un_post:10.14.11.177》10.14.11.177,转换后:10.14.11.177》192.168.1.2(u_post)
以上是我的一些认识,有什么错误,请大家指正。