存档

‘网络工程师’ 分类的存档

对snat, dnat, 回环的一点认识

2017年1月19日 评论已被关闭

对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,进行目的地址的转换,开始192.168.1.2->10.14.11.177,转换后:192.168.1.2->192.168.2.2 (pre)
  2. 然后post,进行源地址的转换,到达真正的http server;post:192.168.1.2->192.168.2.2,转换后10.14.11.177 (post)->192.168.2.2
  3. dst进行请求回复,进行pre的反操作,进行源地址的转换:192.168.2.2->10.14.11.177,转换后:10.14.11.177(un_pre)->10.14.11.177
  4. 进行post的反操作,进行目的地址的转换:进入un_post:10.14.11.177 ->10.14.11.177 ,转换后:10.14.11.177 ->192.168.1.2 (un_post)
分类: 网络工程师 标签: ,